600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记

【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记

时间:2023-12-17 21:49:27

相关推荐

【机器学习】《动手学深度学习 PyTorch版》李沐深度学习笔记

基础知识部分

第一章 模型选择+过拟合和欠拟合

1.区分两种误差

2.分清两种重要的数据集

3.K-则交叉验证

4.欠拟合和过拟合

解决办法:

(欠拟合)

1.获得更多的训练数据

2.降维

3.正则化:保留特征、减少参数大小

(过拟合)

1.添加新特征

2.增加模型复杂度

3.减小正则化系数

5.估计模型容量

全连接层如何计算参数的个数:

h = wx + b(h充当下一次的x 每一层的b只有1个)

6.总结

7.一些小问题:

1.Svm的缺点:不适用于大数据集;可以调的东西不多。

神经网络的优点:它是一种语言,中间有很多有逻辑的语句;可以做很好的特征提取;

2.一个数据集30%做为测试数据集,70%作为训练数据集。在70%的数据集上做5折交叉验证(数据分成5块,五块轮流做测试集,最后求平均)(!!数据集不够的时候才有用,如果数据集太大不能用)

3.时序序列:最后一星期的做测试集,前边的做训练集

4.标准化:数据-均值 / 方差(两种方法计算,要不拿全部数据计算,要不用训练集数据计算)

5.设计超参数:推荐使用随机方法(随机100次)

6.如果训练是不平衡的(比如说二分类问题,两类9:1)⑴考虑现实世界中是不是也是这样的比例,如果是就可以抓大放小⑵如果是采样没采好,那么就可以提高1的比例,比如复制8遍让其1:1

第二章 权重衰退(weight-decay)

我们总是可以通过去收集更多的训练数据来缓解过拟合。但这可能成本很⾼,耗时颇多,或者完全超出我们的控制,因⽽在短期内不可能做到。假设我们已经拥有尽可能多的⾼质量数据,我们便可以将重点放在正则化技术上。(正则化:保留特征、减少参数大小)限制特征的数量是缓解过拟合的⼀种常⽤技术。在训练参数化机器学习模型时,权重衰减(weight decay)是最⼴泛使⽤的正则化的技术之⼀,它通常也被 称为L2正则化。(一般使用在全连接层)要保证权重向量⽐较⼩,最常⽤⽅法是将其范数作为惩罚项加到最⼩化损失的问题中。

注:加入惩罚项就是为了让w最优

总结:

1. 权重衰退通过L2正则项使得模型参数不会过大,从而控制模型复杂度

2. 正则项权重是控制模型复杂度的超参数

3. 权重衰减的值λ:0.01 0.001 0.0001 权重衰减的效果并不好,后边会更新更多的方法(eg:dropout)

第三章 丢弃法(dropout)

dropout定义

注:这里除以1-p是保证整体的均值还是不变的

总结

丢弃法讲一些输出项随机置0来控制模型复杂度一般作用在多层感知机的隐藏层输出上丢弃概率是控制复杂度的超参数丢弃概率一般是0.5 0.9 0.1(效果要比L2要好)有dropout的好处:可以把隐藏层的稍微扩大一点,也可以把dropout的大小设置的大一些。也可以不用dropout,把隐藏层设置的小一些。机器学习没有正确性,只有效果好不好在推理中的dropout是直接返回输入的(推理一轮),因为在预测时跑非常多轮。Dropout一般都是在全连接层使用,权重衰退(weight decay)卷积层 transformer都可以用有dropout的加入,参数的收敛可能会变慢。sigmoid可能引起梯度消失整个深度学习,都是为了让数值更加的稳定nan的产生:除0 inf的产生:lr太大或者权重初始化太大

神经网络卷积池化

第四章 卷积层

1.对全连接层使用平移不变性(核不变)和局部性得到卷积层

2.卷积层将输入和卷积核进行交叉相关(卷积其实是交叉相关的180°翻转),加上偏移后得到输出

3.核矩阵和偏移是可学习的参数(核也在动态更新)

4.核矩阵的大小是超参数

5.全连接层权重会随着输入的变大会变得超级大,卷积不会产生这个问题

(含有全连接层的网络输入数据的大小应该是固定的,这是因为全连接层和前面一层的连接的参数数量需要事先确定,不像卷积核的参数个数就是卷积核大小,前层的图像大小不管怎么变化,卷积核的参数数量也不会改变,但全连接的参数是随前层大小的变化而变的,如果输入图片大小不一样,那么全连接层之前的feature map也不一样,那全连接层的参数数量就不能确定, 所以必须实现固定输入图像的大小。)

6.计算输出的高度核宽度:输出的高度=输入的高度-核的高度+1 输出的宽度=输入的宽度-核的宽度+1

7.输出的高度=向下取整(输入的高度-核的高度+填充的高度+步幅)/步幅 输出的宽度=向下取整(输入的宽度-核的宽度+填充的宽度+步幅)/步幅

8.填充一般设置为核-1 这样能保证输入和输出的大小相等 步幅的选择是因为计算量太大了进行的约束

9.Googlenet核心设计:使用小的卷积核

10.底层可以使用大的卷积核 上边一般还是使用3*3的卷积核

第五章 卷积层中的多输入多输出通道

1.一般多个输入通道,输出通道一般只有一个

2.我们可以有多个三维卷积核,每个核生成一个输出通道CoC1KhKw

3.11的卷积层非常的受欢迎,它不识别空间模式,知识融合通道(是根据卷积核的个数,实现通道的融合)

4.输出通道数是卷积层的超参数(输出通道数等于上一层的卷积核个数)

5.每个输入通道有独立的二维卷积核,所有通道结果相加得到一个输出通道结果

6.每个输出通道有独立的三维卷积核

第六章 池化层

1.池化层分为最大池化和平均池化

2.卷积层对位置非常的敏感(i,j),池化层就是再削弱这种敏感

3.经常在池化层使用一个stride=2,使得输出变小,计算变少

4.为什么池化用的越来越少了?(上边两条是池化层的优点)是因为现在的卷积层一般都是加了一个stride,所以池化的功能减弱了。后续会去数据进行处理(旋转、平移、放大、放小做很多操作)使其不会过拟合,淡化了池化层的作用。

第七章 简单的卷积网络(LeNet)

1.view不改变内存存储,reshape改变内存存储方式(两者作用差不多)

2. 一共输出16个通道数据(为什么通道数越来越多呢?这是因为长和宽越来越小,我们希望增加通道数来尽可能保留输入的特征)

3.卷积输出层通道数 = 卷积核的个数 每个核的通道数和初入通道数相同

4.conv2d、conv3d(医学图像、气象、卫星)

第八章 vgg

1.vgg引言

alexnet比lenet更深更大?能带来更好的精度?能不能更深更大?

(1)更多的全连接层【太贵】(2)更多的卷积层(3)讲卷积层组合成块

2.vgg

(1)vgg16包括3个全连接+13个卷积层

(2)CNN感受野计算公式:F(i)=(F(i+1)-1)stride+ksize【概念公式看下方】

(3)亮点:通过堆叠三个33卷积核来代替5*5卷积核需要的参数【减少参数】

(4)Vgg16网络分为两部分:1.卷积池化:提取特征网络结构 2.全连接层:分类网络结构

(5)num_workers是线程数的意思(win一般默认为0)

(6)卷积层参数个数计算方法:卷积核高 * 卷积核宽 * 输入通道数 * 卷积核个数

当前全连接层参数个数计算方法: (上一层神经元个数 + 1) * 当前层神经元个数

注意:

在很多代码中在预处理的阶段会在rgb上减去这三个值,这三个值分别对应这imgnet图像数据集的所有图片的rgb三个通道的均值。

第九章 NiN

3.NIN引言

全连接层会引起参数非常的多,参数多带来的问题【基本上所有的参数都在全连接层】

(1)占用很大内存(2)占用很大的带宽(3)很容易过拟合

4.NIN

(1)NIN直接不要全连接层【使用1*1的卷积代替】(2)这里的全连接是对像素进行的全连接

(3)全局平均池化层带来的好处和坏处:

好处:

模型复杂度降低了;提升了泛化性;

坏处:

收敛变慢了(alexnet和vgg收敛的快是因为两个全连接层);多扫两三遍数据无所谓,精度好;

注意:

全局池化层的含义是:池化层的高宽是等于输入的高宽的

第十章 googlenet

注意:每个分支所得的特征矩阵高和宽必须相同

1.inception块的引入

(1)alexnet引入ReLu(缓解梯度消失),隐层全连接层后加入了丢弃层

(2)vgg出现卷积层组合成块(通过堆叠三个33卷积核来代替55卷积核需要的参数)

(3)nin模型出现1*1卷积,丢弃全连接层

(4)googlenet全部结合,inception块,从四个路径从不同层面抽取信息,然后在输出通道维合并(要保证输入核输出的特征矩阵高和宽相同)

2.inception块(高宽不变,只改变通道数)带来的好处

(1)增加模块内部的多样性

(2)参数个数变少了

(3)计算量变低了

3.googlenet结构

(1)googlenet中有5段,9个inception块

(2)inception有各种后续变种(常用的是v3)

4.总结

框架整体设计思想:

(1)通道数增加,大小减半的快一些

(2)后边大小就减半减半减半

(3)通道数增加到1024

1*1的卷积核是怎么实现降维的作用呢?

1*1卷积核的个数=输出的通道数

辅助分类器

注意:要保证输入核输出的特征矩阵高和宽相同!!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。