关于神经网络中隐藏层和神经元的深入理解
最近复习了一下基础知识,看到MLP的结构,关于隐藏层和神经元有了新的一些理解。
隐藏层的意义
要说明隐藏层的意义,需要从两个方面理解,一个是单个隐藏层的意义,一个是多层隐藏层的意义。
单个隐藏层的意义
隐藏层的意义就是把输入数据的特征,抽象到另一个维度空间,来展现其更抽象化的特征,这些特征能更好的进行线性划分。
举个栗子,MNIST分类。
输出图片经过隐藏层加工, 变成另一种特征代表 (3个神经元输出3个特征), 将这3个特征可视化出来。就有了下面这张图, 我们发现中间的隐藏层对于"1"的图片数据有了清晰的认识,能将"1"的特征区分开来。
多个隐藏层的意义
多个隐藏层其实是对输入特征多层次的抽象,最终的目的就是为了更好的线性划分不同类型的数据(隐藏层的作用)。
怎么理解这句话呢,举个有趣的例子,如下图所示。
我们的输入特征是:身高、体重、胸围、腿长、脸长等等一些外貌特征,输出是三个类:帅气如彭于晏,帅气如我,路人。
那么隐藏层H1中,身高体重腿长这些特征,在H1中表达的特征就是身材匀称程度,胸围,腰围,臀围这些可能表达的特征是身材如何,脸长和其他的一些长表达的特征就是五官协调程度。
那么把这些特征,再输入到H2中,H2中的神经元可能就是在划分帅气程度,身材好坏了,然后根据这些结果,分出了三个类。
很遗憾,帅气程度略输彭于晏一筹。
那么,是不是隐藏层约多就越好呢,可以特征划分的更清楚啊?
理论上是这样的,但实际这样会带来两个问题
- 层数越多参数会爆炸式增多
- 到了一定层数,再往深了加隐藏层,分类效果的增强会越来越不明显。上面那个例子,两层足以划分人是有多帅,再加几层是要得到什么特征呢?这些特征对划分没有什么提升了。
神经元的意义
现在终于彻底明白为什么西瓜书、花书讲神经网络之前要讲logistic regression了。就是所谓的感知器的意义。
我现在把一个神经元(感知器)的作用理解成为一种线性划分方式。
一个决策边界,一个神经元,就是线性划分,多个神经元,就是多个线性划分,而多个线性划分就是不断在逼近决策边界。可以把这个过程想象成积分过程。
一个决策边界就是又多个线性划分组成的。
那么如果神经元数量很多很多,这就导致会有很多个线性划分,决策边界就越扭曲,基本上就是过拟合了。
换一个角度来说神经元,把它理解为学习到一种东西的物体,如果这种物体越多,学到的东西就越来越像样本,也就是过拟合。
对于其他深度学习的网络来说,CNN,RNN其实是一个道理,filter层不也是找到更抽象的特征吗。LSTM增加forget gate,就不是为了让神经元不要学得太像而得到的。
原文:https://blog.csdn.net/chinwuforwork/article/details/84141078
关于神经网络中隐藏层和神经元的深入理解相关推荐
- python 神经网络中隐藏层的作用是什么?
引用文章1: hidden layer隐藏层的自我理解 https://blog.csdn.net/c45449210/article/details/82957455 引用文章2: 对隐藏层的简单理 ...
- 神经网络中隐藏层的作用,深度神经网络隐藏层数
神经网络隐藏层是什么 一个神经网络包括有多个神经元"层",输入层.隐藏层及输出层.输入层负责接收输入及分发到隐藏层(因为用户看不见这些层,所以见做隐藏层). 这些隐藏层负责所需的计 ...
- 神经网络中隐藏层为什么需要使用激活函数?
如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,即W = W3*[W2*(W1*x)]. 如果隐藏层不使用激活函数,仅在输出层使用sigmoid函数, ...
- 在神经网络中隐藏神经网络: On Hiding Neural Networks Inside Neural Networks
On Hiding Neural Networks Inside Neural Networks https://arxiv.org/abs/2002.10078v3 本文提出了一种新颖的隐写方式,在 ...
- 深入学习卷积神经网络中卷积层和池化层的意义(转)
为什么要使用卷积呢? 在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量:需要人工设计特征,然后将这些特征计算的值组成特征向量,在过去几十年的经验来看,人工找到的特征并不是怎么好用 ...
- 神经网络中BN层的原理与作用
BN层介绍 BN,全称Batch Normalization,是2015年提出的一种方法,在进行深度网络训练时,大都会采取这种算法. 原文链接:Batch Normalization: Acceler ...
- 卷积神经网络中卷积层和池化层的作用
假如有一幅1000*1000的图像,如果把整幅图像作为向量,则向量的长度为1000000(10610^6106).在假如隐含层神经元的个数和输入一样,也是1000000:那么,输入层到隐含层的参数数据 ...
- 深入学习卷积神经网络中卷积层和池化层的意义
为什么要使用卷积呢? 在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量:需要人工设计特征,然后将这些特征计算的值组成特征向量,在过去几十年的经验来看,人工找到的特征并不是怎么好用 ...
- 对卷积神经网络中卷积层、激活层、池化层、全连接层的理解
文章目录 卷积神经网络 输入层 卷积层 激励层 池化层 全连接层 卷积神经网络 举一个卷积神经网络识别汽车的例子如下: 其中数据输入的是一张图片(输入层),CONV表示卷积层,RELU表示激励层,PO ...
- 第一次,人类在人工神经网络中发现了“真”神经元
来源:学术头条 本文经授权转载自机器之心(almosthuman2014) OpenAI 的研究者们在人工神经网络 CLIP 上发现了「真」神经元,这种机制解释了 AI 模型对令人惊讶的视觉呈现进行分 ...
最新文章
- 第十六届全国大学智能汽车竞赛竞速比赛规则
- SpringBoot 45个注解
- 跨计算机建立视图_计算机二级office
- python获取最近N天工作日列表、节假日列表
- 7.组件连线(贝塞尔曲线)--从零起步实现基于Html5的WEB设计器Jquery插件(含源码)...
- 【CodeForces - 227C】Flying Saucer Segments (思维)
- java事件绑定,Java编程GUI中的事件绑定代码示例
- 做自己的二维码设计大神
- Lync Server 2013企业版部署系列之三:CA准备
- 飞龙的程序员书单 – 编程语言
- 赋值语句、变量、数学表达式、位运算详解(C++)
- Problem A: 时间类的拷贝和整体读写
- Java课程设计-学生成绩管理系统
- 实验01 使用网络协议分析仪Wireshark分析数据链路层帧结构实验报告
- python|jupyter notebook|绘制散点图、折线图
- wordpress 上传图片时提示“无法建立目录wp-content/uploads/2019/03。有没有上级目录的写权限?
- 百度程序员猝死 是否过劳死引发争论
- VS2019企业版密钥
- 【转】谢帅同学做的——柔软的canvas时钟
- 数显电接点压力表与指针电接点压力表的区别