位置: 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实现)

  • 个人开具服务费发票税率
  • 金税盘忘了清盘怎么办
  • 个人承担的社保计入管理费用吗
  • 没有工会 还需要交钱吗
  • 当期进项税额大于销项税额
  • 固定性制造费用成本差异是
  • 对公付款没有发票
  • 业务员出差借款,用途写什么
  • 分公司收到的总部拨款会计如何处理
  • 个体户发放现金工资税务局认可吗
  • 废旧物资回收需要什么手续
  • 小规模纳税人增值税超过30万怎么纳税
  • 归还银行贷款怎么做分录
  • 办公室装修计入什么科目里
  • 进货折让会计分录
  • 未分配利润是怎么算出来的
  • 外包公司代缴的税怎么算
  • 开具信息咨询费的发票
  • 减免增值税计入什么科目
  • 关闭自动更新应用程序
  • php开发用什么ide
  • 电脑没组装好会怎么样
  • 第三方开发是什么意思
  • 对于接受捐赠的资产价值,应计入当期损益
  • 电脑bios错误怎么办
  • 路由器和交换机用什么线连接
  • vue父组件调用子组件的方法报错
  • 会计中的计算公式
  • 盈余公积金可以用来扩大公司生产经营
  • 办公室设计费计入什么
  • php headers
  • atx系统的grpck命令可验证组的合法性
  • 固定资产的基本特征有哪些
  • phpcms 数据库配置文件
  • 公司帮非公司员工缴税
  • 出纳造工资表吗
  • 以前年度损益调整会计分录
  • 年金现值系数公式记忆
  • 周转材料属于什么
  • 印花税漏交了有什么影响
  • 会计凭证的保管期限什么时候调整的
  • 可以采用
  • sqlserver FOR XML PATH 语句的应用
  • 普通的收据可以入账吗
  • 税收滞纳金什么意思
  • 发票优惠金额怎么开
  • 单位代扣代缴个人所得税凭证
  • 小规模纳税人不超过10万免增值税
  • 金税盘显示已到锁死期
  • 案例分析购入办法怎么写
  • 工会经费怎么申报,怎么上交?
  • 轻松跨越英语关在线阅读
  • 清除cmos后电脑不启动
  • win10防火墙打不开错误代码
  • billmoney是什么意思
  • windowsxpdos命令
  • 在mac下如何安装软件
  • mac z
  • centos6.5双网卡绑定
  • win7远程桌面连接命令
  • win7没有nvidia控制面板怎么调节亮度
  • win8电脑键盘全部失灵怎么办
  • QT for Android HelloWorld实现
  • javascript+css3开发打气球小游戏完整代码
  • 百度贴吧上传图片大小
  • 批处理文件教程
  • ssm vue
  • 安卓开发viewpager的用法
  • jq拖拽功能
  • js原生dialog
  • 详解中国女足出线形势
  • java模拟支付功能
  • 上海市个人所得税计算
  • 税控盘怎么领用
  • 工会开票要求
  • 新都税务局咨询电话
  • 债务核销条件
  • 什么是新闻主管部门负责
  • 出口退税已提交数据撤回
  • 南宁税务局进面分数线
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设