最近复习了一下基础知识,看到MLP的结构,关于隐藏层和神经元有了新的一些理解。


隐藏层的意义

要说明隐藏层的意义,需要从两个方面理解,一个是单个隐藏层的意义,一个是多层隐藏层的意义

单个隐藏层的意义

隐藏层的意义就是把输入数据的特征,抽象到另一个维度空间,来展现其更抽象化的特征,这些特征能更好的进行线性划分。

举个栗子,MNIST分类。
输出图片经过隐藏层加工, 变成另一种特征代表 (3个神经元输出3个特征), 将这3个特征可视化出来。就有了下面这张图, 我们发现中间的隐藏层对于"1"的图片数据有了清晰的认识,能将"1"的特征区分开来。

多个隐藏层的意义

多个隐藏层其实是对输入特征多层次的抽象,最终的目的就是为了更好的线性划分不同类型的数据(隐藏层的作用)

怎么理解这句话呢,举个有趣的例子,如下图所示。

我们的输入特征是:身高、体重、胸围、腿长、脸长等等一些外貌特征,输出是三个类:帅气如彭于晏,帅气如我,路人。
那么隐藏层H1中,身高体重腿长这些特征,在H1中表达的特征就是身材匀称程度,胸围,腰围,臀围这些可能表达的特征是身材如何,脸长和其他的一些长表达的特征就是五官协调程度。
那么把这些特征,再输入到H2中,H2中的神经元可能就是在划分帅气程度,身材好坏了,然后根据这些结果,分出了三个类。
很遗憾,帅气程度略输彭于晏一筹。

那么,是不是隐藏层约多就越好呢,可以特征划分的更清楚啊?
理论上是这样的,但实际这样会带来两个问题

  1. 层数越多参数会爆炸式增多
  2. 到了一定层数,再往深了加隐藏层,分类效果的增强会越来越不明显。上面那个例子,两层足以划分人是有多帅,再加几层是要得到什么特征呢?这些特征对划分没有什么提升了。

神经元的意义

现在终于彻底明白为什么西瓜书、花书讲神经网络之前要讲logistic regression了。就是所谓的感知器的意义。

我现在把一个神经元(感知器)的作用理解成为一种线性划分方式。
一个决策边界,一个神经元,就是线性划分,多个神经元,就是多个线性划分,而多个线性划分就是不断在逼近决策边界。可以把这个过程想象成积分过程。

一个决策边界就是又多个线性划分组成的。

那么如果神经元数量很多很多,这就导致会有很多个线性划分,决策边界就越扭曲,基本上就是过拟合了。

换一个角度来说神经元,把它理解为学习到一种东西的物体,如果这种物体越多,学到的东西就越来越像样本,也就是过拟合。


对于其他深度学习的网络来说,CNN,RNN其实是一个道理,filter层不也是找到更抽象的特征吗。LSTM增加forget gate,就不是为了让神经元不要学得太像而得到的。

原文:https://blog.csdn.net/chinwuforwork/article/details/84141078

关于神经网络中隐藏层和神经元的深入理解相关推荐

  1. python 神经网络中隐藏层的作用是什么?

    引用文章1: hidden layer隐藏层的自我理解 https://blog.csdn.net/c45449210/article/details/82957455 引用文章2: 对隐藏层的简单理 ...

  2. 神经网络中隐藏层的作用,深度神经网络隐藏层数

    神经网络隐藏层是什么 一个神经网络包括有多个神经元"层",输入层.隐藏层及输出层.输入层负责接收输入及分发到隐藏层(因为用户看不见这些层,所以见做隐藏层). 这些隐藏层负责所需的计 ...

  3. 神经网络中隐藏层为什么需要使用激活函数?

    如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,即W = W3*[W2*(W1*x)]. 如果隐藏层不使用激活函数,仅在输出层使用sigmoid函数, ...

  4. 在神经网络中隐藏神经网络: On Hiding Neural Networks Inside Neural Networks

    On Hiding Neural Networks Inside Neural Networks https://arxiv.org/abs/2002.10078v3 本文提出了一种新颖的隐写方式,在 ...

  5. 深入学习卷积神经网络中卷积层和池化层的意义(转)

    为什么要使用卷积呢? 在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量:需要人工设计特征,然后将这些特征计算的值组成特征向量,在过去几十年的经验来看,人工找到的特征并不是怎么好用 ...

  6. 神经网络中BN层的原理与作用

    BN层介绍 BN,全称Batch Normalization,是2015年提出的一种方法,在进行深度网络训练时,大都会采取这种算法. 原文链接:Batch Normalization: Acceler ...

  7. 卷积神经网络中卷积层和池化层的作用

    假如有一幅1000*1000的图像,如果把整幅图像作为向量,则向量的长度为1000000(10610^6106).在假如隐含层神经元的个数和输入一样,也是1000000:那么,输入层到隐含层的参数数据 ...

  8. 深入学习卷积神经网络中卷积层和池化层的意义

    为什么要使用卷积呢? 在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量:需要人工设计特征,然后将这些特征计算的值组成特征向量,在过去几十年的经验来看,人工找到的特征并不是怎么好用 ...

  9. 对卷积神经网络中卷积层、激活层、池化层、全连接层的理解

    文章目录 卷积神经网络 输入层 卷积层 激励层 池化层 全连接层 卷积神经网络 举一个卷积神经网络识别汽车的例子如下: 其中数据输入的是一张图片(输入层),CONV表示卷积层,RELU表示激励层,PO ...

  10. 第一次,人类在人工神经网络中发现了“真”神经元

    来源:学术头条 本文经授权转载自机器之心(almosthuman2014) OpenAI 的研究者们在人工神经网络 CLIP 上发现了「真」神经元,这种机制解释了 AI 模型对令人惊讶的视觉呈现进行分 ...

最新文章

  1. 第十六届全国大学智能汽车竞赛竞速比赛规则
  2. SpringBoot 45个注解
  3. 跨计算机建立视图_计算机二级office
  4. python获取最近N天工作日列表、节假日列表
  5. 7.组件连线(贝塞尔曲线)--从零起步实现基于Html5的WEB设计器Jquery插件(含源码)...
  6. 【CodeForces - 227C】Flying Saucer Segments (思维)
  7. java事件绑定,Java编程GUI中的事件绑定代码示例
  8. 做自己的二维码设计大神
  9. Lync Server 2013企业版部署系列之三:CA准备
  10. 飞龙的程序员书单 – 编程语言
  11. 赋值语句、变量、数学表达式、位运算详解(C++)
  12. Problem A: 时间类的拷贝和整体读写
  13. Java课程设计-学生成绩管理系统
  14. 实验01 使用网络协议分析仪Wireshark分析数据链路层帧结构实验报告
  15. python|jupyter notebook|绘制散点图、折线图
  16. wordpress 上传图片时提示“无法建立目录wp-content/uploads/2019/03。有没有上级目录的写权限?
  17. 百度程序员猝死 是否过劳死引发争论
  18. VS2019企业版密钥
  19. 【转】谢帅同学做的——柔软的canvas时钟
  20. 数显电接点压力表与指针电接点压力表的区别

热门文章

  1. 彻底禁止电脑弹出广告的方法(以2345好压为例)
  2. 目标检测学习笔记——使用wandb
  3. 初创公司怎么设置股权结构?
  4. 美国信息互换标准代码 ASCⅡ
  5. PHP处理微信昵称特殊符号过滤方法
  6. CSS transform属性+js requestAnimationFrame函数实现旋转方块以及调整转动速度
  7. 团队沟通:为何如此重要以及如何改
  8. c语言课程实验总结报告,c语言实验总结报告.doc
  9. (转载)SoftIce的安装、配置以及一些基本操作
  10. 【短道速滑四】Halcon的texture_laws算子自我研究