刘二大人pytorch
文章平均质量分 51
EnochChen_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PyTorch深度学习实践【刘二大人】之卷积神经网络
GoogLeNet的Inception模块,思路就是我们不知道多大的卷积核更好,我们就多选择几种卷积核然后concatenate进行沿通道拼接。网络中全部用的线形层串行连接起来,我们叫做全连接网络。输入与输出任意两节点间都有权重,这样的线形层叫做全连接层。3通道的图像,与3个卷积核做内积得到3个新的3*3矩阵,并对应位置相加。在卷积层数过多时,会出现梯度消失的情况,需要用残差网络来解决这个问题。卷积神经网络的基本特征,先特征提取再进行分类。下面是此模型的主要代码。原创 2025-01-18 13:57:35 · 490 阅读 · 0 评论 -
PyTorch深度学习实践【刘二大人】之多分类问题
这个公式就能满足两个条件,每个可能输出的概率值都为正,其次所有概率加起来为1。多分类问题,最后用softmax层计算每个分类的值。相加求和,可以满足概率相加为1。zi是每种可能的概率值,分子。确保概率为正,分母把每个。原创 2025-01-13 15:24:19 · 385 阅读 · 0 评论 -
PyTorch深度学习实践【刘二大人】之加载数据集
只用一个样本会得到比较好的随机性,会帮助跨越鞍点。用全部样本计算速度会大大提升。深度学习中我们会使用mini-batch来均衡性能上时间上的需求。Iteration定义:每次训练使用batch-size的次数,即总样本数/batch-size。在梯度下降中有时用全部的数据,有时只用一个样本也称随机梯度下降。batch-size定义:每次训练时所用的样本数量。epoch定义:所有样本都参与了训练。batch-size为2并且打乱顺序。原创 2025-01-12 21:32:41 · 296 阅读 · 0 评论 -
PyTorch深度学习实践【刘二大人】之Logistic回归
下图是二分类的损失函数,本质上是交叉熵公式,用途是度量预测分布与真实分布之间的差异,最终预测值越大越好,说明越接近,但loss有负号,所以loss越小越好。下图就是一个经典的手写数字分类问题,判断数字是0到9的哪一个分类,要用回归的方式估算每个类别的概率为多少,最终选择概率最大的值。根据我们数据,(1,0)(2,0)(3,1),我们推断在2.5小时就为0.5,就是图像的交点。前几节课的线性回归输出值为实数,我们要求概率,所以要把输出值映射为0到1的区间,就选取了。原创 2025-01-08 22:11:40 · 435 阅读 · 0 评论 -
PyTorch深度学习实践【刘二大人】之线性回归
前几节课中,我们都是手动去求导数,在pytorch中主要先构建计算图,梯度什么的会自动求出。另外插一句,本来loss求出也是一个列向量,但因为要求loss是一个标量,所以loss要进行求和,可以选择是否求均值。我们模型为y=w*x+b,w与b为了能与3行1列的矩阵相乘也变为3行1列。则在初始化时x_data与y_data值也是3行1列的矩阵。用pytorch写深度神经网路,主要分为以下四步。在numpy中做加法存在广播机制,维度不同的。原创 2025-01-07 22:00:17 · 220 阅读 · 0 评论 -
PyTorch深度学习实践【刘二大人】之反向传播
下面是f=x*w具体的反向传播过程,L对z的偏导是上一步传递过来的不用管,L对x和L对w的偏导都是链式法则,带入进行运算,如果x前面还有值就继续向前传递。但在网络比较复杂时候,进行一个个求导运算已经太过于复杂,于是我们考虑能否把网络看成一幅图,在图上传播梯度,最终根据链式法则求出梯度。对于线性模型进行反向传播,求出L对w的偏导后,用梯度下降算法对权重进行更新。下图我们可以发现经过化简,无论多少层,都可以看成wx+b,这说明线性模型具有局限性。在上一节课中,我们知道了要用损失对权重w求导,来更新权重。原创 2025-01-04 22:22:24 · 299 阅读 · 0 评论 -
PyTorch深度学习实践【刘二大人】之梯度下降算法
梯度下降更新是以整个的所有数据的平均损失,随机梯度下降是从n个数据从里面随机选一个,这是更新公式变为了拿单个样本得损失进行更新。随机梯度下降只用一个样本,而所有样本都具有噪声,这样就引入了随机噪声,这样即使陷入鞍点,随机噪声也可能把我们推动,在训练过程中就有可能跨越鞍点像最优值迈进。梯度下降算法的目的是寻找全局花费的最小值,首先要确定初始点往左还是往右下降,要根据梯度的定义,梯度就是目标函数对权重求导。,α为学习率,一般学习率要取比较小,若学习率较大w移动的过多,就可能错过最小梯度点。原创 2025-01-02 22:57:42 · 363 阅读 · 0 评论 -
PyTorch深度学习实践【刘二大人】之线性模型
在一般机器学习任务中,先拿一个线性模型看是否有效,本次数据可以轻易看出是属于线性模型,选取y=x*w,此时问题在于权重w取多少,在机器学习中我们都是随机猜一个随机值,然后判断与数据集之间的误差。对于机器学习来说,模型经过训练集的训练,获得新的输入能得到相应预测结果,得到的结果与测试集相对比,进而再调整模型。值得注意的是,损失函数是针对一个样本的,而对于整个的训练集要用下面的公式,先把每个样本损失都加起来,再除以整个个数N。问如果学习4个小时,会得到多少分?在深度学习时,画的表x轴为训练轮数。原创 2025-01-01 21:18:02 · 229 阅读 · 0 评论
分享