可逆残差网络(2018)

一般过程

正向传播

公式

z31=w311a21+w312a22+w313a23+b31

$$z_1^2=w_{11}^2*x_1 +w_{12}^2*x_2 +w_{13}^2*x_3 +b_1^2$$

$$a_1^2=g(z_1^2)$$

说明

上标代表层,下标代表同层的顺序

反向传播

公式

$$\frac{\delta L}{\delta w^3_{11}} =\frac{\delta L}{\delta z^3_{1}} \cdot \frac{\delta z^3_{1}}{\delta w^3_{11}} = \frac{\delta L}{\delta z^3_{1}} \cdot a_1^2$$

$$\frac{\delta L}{\delta w^2_{11}} =\frac{\delta L}{\delta z^2_{1}} \cdot \frac{\delta z^2_{1}}{\delta w^2_{11}} = \frac{\delta L}{\delta z^2_{1}} \cdot x_1$$

$$a_1^3=g(z_1^3)$$

可逆残差

正向传播

公式

$$y_1=x_1+F(x_2)$$

$$y_2=x_2+G(_1)$$

说明

  • 其中F和G都是相似的残差函数

反向传播

公式

$$x_2=y_2-G(y_1)$$

$$x_1=y_1-F(x_2)$$

结论

  • 可以从一般过程中看出,对参数求导需要当时的运算过程结果x_1、a_1等
  • 可逆残差则因为能通过y直接求得x,所以不需要存储中间的a
  • 可逆块的跨距只能为1,也就是说可逆块必须一个接一个连接,中间不能采用其它网络形式衔接,否则的话就会丢失信息,并且无法可逆计算了,这点与残差块不一样

作用

当前层的激活结果可由下一层的结果计算得出,也就是如果我们知道网络层最后的结果,就可以反推前面每一层的中间结果