深度学习常见数学公式解释

卷积和反卷积的介绍

1. 对于卷积,我们一般有如下的参数:
  • input size W i n ∗ H i n W_{in}*H_{in} WinHin
  • kernel size k e r n e l ∗ k e r n e l kernel*kernel kernelkernel
  • stride s s t r i d e , s t r i d e stride,stride stride,stride
  • padding size p a d , p a d pad,pad pad,pad
  • in channels

对一个卷积操作可以表示为如下的图,实际过程中一般不只是一个通道,

卷积示意图

可以看得出padding后实际的长和宽为:
W m i d d l e = W i n + 2 ∗ p a d H m i d d l e = H i n + 2 ∗ p a d W_{middle}=W_{in}+2*pad\\ H_{middle}=H_{in}+2*pad Wmiddle=Win+2padHmiddle=Hin+2pad
从而可以计算最后的长和宽为:
W o u t = W m i d d l e − k s t r i d e + 1 = W i n + 2 ∗ p a d − k s t r i d e + 1 H o u t = H m i d d l e − k s t r i d e + 1 = H i n + 2 ∗ p a d − k s t r i d e + 1 W_{out}=\frac {W_{middle}-k}{stride}+1=\frac {W_{in}+2*pad-k}{stride}+1\\ H_{out}=\frac {H_{middle}-k}{stride}+1=\frac {H_{in}+2*pad-k}{stride}+1 Wout=strideWmiddlek+1=strideWin+2padk+1Hout=strideHmiddlek+1=strideHin+2padk+1

2. 对于反卷积

对上图的公式做变换可知:
W i n = ( W o u t − 1 ) ∗ s t r i d e + k − 2 ∗ p a d H i n = ( H o u t − 1 ) ∗ s t r i d e + k − 2 ∗ p a d W_{in}=(W_{out}-1)*stride +k-2*pad\\ H_{in}=(H_{out}-1)*stride +k-2*pad Win=(Wout1)stride+k2padHin=(Hout1)stride+k2pad
反卷积示意图

反卷积可以说是对卷积做一个逆变换了,那么其参数和卷积类似,但是前后每个通道的变换如下:
W o u t = ( W i n − 1 ) ∗ s t r i d e + k − 2 ∗ p a d H o u t = ( H i n − 1 ) ∗ s t r i d e + k − 2 ∗ p a d W_{out}=(W_{in}-1)*stride +k-2*pad\\ H_{out}=(H_{in}-1)*stride +k-2*pad Wout=(Win1)stride+k2padHout=(Hin1)stride+k2pad

EMA(Exponential move average)指数滑动平均

 这是一种给与近期数据权重更高的平均方法
E M A : v t = α ∗ v t − 1 + ( 1 − α ) ∗ θ t 其 中 v t 表 示 前 t 条 的 平 均 值 , v 0 = 0 , α 是 加 权 权 重 值 , 一 般 设 定 为 0.9   0.999 EMA:v_t=\alpha*v_{t-1}+(1-\alpha)*\theta _t\\ 其中v_t表示前t条的平均值,v_0=0,\alpha是加权权重值,一般设定为0.9\text{~}0.999 EMA:vt=αvt1+(1α)θtvttv0=0,α0.9 0.999
 一般的普通的过去n时刻的平均是: v t = ( n − 1 ) ∗ v t − 1 + θ t n v_t=\cfrac {(n-1)*v_{t-1}+\theta_t} n vt=n(n1)vt1+θt,如果把 α \alpha α设定为 n − 1 n \cfrac {n-1} n nn1,那么可以看得出来两者形式上是等同的。

 下面我们看一下EMA究竟做了什么东西:
令 n 时 刻 的 模 型 权 重 为 v n , 梯 度 为 g n , 参 数 为 θ n , 那 么 可 以 得 到 : 公 式 ➀ θ n = θ n − 1 − g n − 1 = θ n − 2 − g n − 2 − g n − 2 = θ n − 3 − g n − 3 − g n − 2 − g n − 1 = θ 1 − ∑ i = 1 n − 1 g i n 时 刻 的 E M A 的 影 子 权 重 为 v n , 可 以 得 到 : 公 式 ➁ v n = α v n − 1 + ( 1 − α ) θ n = α ( α v n − 2 + ( 1 − a ) θ n − 1 ) + ( 1 − α ) θ n = α n v 0 + ( 1 − a ) ( θ n + α θ n − 1 + α 2 θ n − 2 + ⋯ + α n − 1 θ 1 ) 接 着 我 们 讲 公 式 1 带 入 公 式 2 , 可 以 得 到 如 下 : v n = α n v 0 + ( 1 − a ) ( θ 1 − ∑ i = 1 n − 1 + α ( θ 1 − ∑ i = 1 n − 2 g i ) + . . . + α n − 2 ( θ − ∑ i = 1 1 + α n − 1 θ 1 ) = θ 1 − ∑ i = 1 n − 1 ( 1 − α n − i ) 可 以 看 到 如 下 的 两 个 式 的 对 比 : { θ n = θ 1 − ∑ i = 1 n − 1 g i 结 论 1 v n = θ 1 − ∑ i = 1 n − 1 ( 1 − α n − i ) g i 结 论 2 由 上 面 的 两 个 式 子 可 以 很 明 显 的 看 出 来 E M A 在 第 i 步 的 下 降 的 补 偿 增 加 了 权 重 系 数 相 当 于 做 了 一 个 l e a r n i n g   r a t e   d a c a y , 从 而 能 够 更 好 的 控 制 达 到 全 局 收 敛 令n时刻的模型权重为v_n,梯度为g_n,参数为\theta_n,那么可以得到:公式➀ \text{}\\ \begin{aligned} \theta_n &=\theta_{n-1}-g_{n-1}\\ &=\theta_{n-2}-g_{n-2}-g_{n-2}\\ &=\theta_{n-3}-g_{n-3}-g_{n-2}-g_{n-1}\\ &=\theta_1-\sum_{i=1}^{n-1}g_i\\ \end{aligned}\\ n时刻的EMA的影子权重为v_n,可以得到:公式➁\\ \begin{aligned} v_n&=\alpha v_{n-1}+(1-\alpha)\theta_n\\ &=\alpha(\alpha v_{n-2}+(1-a)\theta_{n-1})+(1-\alpha)\theta_n\\ &=\alpha^nv_0+(1-a)(\theta_n+\alpha\theta_{n-1}+\alpha^2\theta_{n-2}+\dots+\alpha^{n-1}\theta_1) \end{aligned}\\ 接着我们讲公式1带入公式2,可以得到如下:\\ \begin{aligned} v_n&=&\alpha^nv_0+(1-a)(\theta_1-\sum_{i=1}^{n-1}+\alpha(\theta_1-\sum_{i=1}^{n-2}g_i)+...+\alpha^{n-2}(\theta-\sum_{i=1}^1+\alpha^{n-1}\theta_1)\\ &=&\theta_1-\sum_{i=1}^{n-1}(1-\alpha^{n-i})\\ \end{aligned} 可以看到如下的两个式的对比:\\ \begin{cases} \theta_n = \theta_1-\sum_{i=1}^{n-1}g_i \quad &结论1\\ v_n=\theta_1-\sum_{i=1}^{n-1}(1-\alpha^{n-i})g_i&结论2\\ 由上面的两个式子可以很明显的看出来EMA在第i步的下降的补偿增加了权重系数\\相当于做了一个learning\,rate\,dacay,从而能够更好的控制达到全局收敛 \end{cases} nvn,gn,θn,:θn=θn1gn1=θn2gn2gn2=θn3gn3gn2gn1=θ1i=1n1ginEMAvn,vn=αvn1+(1α)θn=α(αvn2+(1a)θn1)+(1α)θn=αnv0+(1a)(θn+αθn1+α2θn2++αn1θ1)12:vn==αnv0+(1a)(θ1i=1n1+α(θ1i=1n2gi)+...+αn2(θi=11+αn1θ1)θ1i=1n1(1αni)θn=θ1i=1n1givn=θ1i=1n1(1αni)giEMAilearningratedacay12

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值