深度前馈网络

网络结构

在这里插入图片描述
在这里插入图片描述
a n ( l ) × 1 ( l ) = ( W n ( l − 1 ) × n ( l ) ( l ) ) T z n ( l − 1 ) × 1 ( l − 1 ) z n ( l ) × 1 ( l ) = g l ( a n ( l ) × 1 ( l ) ) 其 中 , W 包 含 了 权 重 和 偏 置 , 每 一 层 增 加 一 个 神 经 元 , 其 值 为 1 ; z ( 1 ) = x \mathbf{a}^{(l)}_{n^{(l)}\times 1}=(\mathbf{W}^{(l)}_{n^{(l-1)}\times n^{(l)}})^T\mathbf{z}^{(l-1)}_{n^{(l-1)}\times 1}\\ \mathbf{z}^{(l)}_{n^{(l)}\times 1}=g_l(\mathbf{a}^{(l)}_{n^{(l)}\times 1})\\ 其中,\mathbf{W}包含了权重和偏置,每一层增加一个神经元,其值为1;\mathbf{z}^{(1)}=\mathbf{x} an(l)×1(l)=(Wn(l1)×n(l)(l))Tzn(l1)×1(l1)zn(l)×1(l)=gl(an(l)×1(l))W1z(1)=x

目标函数

J ( W ) = 1 2 ∑ i = 1 N ( f ( x ( i ) ) , W − y ( i ) ) 2 min ⁡ W J ( W ) 其 中 , W 表 示 所 有 权 重 , N 表 示 样 本 数 量 J(\mathbf{W})=\frac{1}{2}\sum_{i=1}^{N}(f(\mathbf{x}^{(i)}),\mathbf{W}-y^{(i)})^2\\ \min_\mathbf{W}J(\mathbf{W})\\ 其中,\mathbf{W}表示所有权重,N表示样本数量 J(W)=21i=1N(f(x(i)),Wy(i))2WminJ(W)WN

梯度-反向传播算法(Back propagation)

⋆ \star 对于所有神经单元,运算只涉及到了加法没有神经单元自身或之间的乘积

  1. 输出层
    对 于 输 出 层 l 中 的 某 个 单 元 j , 对 一 个 权 重 W i j ( l ) 求 偏 导 : ∂ J ∂ W i j ( l ) = ∂ J ∂ a j ( l ) ∂ a j ( l ) ∂ W i j ( l ) ∂ a j ( l ) ∂ W i j ( l ) = ∂ ∑ k = 0 H W i j ( l ) z k ( l − 1 ) ∂ W i j ( l ) = ∑ k = 0 H ∂ W i j ( l ) z k ( l − 1 ) ∂ W i j ( l ) = z i ( l − 1 ) ( H + 1 表 示 权 重 数 , 即 n ( l − 1 ) ) ∂ J ∂ W i j ( l ) = ∂ J ∂ a j ( l ) z i ( l − 1 ) d e f i n e δ j = − ∂ J ∂ a j ( l ) ∂ J ∂ W i j ( l ) = − δ j z i ( l − 1 ) 在 输 出 层 中 , 若 以 恒 等 函 数 作 为 激 活 函 数 , 则 J ( w ) = 1 2 ( a j ( l ) − y j ) 2 ∂ J ∂ a j ( l ) = a j ( l ) − y j ∂ J ∂ W i j ( l ) = ( y j − a j ( l ) ) z i ( l − 1 ) 对于输出层l中的某个单元j,对一个权重\mathbf{W}^{(l)}_{ij}求偏导:\\ \frac{\partial J}{\partial \mathbf{W}^{(l)}_{ij}}=\frac{\partial J}{\partial \mathbf{a}^{(l)}_j}\frac{\partial \mathbf{a}^{(l)}_j}{\partial \mathbf{W}^{(l)}_{ij}}\\ \frac{\partial \mathbf{a}^{(l)}_j}{\partial \mathbf{W}^{(l)}_{ij}}=\frac{\partial \sum_{k=0}^{H} \mathbf{W}^{(l)}_{ij} \mathbf{z}^{(l-1)}_k}{\partial \mathbf{W}^{(l)}_{ij}}=\frac{\sum_{k=0}^{H} \partial \mathbf{W}^{(l)}_{ij} \mathbf{z}^{(l-1)}_k}{\partial \mathbf{W}^{(l)}_{ij}}=\mathbf{z}^{(l-1)}_i(H+1表示权重数,即n^{(l-1)})\\ \frac{\partial J}{\partial \mathbf{W}^{(l)}_{ij}}=\frac{\partial J}{\partial \mathbf{a}^{(l)}_j}\mathbf{z}^{(l-1)}_i\\ define \delta_j=-\frac{\partial J}{\partial \mathbf{a}^{(l)}_j}\\ \frac{\partial J}{\partial \mathbf{W}^{(l)}_{ij}}=-\delta_j\mathbf{z}^{(l-1)}_i\\ 在输出层中,若以恒等函数作为激活函数,则\\ J(\mathbf{w})=\frac{1}{2}(\mathbf{a}^{(l)}_{j} -y_j)^2\\ \frac{\partial J}{\partial \mathbf{a}^{(l)}_{j}}=\mathbf{a}^{(l)}_{j}-y_j\\ \frac{\partial J}{\partial \mathbf{W}^{(l)}_{ij}}=(y_j-\mathbf{a}^{(l)}_{j})\mathbf{z}^{(l-1)}_i\\ ljWij(l)Wij(l)J=aj(l)JWij(l)aj(l)Wij(l)aj(l)=Wij(l)k=0HWij(l)zk(l1)=Wij(l)k=0HWij(l)zk(l1)=zi(l1)H+1n(l1)Wij(l)J=aj(l)Jzi(l1)defineδj=aj(l)JWij(l)J=δjzi(l1)J(w)=21(aj(l)yj)2aj(l)J=aj(l)yjWij(l)J=(yjaj(l))zi(l1)
  2. 隐藏层
    对 于 隐 藏 层 l 中 的 单 元 j , 对 一 个 权 重 W i j ( l ) 求 偏 导 : ∂ J ∂ W i j ( l ) = ∂ J ∂ a j ( l ) z i ( l − 1 ) 对 于 一 个 样 本 的 某 个 输 出 单 元 : J = 1 2 ( f ( a ( l + 1 ) ) − y ) ( f 只 涉 及 a k ( l + 1 ) 之 间 的 加 法 ) ∂ J ∂ a j ( l ) = ∑ k = 0 n ( l + 1 ) ∂ J ∂ a k ( l + 1 ) ∂ a k ( l + 1 ) ∂ a j ( l ) = − ∑ k = 0 n ( l + 1 ) δ k ∂ a k ( l + 1 ) ∂ a j ( l ) = − ∑ k = 0 n ( l + 1 ) δ k ∂ a k ( l + 1 ) ∂ z j ( l ) ∂ z j ( l ) ∂ a j ( l ) = − ∂ z j ( l ) ∂ a j ( l ) ∑ k = 0 n ( l + 1 ) δ k ∂ a k ( l + 1 ) ∂ z j ( l ) = − g ′ ( a j ) ∑ k = 0 n ( l + 1 ) δ k W j k ( l + 1 ) 对于隐藏层l中的单元j,对一个权重\mathbf{W}^{(l)}_{ij}求偏导:\\ \frac{\partial J}{\partial \mathbf{W}^{(l)}_{ij}}=\frac{\partial J}{\partial \mathbf{a}^{(l)}_j}\mathbf{z}^{(l-1)}_i\\ 对于一个样本的某个输出单元:\\ J=\frac{1}{2}(f(\mathbf{a}^{(l+1)})-y)(f只涉及\mathbf{a}^{(l+1)}_k之间的加法) \\ \frac{\partial J}{\partial \mathbf{a}^{(l)}_j}=\sum_{k=0}^{n^{(l+1)}} \frac{\partial J}{\partial \mathbf{a}^{(l+1)}_k}\frac{\partial \mathbf{a}^{(l+1)}_k}{\partial \mathbf{a}^{(l)}_j}\\ =-\sum_{k=0}^{n^{(l+1)}} \delta_k\frac{\partial \mathbf{a}^{(l+1)}_k}{\partial \mathbf{a}^{(l)}_j}\\ =-\sum_{k=0}^{n^{(l+1)}} \delta_k\frac{\partial \mathbf{a}^{(l+1)}_k}{\partial \mathbf{z}^{(l)}_j}\frac{\partial \mathbf{z}^{(l)}_j}{\partial \mathbf{a}^{(l)}_j} \\ =-\frac{\partial \mathbf{z}^{(l)}_j}{\partial \mathbf{a}^{(l)}_j}\sum_{k=0}^{n^{(l+1)}} \delta_k\frac{\partial \mathbf{a}^{(l+1)}_k}{\partial \mathbf{z}^{(l)}_j} \\ =-g'(\mathbf{a}_j)\sum_{k=0}^{n^{(l+1)}} \delta_k\mathbf{W}^{(l+1)} _{jk}\\ ljWij(l)Wij(l)J=aj(l)Jzi(l1)J=21(f(a(l+1))y)fak(l+1)aj(l)J=k=0n(l+1)ak(l+1)Jaj(l)ak(l+1)=k=0n(l+1)δkaj(l)ak(l+1)=k=0n(l+1)δkzj(l)ak(l+1)aj(l)zj(l)=aj(l)zj(l)k=0n(l+1)δkzj(l)ak(l+1)=g(aj)k=0n(l+1)δkWjk(l+1)
    在这里插入图片描述
自动微分和计算图
  1. 计算图
    在这里插入图片描述
    1. 静态计算图:编译时构建,程序运行时不可改变–可优化,并行能力强,灵活性差–tensorflow,theano
    2. 动态计算图:运行时动态构建–不容易优化,不利于并行,灵活性强–pytorch
  2. 自动微分:函数与参数之间有多条路径,可将多条路径上的导数再进行相加,得到最终的梯度
    1. 前向模式
    2. 反向模式–反向传播
优化问题
  1. 参数过多
  2. 局部最优
  3. 梯度消失–下层参数难调
  4. 参数解释困难
  5. 计算资源要大
  6. 数据要多
  7. 算法效率要好–收敛快
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值