位置: IT常识 - 正文

3DResNet 学习记录(3d representation)

编辑:rootadmin
3DResNet 学习记录

推荐整理分享3DResNet 学习记录(3d representation),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:3d representation,3d resnet网络结构,3d resnet pytorch,resnet训练,3d resnet pytorch,3d representation,3d resnet网络结构,3d resnet pytorch,内容如对您有帮助,希望把文章链接给更多的朋友!

近期同时在进行的两个深度学习项目都需要用到3DResNet模型,本着不做调包侠的心态,还是要好好把模型的原理看一看的。

1、ResNet结构理解

首先先理解一下二维的ResNet吧。

ResNet又名残差结构,残差连接等。何恺明大佬提出这个概念是为了解决深层网络的梯度消失和梯度爆炸的问题,以及收敛深层网络的“退化”问题,从而可以使得网络层数变得更深。(常见层数有18-34-50-101-152层)相较于之前的层数大多在10~20层的网络来说,无疑是在层数上有了非常大的突破。

残差结构的原理,主要是把输入输出的映射从F(x)转换到了H(x)=F(x)+x上,这样做的目的,个人理解是:在网络层数足够深的情况下,在接近网络输出端的层结构中,其上一层的输出x很可能已经无限逼近于最优解,这个时候对于此层的参数调整,就可以给网络一种选择:即把F(x)置0,或者赋予很小的权重,让此层的结构发挥的作用是将上一层的输出完好地送至下一层,保留最佳输出的结果,也就是所谓的“恒等映射”。(identity mapping)

而,传统的卷积层结构来说,要调整至这样一种“不怎么改变输入的”参数结构,显然是不如直接将F(x)置为0来的容易的。本质上这是一种模型复杂度的降低(来自李沐老师的观点),即给网络以一个比较“手动”的引导,去让网络的参数能够逼近于你想要的结构。个人认为,这是残差连接能够加深网络层数的一个比较可以解释得通的理由。

另外,这样一种“学习恒等映射”的方法,它的F(x)也未必一定要完全是0,在输入足够趋近最优解的情况下,可以理解为一种“小幅的,进一步促进输出逼近最优的作用”,像是在训练的尾声阶段把lr调的非常小,那种意思。

2、3DCNN的理解

ResNet3D = ResNet+3DConv 所以有必要先理解一下3DConv的基础知识

3DResNet 学习记录(3d representation)

3DConv与2DConv的区别,首先就体现在了卷积核的参数上。

2DConv的卷积核尺寸一般为:[in_channels,out_channels,W,H]

3DConv的卷积核尺寸一般为:[in_channels,out_channels,W,H,T] T在这里一般是指,需要连续考虑多少帧的参数。

以下图为例:

3DConv的shape讨论:对于3DConv来说,他的输入、特征图都从2DConv的单张featuremap变成了一个在时序上堆叠起来的“series feature map”,而每一个“通道”可以理解为图中的一整“块”,如C2中就可以说是有“两个通道”,因为C2是由H1经过了两个不同的卷积核而输出的。而这一个“通道”中,包含的是一个“series”的feature map,比如第一层3DCNN层中,卷积核的WHT参数分别为[7,7,3],表示卷积核的尺寸为7*7,且每一次需要考虑三个帧的信息。H1中一个特征为7帧,那么经过7*7*3的WHT参数的卷积核之后,就会输出一个54*54*5的特征map,所以这样就可以理解,C2中的54*34*23*2的尺寸的来由。

同样地,对于第二层7*6*3的卷积层,三个不同的卷积核分别卷积S3层的feature series map,得到13*6的shape,注意这里,输出的通道数和卷积核的个数是不相等的,这点与2DCNN不同。就是经过在两个通道卷积后,不是像2DCNN那样把他们的结果叠加起来,而是分别映射到两个通道中,这点是导致两者不同的原因。相当于把两个通道“分开来算”

最后一层C6的卷积层,尺度应该是7*4*78*128,也就是2DCNN中inchannel为78,outchannel为128,这样去卷积。最后输出128个1*1的featuremap之后,再用全连接层连起来输出即可~

总体来看,3DConv相对2DConv来说,最大的区别就在于所有的输入,特征,都变成了时序性的,也就是提升了一个维度。经过这样的时序上的卷积,可以有效地提取输入以及特征图中的时序信息,帮助网络更好的理解视频之类的输入。不过,文章中提到的架构,可以看到第一个Hardwired层是去手动地提取了光流,梯度等特征,并不算是一个“端到端”的结构。

而ResNet3D,只是用残差结构将一个个的3DConv模块连接起来,通过实验科学组成一个效果比较好的网络,感觉应该没有太多需要讲的地方,如果后续有新的理解,前来填坑~

Reference:

(6条消息) ResNet详解——通俗易懂版_sunny_yeah_的博客-CSDN博客_resnet

(6条消息) 残差resnet网络原理详解_mao_feng的博客-CSDN博客_resnet

本文链接地址:https://www.jiuchutong.com/zhishi/298724.html 转载请保留说明!

上一篇:Linux 下使用 C++ 实现的 Web 文件服务器(linux运行c++程序)

下一篇:基于yoloV7-pose添加任意关键点 + 多类别分类网络修改(yolov3实现)

  • 抖音群怎么设置进群权限(抖音群怎么设置消息免打扰)

  • 钉钉是否可以登录两个账号呢(钉钉是否可以登录微信)

  • 微信通用开启横屏模式意思(微信通用开启横屏功能)

  • faro ls 1.1.501.0(64bit)可以卸载吗

  • 交换机工作在osi哪一层(交换机工作在osi七层模型的哪一层)

  • 转发别人的抖音视频别人能看到吗(转发别人的抖音视频怎么变小了)

  • 钉钉屏幕共享能看见人吗(钉钉屏幕共享能听到对方声音吗?)

  • 联想笔记本键盘锁住了(联想笔记本键盘灯怎么开)

  • 苹果可以设置自己喜欢的字体吗(苹果可以设置自动开机的时间嘛)

  • 华为充电器有pd协议吗(华为充电器有必要买原装的吗)

  • 苹果开热点怎么限制一个人(苹果开热点怎么设置流量上限)

  • iqooneo支持红外遥控吗(iqooneo支持红外吗)

  • 什么叫幻灯片版式(幻灯片的版本是由什么组成的)

  • thumbnails可以删除吗(thumbnails可以删除吗 安卓吧)

  • 转转卖出的东西怎么重新上架(转转卖出的东西的钱什么时候到账)

  • 苹果x能升级12.1.2吗(苹果X能升级到16.5吗)

  • vivoz3水滴屏什么意思(vivo水滴屏是什么意思)

  • shsh2是什么(shsh2和shsh区别)

  • 怎么免费获取Win10 21H2密钥?最新win10激活码分享 附win10激活工具(怎么免费获取百度文库的付费文档)

  • 初识React及React开发依赖介绍(react基础入门)

  • 2023年美赛春季赛 赛题浅析(2023年美赛春季赛成绩查询)

  • python中series是什么意思(python中series的用法)

  • phpcms怎么看代码(php源码查看)

  • python小整数池是什么(python最小正整数)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络