本人刚入门神经网络,边学习边总结,参考了很多大佬的博客和论文,整理出的自己思路的笔记,供入门的同学一起参考。其中可能有理解错误的地方,望指出
参考主要文献和博客-
通俗讲解什么叫卷积、池化
-
参考资料 -卷积神经网络研究综述-周飞燕
- [神经网络学习笔记]递归神经网络,即循环神经网络(Recurrent Neural Network,RNN)综述
- [神经网络学习笔记]长短期记忆模型(Long-Short Term Memory,LSTM)综述
- 深度置信网络(Deep Belief Network DBN)
- 层叠自动去噪编码机(Stacked Deoising Autoencodes,SDA)
- 卷积神经网络(Convolutional Neural Network,CNN)
- 是人工神经网络的基本处理单元,一般是多个输入,单个输出的单元,可以用一个函数来表示
yj = f(bj + ∑ i n ) \sum^n _i) ∑in)(xi* wij) )
- xi 表示输入信号
- wij表示输入信号 xi 与神经元 j 连接的权重值
- bj表示神经元的内部状态即偏置
- yj为神经元的输出
- f函数叫激励函数。可以理解为一个根据不同因素、以及各个因素的重要性程度而做决策的模型。可以把激活函数看作一种“分类的概率”。
- 还可以是线性纠正函数(rectified linear unit,ReLU),Sigmoid函数。tanh(x)函数,径向基函数。sigmoid/tanh比较常见于全连接层,后者relu常见于卷积层。
- sigmoid函数的功能是相当于把一个实数压缩至0到1之间。当z是非常大的正数时,g(z)会趋近于1,而z是非常小的负数时,则g(z)会趋近于0。比如激活函数的输出为0.9的话便可以解释为90%的概率为正样本。
- tanh(x)函数的功能是相当于把一个实数压缩至-1到1之间。
- 最初的神经网络模型MLP
- 组成:输入层、隐藏层、输出层
- 解决的是单层感知器不能解决的线性不可分问题、
-
定义:对图像矩阵和滤波矩阵做内积(逐个元素相乘再求和)
-
中间滤波器filter与数据窗口做内积,其具体计算过程则是:40 + 00 + 00 + 00 + 01 + 01 + 00 + 01 + -4*2 = -8
- CNN基本结构:输入层、卷积层、取样层、全连接层、输出层
- 本质:多个滤波器(卷积和)叠加便成了卷积层。
- 组成:多个特征面组成,每个特征面由多个神经元组成。
- 作用:通过卷积操作提取输入的不同特征
- 组成:多个特征面
- 作用:在语义上把相似的特征合并起来,取样层通过池化操作减少卷积层间的连接数量,神经元数量减少,使得特征对噪声和变形具有鲁棒性,降低了网络模型的计算量。
- 常用方法:针对局部接受域–最大池化(max-pooling)、均值池化(mean pooling)、随机池化(stachastic pooling)
- 原理:即取区域平均内的最大值或者均值
上图所展示的是取区域最大,即上图左边部分中 左上角2x2的矩阵中6最大,右上角2x2的矩阵中8最大,左下角2x2的矩阵中3最大,右下角2x2的矩阵中4最大,所以得到上图右边部分的结果:6 8 3 4
3.全连接层(也可称softmax layer)- 作用:每个神经元与其前一层进行全连接,将前期所提取的各种局部特征综合起来,最后通过输出层得到每个类别的后验概率。
- 第一步数据输入层:对数据处理,比如去均值、归一化…
- 第二步卷积+池化层: 通过卷积操作提取输入的不同特;通过池化操作减少卷积层间的连接数量,神经元数量减少,使得特征对噪声和变形具有鲁棒性,降低了网络模型的计算量。
- 第三步全连接层:每个神经元与其前一层进行全连接,将前期所提取的各种局部特征综合起来,最后通过输出层得到每个类别的后验概率。
- 层数(深度)
- 特征面的数目
- 网络组织
- 优点:
- 与传统的MLP相比,CNN中卷积层的权值共享使网络中可训练的参数边少,降低了网络模型复杂度,较少过拟合,从而获得一个更好的泛化能力。
- CNN结构中使用池化操作使得模型中的神经元个数大大的减少,对输入空间的平移不变行也更有鲁棒性
- CNN结构的拓展性很强,它可以采用很深的层数,深度模型具有更强的表达能力,能够处理更复杂的分类问题
- CNN的局部连接、权值共享和池化操作比传统的MLP具有更少的连接和参数,更易于训练。
- 汇报CNN+RNN+LSTM神经网络模型介绍PPT