【2022新生学习】第二周要点

阅读: 评论:0

【2022新生学习】第二周要点

【2022新生学习】第二周要点

视频学习内容讨论

1、为什么视觉任务要使用卷积神经网络?

传统的全连接网络权重矩阵参数太多,容易过拟合;CNN可以通过局部关联、参数共享来解决这一问题。**(但是,模型统一是发展趋势,最近Transformer模型就比较火,可以统一NLP、CV、网络等领域)**

2、卷积的参数量计算?

公式为: k × k × C i n × C o u t ktimes ktimes C_{in} times C_{out} k×k×Cin​×Cout​ ,注意这个和 feature map 的尺寸是没有关系的。假设输入层为一个大小为64×64像素、三通道彩色图片,要求输出4个Feature Map,且尺寸与输入层相同。整个过程可以用下图来描述:

卷积层共4个Filter,每个Filter包含了3个Kernel,每个Kernel的大小为3×3。因此卷积的参数量可以用如下公式来计算:3x3x3x4=108。

3、神经网络的低层和高层分别学什么?

低层的网络多在关注细节,高层的网络多在关注语义概念。同时,不同的卷积核关注的东西也不太一样。

附学术故事: 2012年,AlexNet取得了巨大成功,各个公司都出高价要收购这个技术。Hinton找人咨询后,成立了一家没有产品的公司 DNNResearch,只有三个员工。然后,于2012年12月组织了一场竞拍,谷歌、百度、微软 和 DeepMind 参加了竞拍。一开始都是100万美元的涨幅,后来完全控制不住,最后成交价格是4400万美元。感兴趣可以百度《深度学习崛起那年,百度差点签下Hinton》。

4、CNN的发展

2018年录制的专知视频里只讲了AlexNet, VGG, GoogleNet, ResNet,没有包含最新的模型,下面PPT来自清华黄高的2022年最新报告《视觉骨干模型研究前沿与探讨》,总结的非常好,其中提到的模型大家可以自行学习。

## 5、AlexNet 在 AlexNet 以前,SVM是整个领域的主流,神经网络已经沉寂了很久很久。2012年,AlexNet得到ImageNet竞赛的冠军,远远超过第二名近10个点,主要原因在于: - 大数据训练:百万级ImageNet图像数据 - 非线性激活函数:ReLU - 防止过拟合:Dropout, Data augmentation - 算力:双GPU实现
## 6、VGG网络 VGG网络变得更深,从 AlextNet 的8层变成了 16 / 19 层,是2014年ImageNet竞赛的第二名。网络参数量是AlexNet 的2倍,主要集中在最后FC层。 训练这么深的一个网络是非常困难的,因为当时还没有BatchNorm技术。VGG网络影响力巨大,到现在CVPR等顶会的论文里仍然能看到它。

7、GoogleNet

2014年ImageNet竞赛的冠军,错误率从2013年的11.7降低到6.7。网络包含22层,参数量大大降低,没有FC层。GoogleNet 有V1、V2、V3、V4等版本,设计的核心为 Inception 模块(GoogleNetV1),核心思想是多个尺度的卷积核并行。其中,3X3的分支参数量为 3x3x256x192=442,368,参数量仍有可优化的空间。(辅助分类器的作用?有些像逐层预训练)

谷歌的科研人员也发现了这个问题,因此,第二年提出的 GoogleNetV2 中,加入1x1 的卷积把feature map 降到64,解决参数量过大的问题。这样,3X3分支的参数量就是 1x1x256x64+3x3x64x192 = 126, 976。

到 GoogleNetV3,主要改进为把 5x5 的卷积分解为两个3x3。(参数量从25降到18)

8、ResNet

2015年 ImageNet 竞赛的冠军,错误率从6.7降低到3.57%,网络有152层。来自中国的团队首次登上了人工智能领域的巅峰,获得CVPR2016的 Best Paper。作者何恺明的相关介绍可以查看文章《AI天才》,年轻天才的故事还在继续。

残差的思想: 去掉相同的主体部分,从而集中学习微小的变化,可以用来训练非常深的网络。

代码练习内容讨论

1、对于MNIST数据分类,为什么打乱像素顺序 ,效果就非常差了?为什么全连接网络仍然能够相对准确的分类?

## 2、dataloader 里面 shuffle 取不同值有什么区别? 因为数据集是要跑多轮的,每一轮是一个epoch。为了保证每次训练数据的多样性,就需要 shuffle。因此,训练时需要 shuffle,但是测试就不需要了。

3、transform 里,取了不同值,这个有什么区别?

主要起对数据归一化的作用,影响可能并不很大。代码二里面有人对CIFAR10的数据进行了统计,这个值可以将数据集归一化到均值为0,方差为1。

4、epoch 和 batch 的区别?

5、1x1的卷积和 FC 有什么区别?主要起什么作用?

本质上就是通道上的全连接层,一般起特征降维作用,降低网络的参数量。

6、Residual leanring 为什么能够提升准确率?

这是一个再经典不过的问题,网上有很多解答,大家自己多看一看。UNet结构里的 skip connection 是一个原理。

7、代码练习二里,网络和1989年 Lecun 提出的 LeNet 有什么区别?

数据的尺寸不太一样,CIFAR10是32x32,但MNIST是28x28。激活函数不一样,LeNet使用的是sigmoid激活函数,但我们代码里使用的是ReLU。

8、代码练习二里,卷积以后 feature map 尺寸会变小,如何应用 Residual Learning?

class Bottleneck(nn.Module):def __init__(self, in_planes=256, planes=64):super(Bottleneck, self).__init__()v1 = nn.Conv2d(in_planes, planes, kernel_size=1)self.bn1 = nn.BatchNorm2d(v2 = nn.Conv2d(planes, planes, kernel_size=3, stride=1, padding=1)self.bn2 = nn.BatchNorm2d(v3 = nn.Conv2d(planes, in_planes, kernel_size=1)self.bn3 = nn.BatchNorm2d(in_planes)def forward(self, x):out = F.relu(self.v1(x)))out = F.relu(self.v2(out)))out = self.v3(out))out = out + xout = F.relu(out)return out

9、有什么方法可以进一步提升准确率?

如果感兴趣的话,推荐同学们去看一看 self-attention(SENet,CBAM,ECANet 等)相关论文。

本文发布于:2024-02-04 08:57:40,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170703575654162.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:要点   新生
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23