对于残差块的解释
它有二层,如下表达式,其中
代表非线性函数ReLU,
然后通过一个,和第二个ReLU,获得输出y
当需要对输入和输出维数进行变化时(如改变通道数目),可以在时对x做一个线性变换Ws,如下式,然而实验证明x已经足够了,不需要再搞个维度变换,除非需求是某个特定维度的输出,如文章开头的网络结构图中的虚线,是将通道数翻倍 。
实验证明,这个残差块往往需要两层以上,单单一层的残差块(y=W1x+x)并不能起到提升作用 。残差网络的确解决了退化的问题,在训练集和校验集上,都证明了的更深的网络错误率越小,如下图
实际中,考虑计算的成本,对残差块做了计算优化,即将两个3x3的卷积层替换为1x1 + 3x3 + 1x1, 如下图 。新结构中的中间3x3的卷积层首先在一个降维1x1卷积层下减少了计算,然后在另一个1x1的卷积层下做了还原,既保持了精度又减少了计算量 。
bty:残差网络原理详解的博客-CSDN博客
【ResNet算法】深度学习 --- 深度残差网络详解进击的菜鸟-CSDN博客_深度残差网络
- 二 JVM.垃圾回收算法/策略内存分配
- 深度学习_经典网络_ResNet详解及常见问题总结
- 路径规划-A*算法
- 算法介绍及实现——卡尔曼滤波
- Hash Table 算法数据结构基础——哈希表
- 后缀树 算法分析与设计
- 包邮送书 《人工智能算法图解》书籍分享
- 100个python算法超详细讲解:阿姆斯特朗数
- 几种数据分布算法
- 200道大数据面试常考Leetcode算法题