019:什么是 Resnet50 神经网络

本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。

合集完整版请查看这里。

在上一节中,使用了一个简单的神经网络进行识别数字。

这个网络结构非常简单,一是因为层数少,二是因为结构是顺序的,没有其他分支结构。

这类神经网络的结构表示起来大概就像是:conv -> relu -> conv -> relu -> maxpool -> fc 这种,一层连接着一层,这种神经网络结构可以被称为顺序结构的神经网络,也是最简单的一种结构。

现在介绍一个相对来说更加复杂,但我认为在计算机视觉领域非常重要的一个神经网络结构------Resnet50 模型结构。

本专栏后面所有的算法解析、代码实战以及模型的性能调优,也都是基于该神经网络模型来进行的。

什么是 Resnet50 神经网络

Resnet 神经网络是何凯明在《Deep Residual Learning for Image Recognition》论文中首次提出的。

Resnet50 模型之所以叫这个名字,是因为模型的核心思想就藏在名字里。

名字可以拆分为:Res + net + 50,Res 是 Residual (残差)的缩写,50 指的是整个网络中有 50 个卷积层。

Resnet 有很多系列,比如 Resnet18, Resnet101等,后面跟的数字代表的是神经网络中的卷积层的数量。

基本上你可以这么理解:数字越大,卷积层越多,网络的深度越深,神经网络提取的特征越多。

下图是 Resnet 各系列的网络结构汇总表。可以看到在 Resnet50 的那一列中,从第一层到最后一层,总共50个卷积算法,这里把最后一层的全连接层也看做了卷积,至于为什么可以这么看,是因为两者有算法等价关系。

残差

那么 Res(Residual)残差又是个什么东西呢?

所谓残差,其实就是在顺序连接的神经网络中,增加了一个 short cut 分支结构,俗称为高速公路。

比如,在上一节手写数字识别那个里子中,模型是一层一层往下传的,这种顺序的神经网络如果层数不多,是完全可以使用的的,但是如果层数很深(比如50层或者几百层),数据这么一层一层往下传,在训练时就会发现神经网络很难被训练出来。

训练不出来的原因有很多,其中一个可能是由于反向传播时梯度消失的问题。

而残差结构就是为了解决这个问题。

如下图所示,左侧是正常的神经网络层,一层层往下传,在右侧增加一条连线,使得整个网络结构形成了一个残差结构。这样,网络的输出不再是单纯卷积的输出 F(x),而是原来的输出和输入的叠加 F(x) + X。

右侧的连线也被叫做高速公路:输入数据X不经过任何运算,可以快速到达输出的地方。

正是由于这个高速公路的存在,使得数据(无论是正向传播还是反向传播时传递梯度),数据都可以"无损"的通过,避免了上面说到的梯度消失的问题。

这种结构就是残差结构,在很多CV任务中,几乎都可以看到这种结构的存在,不论是图像识别的网络,还是目标检测的网络。

总结一下

Resnet50 是一个经典的图像分类网络,并且在图像分类任务上表现出色,它的创新就是引入了残差结构来确保网络深度可以搭建的很深。

很多工业项目中,会以 resnet50 为 back bone(骨干网络)来构建自己的神经网络。

也就说,不少CV网络中的骨干结构就是 resnet 结构,算法的层数不一定是50层,但是算法、原理几乎是一样的,在这个骨干结构的前后,在加一些模型自有的算法,从而来完成自己的特定任务。

为什么可以这样?

是因为resnet这种结构,包括卷积参数的设计,被证实有很强的图像特征提取能力,只要是图像任务,即使不是识别也需要提取特征,因此将 resnet 结构作为一种特征提取器来使用。

除此之外,几乎每一家做 AI 芯片的公司,都会以 resnet50 这个神经网络在自家芯片上跑出来的性能数据来作为宣传手段,这是因为只要这个网络性能好,就说明这家芯片至少在计算机视觉这个大领域内,性能都会有较好的泛化性,可见该模型的重要性。

相关推荐
福兮说2 小时前
秋招简历让 AI 写了一版:它替我加了 JWT,还把课程设计写成了「高并发」
人工智能·课程设计·秋招·求职·简历
ZDN_is_beauty2 小时前
深度学习2-卷积神经网络
人工智能·深度学习·cnn
QQ机器人_插件2 小时前
鲲鹏恒控的跨平台交付 —— Windows 上组态,Linux 上运行
人工智能
XMAIPC_Robot2 小时前
储能控制器产品化:ARM+FPGA整机高低温、EMC可靠性测试实战总结
arm开发·人工智能·fpga开发·arm+fpga·rk3588+fpga
Martina_03212 小时前
AI生成的海岸城市一移动镜头,水面反射就跳?用6步统一反射探针、SSR与平面反射
图像处理·人工智能·平面·3d·ai·自然语言处理·游戏策划
Matlab程序猿2 小时前
【MATLAB源码-第459期】基于matlab的D-H模型与阻尼最小二乘逆运动学的六自由度机械臂五次轨迹规划及动力学前馈PD控制仿真。
人工智能·算法·matlab·d-h建模·六自由度串联机械臂
QYR-分析2 小时前
人机交互升级浪潮下,全球电容式触摸传感器市场格局与细分赛道深度研判
人工智能·人机交互
血小溅3 小时前
什么是 Agent?
人工智能
szxinmai主板定制专家3 小时前
面向虚拟电厂协调控制:RK3588+FPGA+AI边缘控制器设计思路与算力评估
人工智能·嵌入式硬件·fpga开发·机器人·jetson·zynq·振动采集
JingliAlex3 小时前
微信自动回复突然全停了?五个检查点从外到内
人工智能