【学习笔记1】组会与答疑——关于迁移学习与深度网络防止过拟合的几种有用的tricks

版权声明:欢迎指正存在的错误,欢迎分享最新的学习资源,转载请注明原出处 https://blog.csdn.net/qq_28659831/article/details/78985797

【组会笔记】这一系列的博文将用来记录我在浙江大学学生AI协会中参加交流组会的学习笔记,并且我会补充在会后学习的相关内容,丰富相关知识点,对组会中提出的问题有更深入的了解,在点滴中不断提升。

问题一:为什么用一个数据集训练好的网络换一个数据集的表现并不是那么好?

会上解答:这不是过拟合的问题,这是域迁移(domain bias)问题。比如在动物图片的分类上做的很好的网络并不一定会在家具的分类上表现很好。

解决方案:这是迁移学习(transfer learning)领域研究的问题。对于域偏移问题目前主要的解决方法有以下几个:

(1)fine tune。直接用原来的网络中的相关参数,作为新的初始参数,用小的学习率重新训练。这种方法相当于重新训练,代价大。

(2)one-shot learning,zero-shot learning,few-shot learning。不需要、或利用新的数据集中很少的样本利用已有模型完成迁移学习。

(3)segment everything。(学习中)

问题二:防止过拟合的几种方法

会上解答:
(1)数据增广。对原始图像进行旋转放大裁切加噪声等,防止网络记住一幅图像。
加入L1/L2正则项。

(2)dropout。

(3)BN。Relu函数随着横坐标的增大趋于无穷大,当某个值很大会产生很大的激活值,网络很不稳定;BN将数据归一化,防止产生很大的激活值,BN+sigmoid、BN+Relu可以产生很好的激活值。

(4)cross validation(train,val/test)。之所以设置test和validation,是防止用test数据集刷分的现象,单独给validation测试训练效果,防止在test上“作弊”。就像ImageNet比赛每次Validation数据集公布后排名都会发生风云突变。

问题三:网络的浅层共享和高层共享问题

会上解答:
(1)浅层共享。即用浅层提取的特征做多个任务,浅层关注细节特征,感受野很小。对于分割和检测这样的任务,浅层上关注的特征是一样的,这样做浅层共享更经济。
(2)高层共享。即用高层提取的特征做多个任务。比如两张图片,是不同域的,一个是动漫的,一个是真人的,浅层是不一样的(比如纹理上的细节),但高层是一样的(比如人的轮廓),用一个网络的高层去同时做动漫和真人的轮廓检测是可以做到的。

问题四:1×1卷积的作用

会上解答:比如一个4通道到8通道的普通卷积,用一个3×3的卷积核去卷积,不仅要考虑每个通道height和width上的卷积,还要考虑channel上的卷积,一次每次卷积是跨通道的cross-channel卷积,需要计算4×3×3×8次卷积;若先在各个通道上先用3×3卷积,不跨通道卷积,得到一个4通道的中间层,再用一个1×1的卷积核去跨通道卷积4通道中间层得到8通道的输出层,只需要计算4×3×3+1×1×8次,却可以得到和普通卷积差不多的特征。这样的计算量的减少对于深层的网络来说是巨大的。
(不仅是1×1卷积,关于卷积,自己还有一些问题要去问学长。后续补上。)

会后任务

二选一:
(1)针对Pascal Voc12,自己尝试写一个网络,YOLO网络等都可以。
(2)罗老师给的畸变图像,自己写一个网络,实现图到图的翻译。



-------------------------------------------

Youzhi Gu, master student

Foresight Control Center
College of Control Science & Engineering
Zhejiang University
Email: [email protected], [email protected]

猜你喜欢

转载自blog.csdn.net/qq_28659831/article/details/78985797