欢迎光临散文网 会员登陆 & 注册

《PyTorch深度学习实践》完结合集

2022-08-23 11:38 作者:不败阿豪  | 我要投稿


1. Overview P1 - 00:52


发展曲线



1. Overview P1 - 10:04


  1. 用PyTorch实现学习系统
  2. 理解深度学习神经网络的基本概念




1. Overview P1 - 12:06


根据外部信息进行推理,做出决策或预测

决策

预测:把视觉信息或自然语言文本转化成抽象概念



1. Overview P1 - 19:39




1. Overview P1 - 22:22


和以往人工设定的方式不同,机器学习算法是从数据集里找出来



1. Overview P1 - 23:42




1. Overview P1 - 27:26


  1. 基于规则的学习系统
  2. 经典机器学习(手动提特征)
  3. 表示学习(通过学习提特征)
  4. 深度学习(属于表示学习)



1. Overview P1 - 45:45


经典机器学习路线

SVM受到的挑战

deep learning可以取得性能的提升


1. Overview P1 - 49:39




1. Overview P1 - 52:10


用仿生学的方法构建神经元模型,就叫感知机



1. Overview P1 - 60:33


对于神经网络最重要的,能让其工作起来的算法

核心:计算图



1. Overview P1 - 01:07:43




深度学习在以下几方面的改进



1. Overview P1 - 01:10:31



1. Overview P1 - 01:15:51




2.线性模型 P2 - 00:29




2.线性模型 P2 - 02:21




2.线性模型 P2 - 09:36


数据集没法表示真实分布


2.线性模型 P2 - 16:07


先用线性模型,看是否有效



穷举法代码实现




2.线性模型 P2 - 36:50


随着epoch的增加,训练集误差会趋于稳定,测试集会先减小后增大


2.线性模型 P2 - 39:23




03.梯度下降算法 P3 - 03:07




03.梯度下降算法 P3 - 04:57




03.梯度下降算法 P3 - 09:32


每一次迭代都朝着下降最快的方向走一步,就是贪心算法(未必能得到最优,但能得到局部最优)



03.梯度下降算法 P3 - 17:08


陷入鞍点会导致没法继续迭代


03.梯度下降算法 P3 - 21:00





03.梯度下降算法 P3 - 22:52




03.梯度下降算法 P3 - 28:35


有噪声

加权平滑处理

训练发散(失败)原因:学习率太大



03.梯度下降算法 P3 - 31:34




03.梯度下降算法 P3 - 32:55


只用一个样本点,会得到比较好的随机性,跨越鞍点

性能好,能找到一个更优的点,但是时间复杂度太高,因为没法利用并行性


03.梯度下降算法 P3 - 38:30


批量梯度下降 mini-batch梯度下降



04.反向传播 P4 - 02:47




04.反向传播 P4 - 05:29




04.反向传播 P4 - 14:59


例子



04.反向传播 P4 - 22:08




04.反向传播 P4 - 27:01

1

  1. 换一些值,走一遍过程
  2. 加偏置量


04.反向传播 P4 - 29:12


PyTorch里面最基本的数据类型:Tensor

看到代码,先画计算图



04.反向传播 P4 - 35:30





05.用PyTorch实现线性回归 P5 - 04:19





05.用PyTorch实现线性回归 P5 - 06:45




05.用PyTorch实现线性回归 P5 - 13:40



损失必须是标量



05.用PyTorch实现线性回归 P5 - 19:31




05.用PyTorch实现线性回归 P5 - 26:58




05.用PyTorch实现线性回归 P5 - 38:50


MSE损失函数

SGD优化器



05.用PyTorch实现线性回归 P5 - 46:55



总结

不同的优化器



06.逻辑斯蒂回归 P6 - 01:33


mnist

cifar

回归vs分类

映射函数:sigmoid

常用的sigmoid函数:保证输出在0-1之间,最出名的是logistics函数



06.逻辑斯蒂回归 P6 - 21:42




06.逻辑斯蒂回归 P6 - 24:57


分类问题:计算分布之间的差异


06.逻辑斯蒂回归 P6 - 27:49


交叉熵



06.逻辑斯蒂回归 P6 - 33:24



均值求不求会影响学习率设置


06.逻辑斯蒂回归 P6 - 38:18





07.处理多维特征的输入 P7 - 01:12




07.处理多维特征的输入 P7 - 06:44




07.处理多维特征的输入 P7 - 16:38


矩阵就是从N维空间映射到M维空间的线性变换,可以把矩阵看成空间变换的函数

经常要做的空间变换不一定是线性的,将多个线性变换层通过找到最优权重,组合起来模拟出非线性变换

神经网络本质:寻找非线性空间变换函数

分步降低维度,在接起来之前一定要用sigmoid,每一次空间压缩都引入非线性,可以拟合我们真正想要的空间变换

generally speaking,中间隐藏层越多,中间跳的步骤越多,中间的神经元越多,将来对非线性的学习能力越强

however,学习能力太强,会把输入样本里噪声的规律也学到,我们希望模型有泛化能力


07.处理多维特征的输入 P7 - 25:04




07.处理多维特征的输入 P7 - 29:09




07.处理多维特征的输入 P7 - 30:27




07.处理多维特征的输入 P7 - 32:38




07.处理多维特征的输入 P7 - 35:40




07.处理多维特征的输入 P7 - 39:01


和上一讲没区别



07.处理多维特征的输入 P7 - 39:29



不同的激活函数




08.加载数据集 P8 - 03:03


使用mini-batch需要注意epoch,batch-size,iterations



08.加载数据集 P8 - 06:14




08.加载数据集 P8 - 09:29


dataset:抽象类,不能实例化,只能被其他子类继承

dataloader用来加载数据,可以实例化

自定义类,继承自dataset



08.加载数据集 P8 - 12:40


init里面有两种选择(两种处理方式)

1、读取所有数据:适用于数据量不大(结构化数据),可以一次性加载到内存

2、初始化,定义一个列表,数据集里的每一

条数据的文件名放到相应列表里



08.加载数据集 P8 - 17:49


四个参数


08.加载数据集 P8 - 19:52


修改



08.加载数据集 P8 - 24:08


二重循环:外层epoch,对一整批数据跑完一次;内层对train_loader作迭代


总代码



08.加载数据集 P8 - 29:53




09.多分类问题 P9 - 02:07


神经网络设计



09.多分类问题 P9 - 10:06


损失函数



09.多分类问题 P9 - 26:22


读文档

代码部分


09.多分类问题 P9 - 29:28




09.多分类问题 P9 - 30:20


转张量

归一化



09.多分类问题 P9 - 38:59




09.多分类问题 P9 - 43:39





09.多分类问题 P9 - 44:30


训练和测试封装到函数里

训练

测试




09.多分类问题 P9 - 54:06






10.卷积神经网络(基础篇) P10 - 01:50


构建神经网络

1、明白输入、输出的张量维度是什么

2、利用各种层进行维度上尺寸大小的变化,最终映射到想要的输出空间里面


10.卷积神经网络(基础篇) P10 - 10:15





10.卷积神经网络(基础篇) P10 - 24:24


图像块拿出来做卷积

输出的特征包含patch里的所有信息


10.卷积神经网络(基础篇) P10 - 28:13


多通道计算



10.卷积神经网络(基础篇) P10 - 36:46




10.卷积神经网络(基础篇) P10 - 40:32





10.卷积神经网络(基础篇) P10 - 45:22





10.卷积神经网络(基础篇) P10 - 49:30




10.卷积神经网络(基础篇) P10 - 50:38





10.卷积神经网络(基础篇) P10 - 52:29





10.卷积神经网络(基础篇) P10 - 56:30




10.卷积神经网络(基础篇) P10 - 60:25





11.卷积神经网络(高级篇) P11 - 01:59





11.卷积神经网络(高级篇) P11 - 05:52





11.卷积神经网络(高级篇) P11 - 10:34


跨越不同通道相同位置元素的值



11.卷积神经网络(高级篇) P11 - 13:38




11.卷积神经网络(高级篇) P11 - 17:27


可以直接改变通道数量,减少计算量

用1x1卷积的神经网络也叫network in network


11.卷积神经网络(高级篇) P11 - 21:30




训练神经网络不是轮数越多越好,达到最优时继续训练可能会过拟合,

技巧:实际写代码,如果某一次测试集准确率达到峰值,可以把当前网络的参数备份,最后存盘的那个是泛化性能最好的



11.卷积神经网络(高级篇) P11 - 35:25


梯度消失:越来越小,趋近于0,权重得不到更新,离输入层比较近的这些块没法得到充分训练



11.卷积神经网络(高级篇) P11 - 37:29




11.卷积神经网络(高级篇) P11 - 39:15






增量式开发


11.卷积神经网络(高级篇) P11 - 49:23


找一篇论文



11.卷积神经网络(高级篇) P11 - 52:09







《PyTorch深度学习实践》完结合集的评论 (共 条)

分享到微博请遵守国家法律