| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 经典模型——ResNet -> 正文阅读 |
|
[人工智能]经典模型——ResNet |
Introduction深度卷积神经网络的好处在于其层比较多,每一层都能捕捉不同的信息。从低级的视觉特征到高级的语义特征。 但是层这么多是一件好事吗? 显然不是,随着网络层次的加深,会出现梯度爆炸与梯度消失。 常见的解决方案是好的初始化或者加入BN层。 然而,虽然做了这些操作之后,模型收敛了,但是精度却下降了。这也不是过拟合造成的,因为训练误差和测试误差都上升了。如下图所示。
因此,该文章提出了deep residual learning framework,保证网络的性能不会随着深度的增加而变差,这相当于显式地构造出一个identity mapping。
优势在于:模型复杂度不会提升;计算量不会增加。 通过实验证明:plain版本效果差一些(没有residual/shortcut connection);随着深度的增加,性能也会提升。 Deep Residual Learning
模型中采用了BN层、数据增广来提升模型的泛化性能,但是没有用dropout,因为不包含全连接层。 那么残差连接如何处理输入输出形状不同的情况呢? 第一个方案是在输入和输出上分别添加一些额外的0,使得两者的形状能够对应起来; Experiments
为什么ResNet训练起来速度快? 梯度消失的原因是因为随着网络的加深,链式法则将很多非常小的数相乘,使得梯度下降法减去一个近乎为0的值,当然,要是陷入了局部最优的位置,都不用深层网络,梯度就很容易消失; 但是ResNet的话,好处在于在原有基础上加了一个浅层网络的梯度,这样深层的梯度虽然小了,但是浅层的还是比较大的,所以从数学上来看,梯度不会轻易消失。 所谓的模型复杂度降低了不是说不能够表示别的东西了,而是能够找到一个不那么复杂的模型去拟合数据,就如作者所说,不加残差连接的时候,理论上也能够学出一个有一个identity的东西(不要后面的东西),但是实际上做不到,因为没有引导整个网络这么走的话,其实理论上的结果它根本过不去,所以一定是得手动的把这个结果加进去,使得它更容易训练出一个简单的模型来拟合数据的情况下,等价于把模型的复杂度降低了。(摘录自此处) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:38:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |