神经网络概述(BP推导)&CNN
神经网络
神经元模型
基本结构:
BP网络
三层神经网络的推导
-
标准的推导
-
符号说明:
- WlW^{l}Wl表示lll到l+1l+1l+1的权重矩阵,维数为:l+1l+1l+1的节点数×l\times l×l的节点数
- fff表示激活函数
- zlz^lzl表示的是lll层的输入ala^lal表示lll的输出(即经过了激活函数)
- 输入为一个样本(bbb个属性)
-
前向计算(以三层网络为例):
-
z(2)=W(1)x+b(1)z^{(2)}=W^{(1)}x+b^{(1)}z(2)=W(1)x+b(1)
-
a(2)=f(z(2))a^{(2)}=f(z^{(2)})a(2)=f(z(2))
-
z(3)=W(2)x+b(2)z^{(3)}=W^{(2)}x+b^{(2)}z(3)=W(2)x+b(2)
-
更加普遍的:
z(l+1)=W(l)a(l)+b(l)a(l+1)=f(z(l+1)) z^{(l+1)}=W^{(l)}a^{(l)}+b^{(l)}\\ a^{(l+1)}=f(z^{(l+1)}) z(l+1)=W(l)a(l)+b(l)a(l+1)=f(z(l+1)) -
假设损失函数为JJJ
-
-
反向(梯度计算:矩阵形式):
- 每一层的梯度:δ(l)=(W(l))Tδ(l+1)⨀f′(z(l))\delta^{(l)}=(W^{(l)})^T\delta^{(l+1)}\bigodot f'(z^{(l)})δ(l)=(W(l))Tδ(l+1)⨀f′(z(l))
- 每一层的权重的梯度:▽W(l)=δ(l+1)(a(l))T\bigtriangledown_{W^{(l)}}=\delta^{(l+1)}(a^{(l)})^T▽W(l)=δ(l+1)(a(l))T
- 每一层的偏置的梯度:▽b(l)=δ(l+1)\bigtriangledown_{b^{(l)}}=\delta^{(l+1)}▽b(l)=δ(l+1)
-
一些说明:
-
最外层(包括损失函数的要单独处理)
-
⨀\bigodot⨀之对应元素相乘
-
fff如果是对于每一个元素的操作,则对于内部的求导最终得到的矩阵维数不变。
f′([z1,z2,z3])=[f′(z1),f′(z2),f′(z3)]f^{'}([z^1,z^2,z^3])=[f^{'}(z^1),f^{'}(z^2),f^{'}(z^3)]f′([z1,z2,z3])=[f′(z1),f′(z2),f′(z3)]
-
如果原本前向计算的时候是:z(l+1)=(W(l))Ta(l)+b(l)z^{(l+1)}=(W^{(l)})^Ta^{(l)}+b^{(l)}z(l+1)=(W(l))Ta(l)+b(l)此时维数与开始相比是转置关系,同时最终求导得到的结果应该是整体转置。
-
-
一些推导(根据单个元素的计算)
- 对于lll层的iii个节点:δi(l)=(∑j=1sl+1Wji(l)δj(l+1))f′(zj(l))\delta_i^{(l)}=(\sum_{j=1}^{s_{l+1}}W_{ji}^{(l)}\delta_j^{(l+1)})f'(z_j^{(l)})δi(l)=(∑j=1sl+1Wji(l)δj(l+1))f′(zj(l))
- ∂J∂Wij(l)=δi(l+1)aj(l)\frac{\partial J}{\partial W_{ij}^{(l)}}=\delta_i^{(l+1)}a_j^{(l)}∂Wij(l)∂J=δi(l+1)aj(l)由此写出矩阵形式就是c.ii
-
学习算法流程:
卷积神经网络
基本结构
- 卷积
- 池化
- 全连接
卷积神经网络的计算
-
上面的动图展示了一个3×33 \times 33×3的核是如何操作的,实际上就是对应元素相乘再求和
-
一些理解:
-
实际上这里的滤波可以类比简单信号的高频低频滤波,实际上都是对某一特定的信号有较高/较低的输出。(同神经网络的激活)
-
一层一层的卷积实际上也是前面的实现低阶的特征,后面越来越高
-
在图像中
- rgb图中:width*height*depth(channel =3 some times)
- 因为需要图像保持不变性(一个图片中的特质出现在上面或者下面应该都能够识别)-卷积神经网络能够不同位置共享权重(如下图)
-
-
对于边缘的处理(希望能够保持和原本的图像数据一致):zero padding 操作:即在卷积之前先进行以0填充周围一圈。
-
计算说明:原尺寸n×nn \times nn×n卷积核f×ff \times ff×f 如果不进行填充,卷积后:n−f+1×n−f+1n-f+1 \times n-f+1n−f+1×n−f+1 若先填充ppp层则,卷积后 n+2p−f+1×n+2p−f+1n+2p-f+1 \times n+2p-f+1n+2p−f+1×n+2p−f+1只需满足p=f−12p=\frac{f-1}{2}p=2f−1即可使前后尺寸不变
-
valid卷积是不填充,same是填充(具体实现中)
-
多个filters时:提取多个特征(输出不再是depth=1)
-
pooling:
-