《动手学深度学习》学习笔记

这篇博客介绍了深度学习的基础,包括数据操作、自动求导的概念,详细阐述了如何使用PyTorch进行变量设置及求导。线性回归的解析解和梯度下降方法被用来优化参数,特别是小批量随机梯度下降在训练过程中的应用。此外,还讲解了全连接层在实现线性回归时的步骤,包括构建模拟数据、定义网络结构、损失函数和优化方法。
部署运行你感兴趣的模型镜像

《动手学深度学习》学习笔记

数据操作

在这里插入图片描述

自动求导

变量设置求导

x = torch.ones(2, 2, requires_grad=True)

获得导数

out.backward()

这里要求因变量为标量,如果为tensor,则需要提供一个与因变量同大小的权重矩阵,通过加权求和所有元素来把输出的因变量变成标量,然后才能backward().
原因也很好理解:因变量之间是没有关系的,所有因变量元素只不过是放到一起,因此可以把他们排列当做一维向量做线性加权到一个标量l上。这样的好处是梯度就和因变量的纬度无关了,之间获得了l与自变量的梯度,不需要管因变量是个什么形状的tensor。

线性回归

梯度下降方法求解参数
在这里插入图片描述
上式是可以求解析解的。
在这里插入图片描述

也可以通过线性回归的方法通过梯度下降优化待求参数。通常使用小批量随机梯度下降(mini-batch stochastic gradient descent)方法,即小批量计算平均梯度,多批量优化参数。
在这里插入图片描述
这里还乘以了一个学习率,相当于梯度下降方法中的step大小,刚开始可以大一点,后面要小一点。

全连接层(稠密层)

在这里插入图片描述

在这里插入图片描述

线性回归

  1. 构建模拟数据,确定输入(features),输入(label),参数
  2. 写data loader(把数据拆分成batch)
  3. 构建 function (net) , loss 和优化方法
  4. 迭代epoch求解
    在这里插入图片描述

线性回归简洁版

  1. 数据读取
    在这里插入图片描述

  2. 定义自己的function,需要给定参数个数和forward函数。其实是输入与输出之间的函数关系。因此,要给出输入和输出的计算方法,即forward函数。神经网络把这种函数关系用网格结构来代替。
    在这里插入图片描述

  3. 用torch的net结构
    在这里插入图片描述

  4. 损失
    在这里插入图片描述

  5. 优化方法
    在这里插入图片描述

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值