当前位置: 首页 > news >正文

怎样做科普视频网站现在还有做静态网站的

怎样做科普视频网站,现在还有做静态网站的,门户网站模版,小程序开发平台软件文章目录 1.2 卷积神经网络1.2.1 卷积一维卷积近似微分低通滤波器/高通滤波器卷积变种 二维卷积卷积的核心就是翻转相乘卷积应用于图像处理 互相关互相关代替卷积 卷积与互相关的交换性 1.2.2 卷积神经网络卷积代替全连接卷积层特征映射卷积层结构参数数量 汇聚层(池化层)汇聚层… 文章目录 1.2 卷积神经网络1.2.1 卷积一维卷积近似微分低通滤波器/高通滤波器卷积变种 二维卷积卷积的核心就是翻转相乘卷积应用于图像处理 互相关互相关代替卷积 卷积与互相关的交换性 1.2.2 卷积神经网络卷积代替全连接卷积层特征映射卷积层结构参数数量 汇聚层(池化层)汇聚层区域划分汇聚 卷积神经网络的整体结构 1.2.3 参数学习参数求解目标卷积求导误差项求解池化层误差项求解 1.2.4 典型卷积神经网络LeNet-5 C 1 C_1 C1​ 层是卷积层 S 2 S_2 S2​ 层为汇聚层 C 3 C_3 C3​ 层为卷积层 S 4 S_4 S4​ 层为汇聚层 C 5 C_5 C5​ 层为卷积层 F 6 F_6 F6​ 层为全连接层输出层 AlexNet第一个卷积层第一个汇聚层第二个卷积层第二个汇聚层第三个卷积层第四个卷积层第五个卷积层第三个汇聚层三个全连接层输出层 Softmax Inception网络Inception模块 1 × 1 1\times 1 1×1 卷积核的作用Inception网络版本 残差网络ResNet(152层)残差单元 1.2.5 非标准卷积空洞卷积如何增加输出单元的感受野 反卷积转置卷积微步卷积 1.2.6 卷积神经网络应用AlphaGo目标检测RCN图像分割RCNN光学字符识别OCR应用于文本Ngram特征与卷积词到词向量 1.3 前馈神经网络分析 1.2 卷积神经网络 卷积神经网络Convolutional Neural NetworkCNN 或 ConvNet是一种具有局部连接、权重共享等特性的深层前馈神经网络。 感受野机制听觉、视觉等神经系统中的一些神经元只接受其所支配的刺激区域内的信号 一个视觉皮层的神经元的感受野指视网膜上的特定区域只有这个区域内的刺激才能激活该神经元 卷积神经网络 卷积层汇聚层全连接层 结构特性 局部连接 与全连接的前馈神经网络相比卷积神经网络的参数很少 权重共享 空间或时间上的次采样 1.2.1 卷积 是分析数学中的一种重要运算在信号处理或图像处理中经常使用一维或二维卷积 一维卷积 一维卷积常用于信号处理中用于计算信号的延迟累积 假设一个信号发生器每个时刻 t t t 产生一个信号 x t x_t xt​ 其信息的衰减率为 w k w_k wk​ 在 k − 1 k-1 k−1 个时间步长后信息变为原先的 w k w_k wk​ 倍 在时刻 t t t 收到的信号 y t y_t yt​ y t 1 × x t 1 2 x t − 1 1 4 x t − 2 w 1 x t w 2 x t − 1 w 3 x t − 2 ∑ k 1 3 w k x t − k 1 \begin{aligned} y_t1\times x_t\frac{1}{2}x_{t-1}\frac{1}{4}x_{t-2}\\ w_1x_tw_2x_{t-1}w_3x_{t-2}\\ \sum\limits_{k1}^3w_kx_{t-k1} \end{aligned} yt​​1×xt​21​xt−1​41​xt−2​w1​xt​w2​xt−1​w3​xt−2​k1∑3​wk​xt−k1​​ w i w_i wi​ 称为滤波器或卷积核假设滤波器的长度为 K K K 它和一个信号序列 x 1 , x 2 , ⋯ x_1,x_2,\cdots x1​,x2​,⋯ 的卷积为 y t ∑ k 1 K w k x t − k 1 y_t\sum\limits_{k1}^Kw_kx_{t-k1} yt​k1∑K​wk​xt−k1​ 一般情况下滤波器的长度 K K K 远小于信号序列 x x x 的长度 信号序列 x x x 和滤波器 w w w 的卷积定义为 y w ∗ x yw*x yw∗x 近似微分 当令滤波器 w [ 1 2 , 0 , − 1 2 ] w\left[\frac{1}{2},0,-\frac{1}{2}\right] w[21​,0,−21​] 时可以近似信号序列的一阶微分 x ′ ( t ) x ( t 1 ) − x ( t − 1 ) 2 x(t)\frac{x(t1)-x(t-1)}{2} x′(t)2x(t1)−x(t−1)​ f ′ ( x ) lim ⁡ ε → 0 f ( x ε ) − f ( x − ε ) 2 ε f(x)\lim\limits_{\varepsilon\rightarrow 0}\frac{f(x\varepsilon)-f(x-\varepsilon)}{2\varepsilon} f′(x)ε→0lim​2εf(xε)−f(x−ε)​ 二阶微分即当滤波器为 w [ 1 , − 2 , 1 ] w[1,-2,1] w[1,−2,1] 时可近似实现对信号序列的二阶微分 x ′ ′ ( t ) x ′ ( t ) − x ′ ( t − 1 ) t − ( t − 1 ) x ′ ( t ) − x ′ ( t − 1 ) x ( t 1 ) − x ( t ) ( t 1 ) − t − x ( t ) − x ( t − 1 ) t − ( t − 1 ) x ( t 1 ) − 2 x ( t ) x ( t − 1 ) \begin{aligned} x(t)\frac{x(t)-x(t-1)}{t-(t-1)}x(t)-x(t-1)\\ \frac{x(t1)-x(t)}{(t1)-t}-\frac{x(t)-x(t-1)}{t-(t-1)}\\ x(t1)-2x(t)x(t-1) \end{aligned} x′′(t)​t−(t−1)x′(t)−x′(t−1)​x′(t)−x′(t−1)(t1)−tx(t1)−x(t)​−t−(t−1)x(t)−x(t−1)​x(t1)−2x(t)x(t−1)​ 低通滤波器/高通滤波器 卷积变种 在卷积的标准定义基础上还可以引入卷积核的 滑动步长 (stride) 和 零填充(zero padding) 来增加卷积的多样性 步长S指卷积核在滑动时的时间间隔 增加步长减少输出长度 零填充在输入向量的两端补零 增加长度 假设卷积层的输入神经元个数为 M M M 卷积大小为 K K K 步长为 S S S 在输入两端分别补 P P P 个零那么该卷积的神经元数量为 M − K 2 P S 1 \frac{M-K2P}{S}1 SM−K2P​1 窄卷积 S 1 S1 S1 P 0 P0 P0 卷积后输出长度为 M − K 1 M-K1 M−K1等宽卷积 S 1 S1 S1 P K − 1 2 P\frac{K-1}{2} P2K−1​ 卷积后输出长度为 M M M宽卷积 S 1 S1 S1 P K − 1 PK-1 PK−1卷积后输出长度为 M K − 1 MK-1 MK−1 有K个窗格的滑动窗口在一个时间间隔后滑动S个数据 二维卷积 图像是二维结构需要将一维卷积进行扩展 给定一个图像 X ∈ R M × N X\in \R^{M\times N} X∈RM×N 和一个滤波器 W ∈ R U × V W\in\R^{U\times V} W∈RU×V 一般 U ≪ M , V ≪ N U\ll M,V\ll N U≪M,V≪N 其卷积为 y i j ∑ u 1 U ∑ v 1 V w u v X i − u 1 , j − v 1 , i ∈ [ U , M − U 1 ] , j ∈ [ V , N − V 1 ] y_{ij}\sum\limits_{u1}^U\sum\limits_{v1}^Vw_{uv}X_{i-u1,j-v1}\quad,i\in [U,M-U1],j\in [V,N-V1] yij​u1∑U​v1∑V​wuv​Xi−u1,j−v1​,i∈[U,M−U1],j∈[V,N−V1] y 35 ∑ u 1 3 ∑ v 1 3 w u v X 3 − u 1 , 5 − v 1 w 11 × X 35 w 33 × X 13 1 × 0 ( − 1 ) × 1 − 1 \begin{aligned} y_{35}\sum\limits_{u1}^3\sum\limits_{v1}^3w_{uv}X_{3-u1,5-v1}w_{11}\times X_{35}w_{33}\times X_{13}\\ 1\times0(-1)\times 1-1 \end{aligned} y35​​u1∑3​v1∑3​wuv​X3−u1,5−v1​w11​×X35​w33​×X13​1×0(−1)×1−1​ 卷积的核心就是翻转相乘 W ∗ X c o n v o l u t i o n i ∗ A h ∗ B g ∗ C f ∗ D e ∗ E d ∗ F c ∗ G b ∗ H a ∗ I W*X\xlongequal{convolution} i*Ah*Bg*Cf*De*Ed*Fc*Gb*Ha*I W∗Xconvolution i∗Ah∗Bg∗Cf∗De∗Ed∗Fc∗Gb∗Ha∗I 上下翻转左右翻转 相当于在一个平面内以 e e e 为中心旋转 18 0 ∘ 180^{\circ} 180∘ 再逐项相乘并求和 卷积应用于图像处理 卷积的功能是在一个图像或某种特征上滑动一个卷积核滤波器通过卷积操作得到一组新的特征——一种特征提取的方法 经过卷积操作后的结果称为 特征映射 常见滤波器 均值滤波 将当前位置的像素值设为滤波窗口中所有像素的平均值 w u v 1 U V w_{uv}\frac{1}{UV} wuv​UV1​ 高斯滤波器 用于对图像平滑去噪 边缘滤波器提取边缘特征 互相关 互相关是衡量两个序列相关性的函数通常用滑动窗口的点积计算来实现 一个图像 X ∈ R M × N X\in \R^{M\times N} X∈RM×N 和卷积核 W ∈ R U × V W\in \R^{U\times V} W∈RU×V 互相关为 y i j ∑ u 1 U ∑ v 1 V w u v X i u − 1 , j v − 1 y_{ij}\sum\limits_{u1}^U\sum\limits_{v1}^Vw_{uv}X_{iu-1,jv-1} yij​u1∑U​v1∑V​wuv​Xiu−1,jv−1​ 互相关——不翻转核的卷积 与卷积的区别在于卷积核是否翻转 Y W ⊗ X r o t 180 ( W ) ∗ X \begin{aligned} YW\otimes X\\ rot180(W)*X \end{aligned} Y​W⊗Xrot180(W)∗X​ 互相关代替卷积 在计算卷积过程中需要进行卷积核翻转 实际实现中一般会以互相关操作来代替卷积 在神经网络中卷积的目的就是进行特征抽取卷积核是否进行翻转和其特征抽取能力无关 当卷积核是可学习的参数时卷积和互相关在能力上是等价的 卷积与互相关的交换性 x ∗ y y ∗ x x*yy*x x∗yy∗x 二维图的宽卷积具有交换性 二维宽卷积二维图像 X ∈ R M × N X\in \R^{M\times N} X∈RM×N 和 二维卷积核 W ∈ R U × V W\in \R^{U\times V} W∈RU×V 对 X X X 进行零填充两端各补 U − 1 U-1 U−1 个零和 V − 1 V-1 V−1 个零得到全填充的图像 X ~ ∈ R ( M 2 U − 2 ) × ( N 2 V − 2 ) \tilde{X}\in \R^{(M2U-2)\times (N2V-2)} X~∈R(M2U−2)×(N2V−2) 图像 X X X 和卷积核 W W W 的宽卷积定义为 W ∗ ~ X Δ W ∗ X ~ W\tilde{*}X\overset{\Delta}{}W* \tilde{X} W∗~XΔW∗X~ 当输入信息和卷积核有固定长度时他们的宽卷积具有交换性 W ∗ X ~ X ~ ∗ W ⟺ W ∗ ~ X X ∗ ~ W W*\tilde{X}\tilde{X}*W\iff W\tilde{*}XX\tilde{*}W W∗X~X~∗W⟺W∗~XX∗~W 由于卷积与互相关运算的区别只有是否翻转卷积核相应的宽互相关也有交换性 r o t 180 ( W ) ⊗ ~ X r o t 180 ( X ) ⊗ ~ W rot180(W)\tilde{\otimes}Xrot180(X)\tilde{\otimes}W rot180(W)⊗~​Xrot180(X)⊗~​W 1.2.2 卷积神经网络 卷积代替全连接 在全连接网络中第 l l l 层有 M l M_l Ml​ 个神经元第 l − 1 l-1 l−1 层有 M l − 1 M_{l-1} Ml−1​ 个神经元连接边有 M l × M l − 1 M_l\times M_{l-1} Ml​×Ml−1​ 即权重矩阵 W ∈ R M l × M l − 1 W\in \R^{M_l\times M_{l-1}} W∈RMl​×Ml−1​ 当 M l M_l Ml​ 和 M l − 1 M_{l-1} Ml−1​ 都很大时权重矩阵的参数会很多训练的效率会非常低 采用卷积代替全连接第 l l l 层的净输入 z ( l ) z^{(l)} z(l) 为第 l − 1 l-1 l−1 层活性值 a ( l − 1 ) a^{(l-1)} a(l−1) 和卷积核 z ( l ) w ( l ) ⊗ a ( l − 1 ) b ( l ) z^{(l)}w^{(l)}\otimes a^{(l-1)}b^{(l)} z(l)w(l)⊗a(l−1)b(l) 局部连接在卷积层 (第 l l l 层) 中的每一个神经元只与前一层 (第 l − 1 l-1 l−1 层) 中的某个局部窗口内的神经元相连构成一个局部连接网络。 卷积层的数量大大减少由 M l × M l − 1 M_l\times M_{l-1} Ml​×Ml−1​ 个连接变为 M l × K M_l\times K Ml​×K 个连接 K K K 为卷积核大小 权重共享作为参数的卷积核 w ( l ) w^{(l)} w(l) 对于第 l l l 层的所有神经元都是相同的。可以为一个卷积核只捕捉输入数据中的一种特定的局部特征若提取不同特征需要使用不同的卷积核 由于局部连接与权重共享特性卷积层的参数只有一个 K K K 维的权重 w ( l ) w^{(l)} w(l) 和一维偏置 b ( l ) b^{(l)} b(l) 共 K 1 K1 K1 个参数 参数数量与神经元数量无关第 l l l 层神经元的个数满足 M l M l − 1 − K 1 M_lM_{l-1}-K1 Ml​Ml−1​−K1 卷积层 卷积层的作用是提取一个局部区域的特征不同的卷积核相当于不同的特征提取器 特征映射 特征映射 一幅图像在经过卷积提取到的特征每个特征映射可以作为一类抽取的图像特征 可在每一层使用多个不同的卷积核得到不同类的特征映射 在输入层特征映射就是图像本身 灰度图像只有一个特征映射输入层的深度 D 1 D1 D1彩色图像有RGB三个颜色通道的特征映射输入层的深度 D 3 D3 D3 通常将图像神经元组织为三维结构的神经层其大小为 高度 M × 宽度 N × 深度 D 高度M\times 宽度 N\times 深度D 高度M×宽度N×深度D 由 D D D 个 M × N M\times N M×N 大小的特征映射构成 卷积层结构 输入特征映射组 X ∈ R M × N × D \mathcal{X} \in \R^{M\times N\times D} X∈RM×N×D 为三维张量每个切片矩阵 X d ∈ R M × N , 1 ≤ d ≤ D X^d\in \R^{M\times N},1\le d\le D Xd∈RM×N,1≤d≤D 为一个输入特征的映射 输出特征映射组 Y ∈ R M ′ × N ′ × P \mathcal{Y}\in \R^{M\times N\times P} Y∈RM′×N′×P 为三维张量每个切片矩阵 Y p ∈ R M ′ × N , 1 ≤ p ≤ P Y^p\in \R^{M\times N},1\le p\le P Yp∈RM′×N,1≤p≤P 输入层与输出层的特征映射是全连接关系 即输出层的一个特征映射由下式得出 Z p ∑ d 1 D W p , d ⊗ X d b p W p ⊗ X b p Y p f ( Z p ) \begin{aligned} Z^p\sum\limits_{d1}^DW^{p,d}\otimes X^{d}b^pW^p\otimes Xb^p\\ Y^pf(Z^p) \end{aligned} ZpYp​d1∑D​Wp,d⊗XdbpWp⊗Xbpf(Zp)​ 其中 f ( ⋅ ) f(\cdot) f(⋅) 为非线性函数 卷积核 W ∈ R U × V × P × D \mathcal{W}\in \R^{U\times V\times P\times D} W∈RU×V×P×D 为四维张量其中每个切片矩阵 W p , d ∈ R U × V W^{p,d}\in \R^{U\times V} Wp,d∈RU×V 为一个二维卷积核 1 ≤ p ≤ P , 1 ≤ d ≤ D 1\le p\le P,1\le d\le D 1≤p≤P,1≤d≤D 相当于输出 Y p Y^p Yp 需要卷积核 W p W^p Wp 的 D D D 个分量逐个与 D D D 个输入 X d X^d Xd 卷积 图上画的是一次卷积过程实际上要得到蓝色的输出矩阵需要 D D D 次卷积运算所以输入特征应该是D个粉矩阵才对图有点问题 参数数量 每个输出特征映射都需要 D D D 个卷积核以及一个偏置假设每个卷积核大小为 U × V U\times V U×V 共需要 P × D × ( U × V ) P P\times D\times(U\times V)P P×D×(U×V)P 个参数 汇聚层(池化层) 卷积层可以显著减少网络中的连接数但对于输出层特征映射组中神经元数量的减少很少 一维卷积 M l M l − 1 − ( K − 1 ) M_lM_{l-1}-(K-1) Ml​Ml−1​−(K−1) 即只能减少 K − 1 K-1 K−1 个神经元 K K K 为卷积长度二维卷积卷积后有 [ M − ( U − 1 ) ] × [ N − ( V − 1 ) ] [M-(U-1)]\times[N-(V-1)] [M−(U−1)]×[N−(V−1)] 个神经元 汇聚层的作用就是减少神经元数量 汇聚层区域划分 假设汇聚层的输入特征映射组为 X ∈ R M ′ × N ′ × D \mathcal{X}\in\R^{M\times N\times D} X∈RM′×N′×D 对于其中每一个特征映射 X d ∈ R M ′ × N ′ , 1 ≤ d ≤ D X^d\in \R^{M\times N},1\le d\le D Xd∈RM′×N′,1≤d≤D 将其划分为多个小区域 R m , n d 1 ≤ m ≤ M ′ , 1 ≤ n ≤ N ′ R_{m,n}^d1\le m\le M,1\le n\le N Rm,nd​1≤m≤M′,1≤n≤N′ 这些区域可以重叠也可以不重叠 汇聚 汇聚 指对每个区域进行下采样得到一个值作为这个区域的概括 汇聚层也叫子采样层其作用是进行特征选择降低特征数量从而减少参数数量 最大汇聚对于一个区域 R m , n d R_{m,n}^d Rm,nd​ 选择这个区域内所有神经元的最大活性值作为这个区域的表示 y m , n d max ⁡ i ∈ R m , n d x i y_{m,n}^d\max\limits_{i\in R_{m,n}^d}x_i ym,nd​i∈Rm,nd​max​xi​ 平均汇聚取区域内所有神经元活性值的平均值即 y m , n d 1 ∣ R m , n d ∣ ∑ i ∈ R m , n d x i y_{m,n}^d\frac{1}{\vert R^d_{m,n}\vert}\sum\limits_{i\in R^d_{m,n}}x_i ym,nd​∣Rm,nd​∣1​i∈Rm,nd​∑​xi​ 汇聚层输出特征映射 Y d { y m , n d } , 1 ≤ m ≤ M ′ , 1 ≤ n ≤ N ′ Y^d\{y_{m,n}^d\},1\le m\le M,1\le n\le N Yd{ym,nd​},1≤m≤M′,1≤n≤N′ 目前主流的卷积网络仅包含 下采样 操作但在一些早期卷积网络LeNet-5有时也会在汇聚层使用非线性激活函数如 Y ′ d f ( w d Y d b d ) Y^{d}f(w^dY^db^d) Y′df(wdYdbd) 典型的汇聚层将每个特征映射划分为 2 × 2 2\times 2 2×2 大小的不重叠区域然后使用最大汇聚方式采样 汇聚层可以看做一个特殊的卷积层卷积核大小为 K × K K\times K K×K 步长为 S × S S\times S S×S 卷积核为 m a x max max 函数或 m e a n mean mean 函数 过大的采样区域会造成神经元数量减少也会造成较多的信息损失 卷积神经网络的整体结构 一个 卷积块 为连续 M M M 个卷积层和 b b b 个汇聚层组成( m 为 2 ∼ 5 m为2\sim 5 m为2∼5, b ∈ { 0 , 1 } b\in\{0,1\} b∈{0,1}) 一个卷积网络中可以堆叠 N N N 个连续的卷积块然后接 K K K 个全连接层 典型结构 小卷积大深度趋向于全卷积由于卷积操作越来越灵活不同的步长汇聚层的作用正在变小 1.2.3 参数学习 在卷积神经网络中主要有两种不同功能的神经层卷积层和汇聚层。参数为卷积核及偏置只需要计算卷积层中参数的梯度 参数求解目标 若第 l l l 层卷积层第 l − 1 l-1 l−1 层的输入特征映射为 X ( l − 1 ) ∈ R M × N × D \mathcal{X}^{(l-1)}\in \R^{M\times N\times D} X(l−1)∈RM×N×D 通过卷积计算得到第 l l l 层的特征映射净输入 Z ( l ) ∈ R M ′ × N ′ × P Z^{(l)}\in \R^{M\times N\times P} Z(l)∈RM′×N′×P 第 l l l 层的第 p p p 个特征映射净输入 Z ( l , p ) ∑ d 1 D W ( l , p , d ) ⊗ X ( l − 1 , d ) b ( l , p ) Y ( l , p ) f ( Z ( l , p ) ) \begin{aligned} Z^{(l,p)}\sum\limits_{d1}^D W^{(l,p,d)}\otimes X^{(l-1,d)}b^{(l,p)}\\ Y^{(l,p)}f(Z^{(l,p)}) \end{aligned} Z(l,p)Y(l,p)​d1∑D​W(l,p,d)⊗X(l−1,d)b(l,p)f(Z(l,p))​ 第 l l l 层共有 P × D P\times D P×D 个卷积核和 P P P 个偏置可以通过链式法则计算梯度 采用交叉熵损失函数 L ( Y ( l , p ) , Y ^ ( l , p ) ) − Y ( l , p ) log ⁡ Y ^ ( l , p ) \mathcal{L}(Y^{(l,p)},\hat{Y}^{(l,p)})-Y^{(l,p)}\log \hat{Y}^{(l,p)} L(Y(l,p),Y^(l,p))−Y(l,p)logY^(l,p) 若有 N N N 个训练数据则结构风险函数为 R ( W ( l , p , d ) , b ( l , p ) ) 1 N ∑ i 1 N L ( Y i ( l , p ) , Y ^ i ( l , p ) ) 1 2 λ ∥ W ( l , p , d ) ∥ F 2 \mathcal{R}(W^{(l,p,d)},b^{(l,p)})\frac{1}{N}\sum\limits_{i1}^N\mathcal{L}(Y_i^{(l,p)},\hat{Y}_i^{(l,p)})\frac{1}{2}\lambda\Vert W^{(l,p,d)}\Vert_F^2 R(W(l,p,d),b(l,p))N1​i1∑N​L(Yi(l,p)​,Y^i(l,p)​)21​λ∥W(l,p,d)∥F2​ 与全连接前馈神经网络类似参数学习核心为梯度的学习即求 ∂ L ∂ W ( l , p , d ) \frac{\partial \mathcal{L}}{\partial W^{(l,p,d)}} ∂W(l,p,d)∂L​ 与 ∂ L ∂ b ( l , p ) \frac{\partial \mathcal{L}}{\partial b^{(l,p)}} ∂b(l,p)∂L​ W ( l , p , d ) ← W ( l , p , d ) − α ∂ R ( W ( l , p , d ) , b ( l , p ) ) ∂ W ( l , p , d ) ← W ( l , p , d ) − α ( 1 N ∑ i 1 N ∂ L ( Y i ( l , p ) , Y ^ i ( l , p ) ) ∂ W ( l , p , d ) λ W ( l , p , d ) ) b ( l , p ) ← b ( l , p ) − α ∂ R ( W ( l , p , d ) , b ( l , p ) ) ∂ b ( l , p ) ← b ( l , p ) − α ( 1 N ∑ i 1 N ∂ L ( Y i ( l , p ) , Y ^ i ( l , p ) ) ∂ b ( l , p ) ) \begin{aligned} W^{(l,p,d)}\leftarrow W^{(l,p,d)}-\alpha\frac{\partial \mathcal{R}(W^{(l,p,d)},b^{(l,p)})}{\partial W^{(l,p,d)}}\\ \leftarrow W^{(l,p,d)}-\alpha\left(\frac{1}{N}\sum\limits_{i1}^N\frac{\partial \mathcal{L}(Y_i^{(l,p)},\hat{Y}_i^{(l,p)})}{\partial W^{(l,p,d)}}\lambda W^{(l,p,d)}\right)\\ b^{(l,p)}\leftarrow b^{(l,p)}-\alpha\frac{\partial \mathcal{R}(W^{(l,p,d)},b^{(l,p)})}{\partial b^{(l,p)}}\\ \leftarrow b^{(l,p)}-\alpha\left(\frac{1}{N}\sum\limits_{i1}^N\frac{\partial \mathcal{L}(Y_i^{(l,p)},\hat{Y}_i^{(l,p)})}{\partial b^{(l,p)}}\right) \end{aligned} W(l,p,d)b(l,p)​←W(l,p,d)−α∂W(l,p,d)∂R(W(l,p,d),b(l,p))​←W(l,p,d)−α(N1​i1∑N​∂W(l,p,d)∂L(Yi(l,p)​,Y^i(l,p)​)​λW(l,p,d))←b(l,p)−α∂b(l,p)∂R(W(l,p,d),b(l,p))​←b(l,p)−α(N1​i1∑N​∂b(l,p)∂L(Yi(l,p)​,Y^i(l,p)​)​)​ 卷积求导 假设 Z W ⊗ X ZW\otimes X ZW⊗X 其中 X ∈ R M × N X\in \R^{M\times N} X∈RM×N W ∈ R U × V W\in \R^{U\times V} W∈RU×V Z ∈ R ( M − U 1 ) × ( N − V 1 ) Z\in \R^{(M-U1)\times (N-V1)} Z∈R(M−U1)×(N−V1) 有函数 f ( Z ) ∈ R f(Z)\in \R f(Z)∈R 为标量 ∂ f ( Z ) ∂ w u v ∑ i 1 M − U 1 ∑ j 1 N − V 1 ∂ Z i j ∂ w u v ∂ f ( Z ) ∂ Z i j ∑ i 1 M − U 1 ∑ j 1 N − V 1 X i u − 1 , j v − 1 ∂ f ( Z ) ∂ Z i j ∑ i 1 M − U 1 ∑ j 1 N − V 1 ∂ f ( Z ) ∂ Z i j X i u − 1 , j v − 1 \begin{aligned} \frac{\partial f(Z)}{\partial w_{uv}}\sum\limits_{i1}^{M-U1}\sum\limits_{j1}^{N-V1}\frac{\partial Z_{ij}}{\partial w_{uv}}\frac{\partial f(Z)}{\partial Z_{ij}}\\ \sum\limits_{i1}^{M-U1}\sum\limits_{j1}^{N-V1}X_{iu-1,jv-1}\frac{\partial f(Z)}{\partial Z_{ij}}\\ \sum\limits_{i1}^{M-U1}\sum\limits_{j1}^{N-V1}\frac{\partial f(Z)}{\partial Z_{ij}}X_{iu-1,jv-1} \end{aligned} ∂wuv​∂f(Z)​​i1∑M−U1​j1∑N−V1​∂wuv​∂Zij​​∂Zij​∂f(Z)​i1∑M−U1​j1∑N−V1​Xiu−1,jv−1​∂Zij​∂f(Z)​i1∑M−U1​j1∑N−V1​∂Zij​∂f(Z)​Xiu−1,jv−1​​ 互相关结果的每个元素 Z i j Z_{ij} Zij​ 都与某一卷积核元素 w u v w_{uv} wuv​ 相关 Z i j ∑ u 1 U ∑ v 1 V w u v X i u − 1 , j v − 1 Z_{ij}\sum\limits_{u1}^U\sum\limits_{v1}^Vw_{uv}X_{iu-1,jv-1} Zij​u1∑U​v1∑V​wuv​Xiu−1,jv−1​ 所以对某一卷积核元素求偏导为所有输出元素对该元素求偏导的和 f ( Z ) f(Z) f(Z) 关于 W W W 的偏导数为 X X X 与 ∂ f ( Z ) ∂ Z \frac{\partial f(Z)}{\partial Z} ∂Z∂f(Z)​ 的卷积 ∂ f ( Z ) ∂ W ∂ f ( Z ) ∂ Z ⊗ X \frac{\partial f(Z)}{\partial W}\frac{\partial f(Z)}{\partial Z}\otimes X ∂W∂f(Z)​∂Z∂f(Z)​⊗X ∂ f ( Z ) ∂ X s t ∑ i 1 M − U 1 ∑ j 1 N − V 1 ∂ Z i j ∂ X s t ∂ f ( Z ) ∂ Z i j ∑ i 1 M − U 1 ∑ j 1 N − V 1 W s − i 1 , t − j 1 ∂ f ( Z ) ∂ Z i j \begin{aligned} \frac{\partial f(Z)}{\partial X_{st}}\sum\limits_{i1}^{M-U1}\sum\limits_{j1}^{N-V1}\frac{\partial Z_{ij}}{\partial X_{st}}\frac{\partial f(Z)}{\partial Z_{ij}}\\ \sum\limits_{i1}^{M-U1}\sum\limits_{j1}^{N-V1}W_{s-i1,t-j1}\frac{\partial f(Z)}{\partial Z_{ij}} \end{aligned} ∂Xst​∂f(Z)​​i1∑M−U1​j1∑N−V1​∂Xst​∂Zij​​∂Zij​∂f(Z)​i1∑M−U1​j1∑N−V1​Ws−i1,t−j1​∂Zij​∂f(Z)​​ 其中当 ( s − i 1 ) 1 (s-i1)1 (s−i1)1 或 ( s − i 1 ) U (s-i1)U (s−i1)U 或 ( t − j 1 ) 1 (t-j1)1 (t−j1)1 或 t − j 1 V t-j1V t−j1V 时 W s − i 1 , t − j 1 0 W_{s-i1,t-j1}0 Ws−i1,t−j1​0 即相当于对 W W W 进行了 P ( M − u , N − V ) P(M-u,N-V) P(M−u,N−V) 的零填充 f ( Z ) f(Z) f(Z) 关于 X X X 的偏导数为 W W W 和 ∂ f ( Z ) ∂ Z \frac{\partial f(Z)}{\partial Z} ∂Z∂f(Z)​ 的宽卷积 ∂ f ( Z ) ∂ X r o t 180 ( ∂ f ( Z ) ∂ Z ) ⊗ ~ W r o t 180 ( W ) ⊗ ~ ∂ f ( Z ) ∂ Z \begin{aligned} \frac{\partial f(Z)}{\partial X}rot180(\frac{\partial f(Z)}{\partial Z})\tilde{\otimes}W\\ rot180(W)\tilde{\otimes}\frac{\partial f(Z)}{\partial Z} \end{aligned} ∂X∂f(Z)​​rot180(∂Z∂f(Z)​)⊗~​Wrot180(W)⊗~​∂Z∂f(Z)​​ 误差项求解 根据卷积求导公式有 ∂ L ∂ W ( l , p , d ) ∂ L ∂ Z ( l , p ) ⊗ X ( l − 1 , d ) δ ( l , p ) ⊗ X ( l − 1 , d ) ∂ L ∂ b ( l , p ) ∂ L ∂ Z ( l , p ) ⋅ ∂ Z ( l , p ) ∂ b ( l , p ) δ ( l , p ) \begin{aligned} \frac{\partial \mathcal{L}}{\partial W^{(l,p,d)}}\frac{\partial \mathcal{L}}{\partial Z^{(l,p)}}\otimes X^{(l-1,d)}\\ \delta^{(l,p)}\otimes X^{(l-1,d)}\\ \frac{\partial \mathcal{L}}{\partial b^{(l,p)}}\frac{\partial \mathcal{L}}{\partial Z^{(l,p)}}\cdot \frac{\partial Z^{(l,p)}}{\partial b^{(l,p)}}\\ \delta^{(l,p)} \end{aligned} ∂W(l,p,d)∂L​∂b(l,p)∂L​​∂Z(l,p)∂L​⊗X(l−1,d)δ(l,p)⊗X(l−1,d)∂Z(l,p)∂L​⋅∂b(l,p)∂Z(l,p)​δ(l,p)​ 即在卷积网络中第 l l l 层参数依赖其所在层的误差项 δ ( l , p ) \delta^{(l,p)} δ(l,p) δ ( l , p ) Δ ∂ L ∂ Z ( l , p ) ∂ X ( l , p ) ∂ Z ( l , p ) ∂ L ∂ X ( l , p ) f l ′ ( Z ( l , p ) ) ⊙ ∑ t 1 P ( r o t 180 ( W ( l 1 , t , p ) ) ⊗ ~ ∂ L ∂ Z ( l 1 , t ) ) f l ′ ( Z ( l , p ) ) ⊙ ∑ t 1 P ( r o t 180 ( W ( l 1 , t , p ) ) ⊗ ~ δ ( l 1 , t ) ) \begin{aligned} \delta^{(l,p)}\overset{\Delta}{}\frac{\partial \mathcal{L}}{\partial Z^{(l,p)}}\\ \frac{\partial X^{(l,p)}}{\partial Z^{(l,p)}}\frac{\partial \mathcal{L}}{\partial X^{(l,p)}}\\ f_l(Z^{(l,p)})\odot\sum\limits_{t1}^P\left( rot180(W^{(l1,t,p)})\tilde{\otimes}\frac{\partial \mathcal{L}}{\partial Z^{(l1,t)}}\right)\\ f_l(Z^{(l,p)})\odot\sum\limits_{t1}^P\left( rot180(W^{(l1,t,p)})\tilde{\otimes}\delta^{(l1,t)}\right) \end{aligned} δ(l,p)​Δ∂Z(l,p)∂L​∂Z(l,p)∂X(l,p)​∂X(l,p)∂L​fl′​(Z(l,p))⊙t1∑P​(rot180(W(l1,t,p))⊗~​∂Z(l1,t)∂L​)fl′​(Z(l,p))⊙t1∑P​(rot180(W(l1,t,p))⊗~​δ(l1,t))​ 由于第 l 1 l1 l1 层的输入 X ( l , p ) X^{(l,p)} X(l,p) 为第 l l l 层的活性值 Y ( l , p ) f l ( Z ( l , p ) ) Y^{(l,p)}f_l(Z^{(l,p)}) Y(l,p)fl​(Z(l,p)) 即有 D ( l 1 ) P ( l ) D^{(l1)}P^{(l)} D(l1)P(l) 故 ∂ X ( l , p ) ∂ Z ( l , p ) ∂ f l ( Z ( l , p ) ) ∂ Z ( l , p ) f l ′ ( Z ( l , p ) ) \frac{\partial X^{(l,p)}}{\partial Z^{(l,p)}}\frac{\partial f_l(Z^{(l,p)})}{\partial Z^{(l,p)}}f_l(Z^{(l,p)}) ∂Z(l,p)∂X(l,p)​∂Z(l,p)∂fl​(Z(l,p))​fl′​(Z(l,p)) 而第 l 1 l1 l1 层 Z ( l 1 , p ) ∑ d 1 D W ( l 1 , p , d ) ⊗ X ( l , d ) b ( l 1 , p ) Z^{(l1,p)}\sum\limits_{d1}^DW^{(l1,p,d)}\otimes X^{(l,d)}b^{(l1,p)} Z(l1,p)d1∑D​W(l1,p,d)⊗X(l,d)b(l1,p) 由于第 l 1 l1 l1 层的输入个数 D ( l 1 ) D^{(l1)} D(l1) 为第 l l l 层的输出个数 P ( l ) P^{(l)} P(l) 所以相当于 X ( l 1 ) X^{(l1)} X(l1) 为 P ( l ) P^{(l)} P(l) 维向量对其求偏导为 ∂ L ∂ X ( l , p ) ∑ t 1 P r o t 180 ( W ( l 1 , t , p ) ) ⊗ ~ L ∂ Z ( l 1 , t ) \frac{\partial \mathcal{L}}{\partial X^{(l,p)}}\sum\limits_{t1}^Prot180\left(W^{(l1,t,p)}\right)\tilde{\otimes}\frac{\mathcal{L}}{\partial Z^{(l1,t)}} ∂X(l,p)∂L​t1∑P​rot180(W(l1,t,p))⊗~​∂Z(l1,t)L​ 池化层误差项求解 当第 l 1 l1 l1 层是汇聚层时因为汇聚层是下采样操作 l 1 l1 l1 层的误差项 δ \delta δ 对应于第 l l l 层的相应特征映射的一个区域 l l l 层的第 p p p 个特征映射中的每个神经元都有一条边和 l 1 l1 l1 层的第 p p p 个特征映射中的一个神经元相连 第 l l l 层第 p p p 个特征映射的误差项 δ ( l , p ) \delta^{(l,p)} δ(l,p) 的具体推导为 δ ( l , p ) Δ ∂ L ∂ Z ( l , p ) ∂ X ( l , p ) ∂ Z ( l , p ) ∂ Z ( l 1 , p ) ∂ X ( l , p ) L ∂ Z ( l 1 , p ) f l ′ ( Z ( l , p ) ) ⊙ u p ( δ ( l 1 , p ) ) \begin{aligned} \delta^{(l,p)}\overset{\Delta}{}\frac{\partial \mathcal{L}}{\partial Z^{(l,p)}}\\ \frac{\partial X^{(l,p)}}{\partial Z^{(l,p)}}\frac{\partial Z^{(l1,p)}}{\partial X^{(l,p)}}\frac{\mathcal{L}}{\partial Z^{(l1,p)}}\\ f_l(Z^{(l,p)})\odot up(\delta^{(l1,p)}) \end{aligned} δ(l,p)​Δ∂Z(l,p)∂L​∂Z(l,p)∂X(l,p)​∂X(l,p)∂Z(l1,p)​∂Z(l1,p)L​fl′​(Z(l,p))⊙up(δ(l1,p))​ u p up up 为上采样函数与汇聚层的下采样操作相反 若下采样是最大汇聚则 δ ( l 1 , p ) \delta^{(l1,p)} δ(l1,p) 中每个值会直接传递到前一层对应区域中的最大值对应的神经元该区域中其他神经元设为0 若下采样是平均汇聚则误差项 δ ( l 1 , p ) \delta^{(l1,p)} δ(l1,p) 中每个值被平均分配到前一层对应区域的所有神经元上 1.2.4 典型卷积神经网络 LeNet-5 基于 LeNet-5 的手写数字识别系统在20世纪90年代被美国很多银行使用 LeNet-5 共有7层接受输入图像大小为 32 × 32 1024 32\times 321024 32×321024 输出对应10个类别的划分 C 1 C_1 C1​ 层是卷积层 C 1 C_1 C1​ 层是卷积层使用 6 6 6 个 5 × 5 5\times 5 5×5 的卷积核得到 ( 32 − 5 1 ) × ( 32 − 5 1 ) 28 × 28 784 (32-51)\times(32-51)28\times 28784 (32−51)×(32−51)28×28784 的特征映射因此 C 1 C_1 C1​ 层的神经元数量为 6 × 784 4704 6\times 7844704 6×7844704 可训练的参数数量为 6 × 5 × 5 6 156 6\times 5\times 56156 6×5×56156 连接数为 784 × 156 122304 784\times 156122304 784×156122304 个 S 2 S_2 S2​ 层为汇聚层 采样窗口为 2 × 2 2\times 2 2×2 使用平均汇聚并使用一个非线性函数 Y ′ d f ( w d Y d b d ) Y^df(w^dY^db^d) Y′df(wdYdbd) 。神经元个数为 6 × 14 × 14 1176 6\times 14\times141176 6×14×141176 可训练参数数量为 6 × ( 1 1 ) 12 6\times (11)12 6×(11)12连接数为 156 × 14 × 14 × ( 4 1 ) 5880 156\times 14\times 14\times(41)5880 156×14×14×(41)5880 偏置也算一个连接 C 3 C_3 C3​ 层为卷积层 LeNet-5 中用连接表定于会输入和输出特征映射间的依赖关系 由于输入和输出特征映射之间不一定需要全连接关系 Y ^ ( l , p ) f ( ∑ d 1 D W ( l , p , d ) ⊗ X ( l − 1 , d ) b ( l , p ) ) \hat{Y}^{(l,p)}f\left(\sum\limits_{d1}^DW^{^{(l,p,d)}}\otimes X^{(l-1,d)}b^{(l,p)}\right) Y^(l,p)f(d1∑D​W(l,p,d)⊗X(l−1,d)b(l,p)) 连接表 T 用于描述输入和输出特征映射之间的连接关系 C 3 C_3 C3​ 层的第 0 ∼ 5 0\sim 5 0∼5 个特征映射依赖于 S 2 S_2 S2​ 层的每3个连续子集第 6 ∼ 11 6\sim 11 6∼11 个特征映射依赖于 S 2 S_2 S2​ 层的每4个连续子集第 12 ∼ 14 12\sim 14 12∼14 个特征映射依赖于 S 2 S_2 S2​ 层的每4个不连续子集第 15 15 15 个特征映射依赖于 S 2 S_2 S2​ 层的所有特征映射 第 p p p 个输出特征映射依赖于第 d d d 个输入特征映射则 T p , d 1 T_{p,d}1 Tp,d​1 否则为0此时有卷积表达式 Y ^ ( l , p ) f ( ∑ d 1 T p , d 1 D W ( l , p , d ) ⊗ X l − 1 , d b ( l , p ) ) \hat{Y}^{(l,p)}f\left(\sum\limits_{\substack{d1\\T_{p,d}1}}^DW^{(l,p,d)\otimes X^{l-1,d}}b^{(l,p)}\right) Y^(l,p)f ​d1Tp,d​1​∑D​W(l,p,d)⊗Xl−1,db(l,p) ​ 其中T 为 P × D P\times D P×D 大小的连接表假设连接表中非零个数为 T T T 则每个卷积核的大小为 T × U × V T\times U\times V T×U×V 共需 T × U × V P T\times U\times VP T×U×VP 个参数 对于 C 3 C_3 C3​ 层共使用 60 60 60 个 5 × 5 5\times 5 5×5 的卷积核得到 16 16 16 组大小为 ( 14 − 5 1 ) × ( 14 − 5 1 ) 15 × 15 (14-51)\times (14-51)15\times 15 (14−51)×(14−51)15×15 的特征映射神经元数量为 16 × 100 1600 16\times 1001600 16×1001600 可训练参数数量为 ( 60 × 25 ) 16 1516 (60\times 25)161516 (60×25)161516 连接数为 100 × 1516 151600 100\times 1516151600 100×1516151600 S 4 S_4 S4​ 层为汇聚层 采样窗口为 2 × 2 2\times 2 2×2 得到 16 16 16 个 5 × 5 5\times 5 5×5 的特征映射可训练参数数量为 16 × ( 1 1 ) 32 16\times (11)32 16×(11)32 连接数为 16 × 5 × 5 × ( 4 1 ) 2000 16\times 5\times 5\times(41)2000 16×5×5×(41)2000 偏置也算一个连接 C 5 C_5 C5​ 层为卷积层 使用 120 × 16 1920 120\times 161920 120×161920 个 5 × 5 5\times 5 5×5 大小的卷积核得到 120 120 120 组大小为 1 × 1 1\times 1 1×1 的特征映射。 C 5 C_5 C5​ 层的神经元数量为 120 120 120 可训练参数数量为 1920 × 25 120 48120 1920\times 2512048120 1920×2512048120 连接数为 120 × ( 16 × 25 1 ) 48120 120\times (16\times 251)48120 120×(16×251)48120 F 6 F_6 F6​ 层为全连接层 有 84 84 84 个神经元可训练参数数量为 84 × ( 120 1 ) 10164 84\times (1201)10164 84×(1201)10164 连接数与参数数相同 输出层 输出层为 10 10 10 个径向奇函数 AlexNet 全监督的端到端学习模型第一个现代深度卷积网络模型 GPU进行并行训练采用 R e L U ReLU ReLU 作为非线性激活函数使用 Dropout 防止过拟合使用数据增强来提高模型准确率 输入为 224 × 224 × 3 224\times 224\times 3 224×224×3 的图像输出为 1000 1000 1000 个类别的条件概率5个卷积层3个汇聚层3个全连接层 由于当时GPU算力限制所以将网络拆为两半 对于特殊的一维卷积变体输出映射有以下变式计算 M − K 2 P S 1 \frac{M-K2P}{S}1 SM−K2P​1 第一个卷积层 两个大小为 11 × 11 × 3 × 48 11\times 11\times 3\times 48 11×11×3×48 的卷积核( D 3 , P 48 D3,P48 D3,P48) 步长 S 4 S4 S4 零填充 P 3 P3 P3 得到两个大小为 ( 224 − 11 2 × 3 4 1 ) × ( 224 − 11 2 × 3 4 1 ) × 48 55 × 55 × 48 (\frac{224-112\times 3}{4}1)\times (\frac{224-112\times 3}{4}1)\times4855\times 55\times 48 (4224−112×3​1)×(4224−112×3​1)×4855×55×48 的特征映射组 第一个汇聚层 大小为 3 × 3 3\times 3 3×3 的最大汇聚操作步长 S 2 S2 S2 得到两个 ( 55 − 3 2 × 0 2 1 ) × ( 55 − 3 2 × 0 2 1 ) × 48 27 × 27 × 48 (\frac{55-32\times 0}{2}1)\times (\frac{55-32\times 0}{2}1)\times 4827\times 27\times48 (255−32×0​1)×(255−32×0​1)×4827×27×48 个特征映射组 第二个卷积层 使用两个大小为 5 × 5 × 48 × 128 5\times 5\times 48\times 128 5×5×48×128 的卷积核( D 48 , P 128 D48,P128 D48,P128) 步长 S 1 S1 S1 零填充 P 2 P2 P2 得到两个大小为 ( 27 − 5 2 × 2 1 1 ) × ( 27 − 5 2 × 2 1 1 ) × 128 27 × 27 × 128 \left(\frac{27-52\times 2}{1}1\right)\times \left(\frac{27-52\times 2}{1}1\right)\times 12827\times 27\times 128 (127−52×2​1)×(127−52×2​1)×12827×27×128 的特征映射 第二个汇聚层 使用 3 × 3 3\times 3 3×3 的最大汇聚操作步长 S 2 S2 S2 得到两个 ( 27 − 3 2 × 0 2 1 ) × ( 27 − 3 2 × 0 2 1 ) × 128 13 × 13 × 128 \left(\frac{27-32\times 0}{2}1\right)\times \left(\frac{27-32\times 0}{2}1\right)\times 12813\times 13\times 128 (227−32×0​1)×(227−32×0​1)×12813×13×128 的特征映射组 第三个卷积层 两个路径的融合使用一个大小为 3 × 3 × 256 × 384 3\times 3\times 256\times 384 3×3×256×384 的卷积核( D 256 , P 384 D256,P384 D256,P384) 步长 S 1 S1 S1零填充 P 1 P1 P1 得到两个大小为 ( 13 − 3 2 × 1 1 1 ) × ( 13 − 3 2 × 1 1 1 ) × 192 13 × 13 × 192 \left(\frac{13-32\times 1}{1}1\right)\times \left(\frac{13-32\times 1}{1}1\right)\times 19213\times 13\times 192 (113−32×1​1)×(113−32×1​1)×19213×13×192 的特征映射组 第四个卷积层 使用两个大小为 3 × 3 × 192 × 192 3\times 3\times 192\times 192 3×3×192×192 的卷积核( D 192 , P 192 D192,P192 D192,P192) 步长 S 1 S1 S1零填充 P 1 P1 P1 得到两个大小为 13 × 13 × 192 13\times 13\times 192 13×13×192 的特征映射组 第五个卷积层 使用两个大小为 3 × 3 × 192 × 128 3\times 3\times192\times 128 3×3×192×128 的卷积核( D 192 , P 128 D192,P128 D192,P128) 步长 S 1 S1 S1 零填充 P 1 P1 P1 得到两个大小为 ( 13 − 3 2 × 1 1 1 ) × ( 13 − 3 2 × 1 1 1 ) × 128 13 × 13 × 128 \left(\frac{13-32\times 1}{1}1\right)\times \left(\frac{13-32\times 1}{1}1\right)\times 12813\times 13\times 128 (113−32×1​1)×(113−32×1​1)×12813×13×128 的特征映射组 第三个汇聚层 使用大小为 3 × 3 3\times 3 3×3 的最大汇聚操作步长 S 2 S2 S2 得到两个大小为 ( 13 − 3 2 × 0 2 1 ) × ( 13 − 3 2 × 0 2 1 ) × 128 6 × 6 × 128 \left(\frac{13-32\times 0}{2}1\right)\times\left(\frac{13-32\times 0}{2}1\right)\times 1286\times 6\times 128 (213−32×0​1)×(213−32×0​1)×1286×6×128 的特征映射 三个全连接层 全连接层1ReLUDropout参数矩阵 W ∈ R 6 × 6 × 256 × 4096 9216 × 4096 W\in \R^{6\times 6\times 256\times 40969216\times 4096} W∈R6×6×256×40969216×4096 有 4096 4096 4096 个神经元 全连接层2ReLUDropout参数矩阵 W ∈ R 4096 × 4096 W\in \R^{4096\times 4096} W∈R4096×4096 有 4096 4096 4096 个神经元 全连接层3有 1000 1000 1000 个神经元参数矩阵 W ∈ R 4096 × 1000 W\in \R^{4096\times 1000} W∈R4096×1000 输出层 Softmax Inception网络 卷积层的卷积核大小是一个十分关键的问题 在 Inception 网络中一个卷积层包含多个不同大小的卷积操作称为 Inception 模块 Inception 网络由多个 Inception 模块和少量汇聚层堆叠而成 Inception模块 Inception 模块同时使用不同大小的卷积核并将得到的特征映射在深度上拼接堆叠起来作为输出特征映射 若 X ∈ R M × N × D X\in \R^{M\times N\times D} X∈RM×N×D 对于 1 × 1 × D 1\times 1\times D 1×1×D 的卷积核得到特征映射 M × N × D M\times N\times D M×N×D 对于 3 × 3 3\times 3 3×3 的卷积核特征映射 ( M − 3 2 × 1 1 1 ) × ( N − 3 2 × 1 1 1 ) × D M × N × D \left(\frac{M-32\times 1}{1}1\right)\times \left(\frac{N-32\times 1}{1}1\right)\times DM\times N\times D (1M−32×1​1)×(1N−32×1​1)×DM×N×D 为得到等宽卷积补 P 3 − 1 2 1 P\frac{3-1}{2}1 P23−1​1 个零 对于 5 × 5 5\times 5 5×5 的卷积核为得到等宽卷积补 P 5 − 1 2 2 P\frac{5-1}{2}2 P25−1​2 个零 1 × 1 1\times 1 1×1 卷积核的作用 降维/升维 1 × 1 1\times 1 1×1 的卷积核不会改变宽度和长度直观看可以改变深度即通道数 降维可以通过减少通道数来减少参数进而可以进行数据的降维处理 假设有一个 M × N × 3 M\times N\times 3 M×N×3 的图像通过 1 × 1 × 3 × 2 1\times 1\times 3\times 2 1×1×3×2 ( D 3 , P 2 D3,P2 D3,P2 ) 的卷积核处理得到 M × N × 2 M\times N\times 2 M×N×2 的特征映射达到降维目的 升维同样可以通过增加通道数来增加参数对数据进升维处理 同样的输入经过 1 × 1 × 3 × 4 1\times 1\times 3\times 4 1×1×3×4 的卷积核处理得到 M × N × 4 M\times N\times 4 M×N×4 的特征映射达到升维的目的 跨通道信息整合 使用 1 × 1 1\times 1 1×1 的卷积核实现降维和升维的操作其实是利用通道间信息的线性组合 3 × 3 × 64 3\times 3\times 64 3×3×64 的输入经过 1 × 1 × 64 × 28 1\times 1\times 64\times 28 1×1×64×28 的卷积核就变成了 3 × 3 × 28 3\times 3\times 28 3×3×28 的输出可以理解为原来的64个通道的输入跨通道线性组合变成了28个通道这就是通道间的信息交互 减少计算量 原先 Z ( l , p ) ∑ d 1 D W ( l , p , d ) ⊗ X ( l − 1 , d ) b ( l , p ) Z^{(l,p)}\sum\limits_{d1}^DW^{(l,p,d)}\otimes X^{(l-1,d)}b^{(l,p)} Z(l,p)d1∑D​W(l,p,d)⊗X(l−1,d)b(l,p) 对于一次卷积需要经过 M ′ × N ′ × U × V M\times N\times U\times V M′×N′×U×V 次乘法故若要计算上述输入特征映射需要 P × D × M ′ × N ′ × U × V 32 × 192 × 5 2 × 2 8 2 P\times D\times M\times N\times U\times V32\times 192\times 5^2\times 28^2 P×D×M′×N′×U×V32×192×52×282 增加网络的深度添加非线性增强神经网络的表达能力 增加网络深度好处卷积核越大网络的深度也就增加。随着网络深度的增加越靠后的特征图上的节点感受野也越大。因此特征也越来越形象也就是更能看清这个特征是个什么东西。层数越浅就越不知道这个提取的特征到底是个什么东西。 添加非线性想在不增加卷积核大小的情况下让网络加深可以加一层 1 × 1 1\times 1 1×1 的卷积核在不改变输入规模的情况下一个卷积层包含激活和池化相当于多了一个非线性的激活函数如 R e L U ReLU ReLU 和 S i g m o d Sigmod Sigmod 卷积层之后经过激励层经过卷积核得到的特征映射可以添加非线性激活函数提高网络的表达能力 Inception网络版本 其中最早的Inception v1 版本就是非常著名的GoogLeNet GoogLeNet 由9 个Inception v1 模块和5 个汇聚层以及其他一些卷积层和全连接层构成总共为22 层网络 为了解决梯度消失问题GoogLeNet 在网络中间层引入两个辅助分类器来加强监督信息 Inception 网络有多个改进版本其中比较有代表性的有Inception v3 网络。Inception v3 网络用多层的小卷积核来替换大的卷积核以减少计算量和参数量并保持感受野不变 使用两层 3 × 3 3\times 3 3×3 的卷积替代 v1 中的 5 × 5 5\times 5 5×5 的卷积使用连续的 K × 1 K\times 1 K×1 和 1 × K 1\times K 1×K 替换 K × K K\times K K×K 的卷积引入标签平滑和批量归一化等优化方法进行训练 残差网络ResNet(152层) 通过给非线性的卷积层增加直连边的方式来提高信息的传播效率 残差单元 假设在一个深度网络中我们期望一个非线性单元 f ( x ; θ ) f(x;\theta) f(x;θ) 去逼近一个目标函数 h ( x ) h(x) h(x) 可以将目标函数拆分成两部分 h ( x ) x ⏟ 恒等函数 ( h ( x ) − x ) ⏟ 残差函数 h(x)\underbrace{x}_{恒等函数}\underbrace{(h(x)-x)}_{残差函数} h(x)恒等函数 x​​残差函数 (h(x)−x)​​ 根据通用近似定理一个由神经网络构成的非线性单元有足够多的能力来近似逼近原始目标函数或残差函数但由于线性函数 h ( x ) x h(x)x h(x)x 很难用非线性单元拟合所以拟合残差函数反而容易 故将原始优化问题变为让非线性单元 f ( x ; θ ) f(x;\theta) f(x;θ) 去近似残差函数 h ( x ) − x h(x)-x h(x)−x 并用 f ( x ; θ ) x f(x;\theta)x f(x;θ)x 去逼近 h ( x ) h(x) h(x) 残差单元有多个级联的等宽卷积层和一个跨层的直连边组成再经过 R e L U ReLU ReLU 激活后得到输出 由于直连边的存在偏导大于等于1使得卷积网络可以堆很深 ∂ h ( x ) ∂ x 1 ∂ f ( x ; θ ) ∂ x \frac{\partial h(x)}{\partial x}1\frac{\partial f(x;\theta)}{\partial x} ∂x∂h(x)​1∂x∂f(x;θ)​ 1.2.5 非标准卷积 空洞卷积 如何增加输出单元的感受野 感受野和卷积长度卷积核大小直接相关 增加卷积核大小——增加参数数量 增加层数两层 3 × 3 3\times 3 3×3 近似一层 5 × 5 5\times 5 5×5 卷积的效果 增加复杂度 卷积前进行汇聚——产生信息损失 汇聚层不但可以有效减少神经元的数量还可以使网络对一些小的局部形态改变保持不变性并拥有更大的感受野 第2层卷积层神经元感受野有K个神经元第3层卷积层神经元感受野有 2 K − 1 2K-1 2K−1 个神经元依次类推随着卷积层数深度增加神经元感受野也就越大越容易提取到高级特征 空洞卷积 不增加参数数量同时增加输出单元感受野——膨胀卷积 在卷积核每两个元素之间插入 D − 1 D-1 D−1 个空洞卷积核的有效大小为 K ′ K ( K − 1 ) × ( D − 1 ) KK(K-1)\times (D-1) K′K(K−1)×(D−1) D D D 为膨胀率当 D 1 D1 D1 时卷积核为普通的卷积核 通过给卷积核插入空洞改变步长来增加感受野 反卷积 转置卷积 低维特征映射到高维特征映射——转置卷积反卷积 假设一个高维向量 X ∈ R D X\in \R^D X∈RD 和一个低维向量 Z ∈ R M Z\in \R^M Z∈RM 且 M D MD MD Z W X , W ∈ R M × D ZWX,W\in \R^{M\times D} ZWX,W∈RM×D 若用仿射变换来实现高维到低维的映射 X W T Z XW^TZ XWTZ 两个映射形式上是转置关系 在全连接网络中忽略激活函数前向计算和反向传播就是一种转置关系 Z ( l 1 ) W ( l 1 ) Z ( l ) δ ( l ) ( W ( l 1 ) ) T δ ( l 1 ) Z^{(l1)}W^{(l1)}Z^{(l)}\\ \delta^{(l)}(W^{(l1)})^T\delta^{(l1)} Z(l1)W(l1)Z(l)δ(l)(W(l1))Tδ(l1) 对于二维向量 C C C 为稀疏矩阵其非零元素来自于卷积核 W W W 中的元素 对于一个 M M M 维的向量 Z Z Z 和大小为 K K K 的卷积核如果希望通过卷积操作来映射到更高维的向量需要对 Z Z Z 两端进行补零 P K − 1 PK-1 PK−1 可以得到 M K − 1 MK-1 MK−1 维向量 对于 M × N M\times N M×N 维向量 X X X 通过 U × V U\times V U×V 为卷积核 W W W 在 M M M 边分别补 U − 1 U-1 U−1 个零 N N N 边分别补 V − 1 V-1 V−1 个零可以得到转置卷积 ( M U − 1 ) × ( N V − 1 ) (MU-1)\times (NV-1) (MU−1)×(NV−1) 维输出 微步卷积 步长变小——微步卷积 整体思路通过增加卷积的步长 S 1 S1 S1 实现对特征的下采样操作大幅降低特征映射维数(神经元数量) 同样减小步长 S 1 S1 S1 能使特征映射的维数(神经元数量)增加 若希望转置卷积的步长变为 1 S \frac{1}{S} S1​ 则需要在输入特征之间插入 S − 1 S-1 S−1 个零来使移动速度变慢 以一维转置卷积为例对一个 M M M 维的向量 Z Z Z 和大小为 K K K 的卷积核通过对向量 Z Z Z 进行两端补零 P K − 1 PK-1 PK−1 并且在每两个向量元素之间插入 D D D 个零然后进行步长为 1 1 1 的卷积得到 ( D 1 ) × ( M − 1 ) K (D1)\times (M-1)K (D1)×(M−1)K 维向量 对于 M × N M\times N M×N 的输入向量 X X X 和 U × V U\times V U×V 的卷积核对向量 X X X 分别补 U − 1 U-1 U−1 与 V − 1 V-1 V−1 个零并且在每两个元素之间插入 D 1 D_1 D1​ 与 D 2 D_2 D2​ 个零得到 [ ( D 1 1 ) × ( M − 1 ) U ] × [ ( D 2 1 ) × ( N − 1 ) V ] [(D_11)\times (M-1)U]\times [(D_21)\times (N-1)V] [(D1​1)×(M−1)U]×[(D2​1)×(N−1)V] 维的输出向量 Z Z Z 若原先步长 S 2 S2 S2 若步长减少 1 2 \frac{1}{2} 21​ 输出的特征映射会增加一倍 左图输入 X ∈ R 5 × 5 X\in \R^{5\times 5} X∈R5×5 步长 S 2 S2 S2 右图步长 S 1 S1 S1 填充零 [ ( 1 1 ) × ( 2 − 1 ) 3 ] × [ ( 1 1 ) × ( 2 − 1 ) 3 ] 5 × 5 [(11)\times (2-1)3]\times[(11)\times (2-1)3]5\times 5 [(11)×(2−1)3]×[(11)×(2−1)3]5×5 1.2.6 卷积神经网络应用 AlphaGo 决策网络 目标检测RCN 区域卷积网络 图像分割RCNN 像素级图像分割 光学字符识别OCR 应用于文本 Ngram特征与卷积 一元特征二元特征单词顺序三元特征 可以理解为滑动窗口 词到词向量 通过Lookup Table 将一个单词变为一个词向量 1.3 前馈神经网络分析 相邻两层之间存在单向连接层内无连接 前馈神经网络中信息的传递是单向的这种限制使得网络易于学习但一定程度上削弱了神经网络模型的能力 输入与输出的维度是固定的不能任意改变 前馈神经网络的输入维度固定学到的连接参数是固定改变的 网络当前的输出只依赖当前的输入 前馈神经网络可以看做一个复杂的函数每次映射都是独立的当前时刻的输出不仅依赖当前时刻的输入实际也可能依赖前一时刻的状态输入输出 全连接的前馈神经网络无法处理 序列数据 很多现实任务网络的输出不仅和当前时刻的输入相关也和其过去一段时间的输出相关 如无法实现有限状态机 下一时刻的状态不仅和当前的输入相关也和当前状态相关上一时刻的输出
http://www.zqtcl.cn/news/8083/

相关文章:

  • 南京哪公司建设网站wordpress和网盘结合
  • 都有哪些可以做app的网站朝阳区网站建设君和
  • 百度搜索热词查询优化大师下载电脑版
  • 微网站收费标准qq怎么做自己的网站
  • dedecms网站开发个人业务网站创建
  • 做网上竞猜网站合法吗dz网站自己做的模板放在哪里
  • 北京哪里做网站附近cad制图培训班
  • 地产行业型网站开发兼积做调查挣钱网站
  • 高质量的合肥网站建设做网站空间哪家好
  • 自动识别手机和电脑版本网站网站代码编辑器
  • 揭阳模板建站开发公司wordpress注册没有界面
  • thinkphp做网站后台深圳市造价信息网官网
  • php做各种网站类型得模板停放域名
  • 域名和网站名要一样吗湖南建设人才网
  • 档案网站建设经验2015做哪些网站能致富
  • 做网站怎样办营业执照四平网站设计公司
  • 上海长宁区网站建设fizz wordpress
  • 浏阳网站开发建设海外医疗手机网站建设
  • 企业网站开发需求文档福建省机关效能建设网站
  • 爱站权重查询金融网站模版下载
  • 肥城网站设计公司百度对网站建设公司
  • 做企业网站如何用代码做网站
  • 网站运营方案设计网页设计报告模板免费
  • 成都网站建设方案阿里云代理网站怎么做
  • app开发模板网站企业地址管理系统
  • 深圳龙华区住房和建设局网站网站维护服务内容
  • 谷谷互联建的网站如何把qq在线做外贸网站做成哪种形式好
  • 爱用建站怎么样校园网站建设系统设计
  • 网站备案证书打印电商网站开发技术与服务器
  • 公司网站开发费用济南兴田德润o简介图片网站的服务器怎么做