day06-07 深度学习基础
-
问题1: 很多显而易见的事情, 只有当它真的显而易见了, 才显而易见 !!! (大神)
- 1989年Hinton大神的BP算法.
- 2012 AlexNet才辉煌起来.
- Alex采用了这个ReLU()激活函数, 发现效果异常的好.
- 神经网络 + ReLU() + 英伟达GPU
- ✅ 真相: Alex 博士5年没毕业了, 病急乱投医 !!!
- 也要感谢英伟达的GPU.
-
问题2: 反向传播是为了干啥的? (昂稀饭)
- BP专门用来训练神经网络的!!!
- BP算法是整个AI时代最底层, 最重要, 最根本的算法!!!
- https://playground.tensorflow.org/
-
问题3: torch.sigmoid(x).sum().backward() 为什么要有一个sum()函数夹在中间?
- 注意📢: 只能在标量上进行反向传播 x.backward(), x必须是一个标量 (本质上是一个值)
-
问题4: 关于梯度下降算法的复习?
- 没看机器学习导学部分的小伙伴赶紧回去看👁
-
问题5: 没看见调用forward()函数啊? (昂稀饭)
- output = net(inputs)
- 上面这行代码, 自动就去调用了forward()函数 !!!
-
⭕️作业: 回去仔细的查查反向传播算法的原理, 提交一下 \(y = softmax(x)\) 函数的反向传播的数学推导.
- 1: 手推版本softmax的反向传播 (拍照提交).
- 2: 第三模块, 第1章 ~ 第4章的内容 + 代码跑完, 提交作业.
- 截止12月26日 22:00之前, homework_03 📮 (小朱老师 + 助教老师)
-
问题1: 关于参数初始化的经验问题?
- 1: 首先一定要避免全零初始化......torch.nn.init.zeros_() ❌
- 2: 均匀分布 > 正态分布 ✅
- 3: 暂时没有确定的nn.normal() 不如 nn.kaiming_normal(), nn.xavier_normal()
- 任意的一家公司, 如果已经有若干大模型的训练经验的话, 会始终保持某一种初始化方案, 一直用.
-
问题2: loss = f(x) 起点比较局限, 很难找到全局最优点, 卡在一些局部最优? (Stephen)
- 小朱老师👩🏻🏫提问: 以神经网络为基础的深度学习, 理论上能不能确定的找到全局最优解???
- 不能 !!! ❎
- 本质上: 神经网络构造的解空间, 在数学上进行非凸优化的过程 !!!
- 数学上找不到解析解 !!!
- 各种找近似解...... == 等效于找局部最优解......
- 经过过去6-7年全世界的学术界 + 工业界的实践, 只要模型规模足够大, 收敛的这个局部最优解就会无线趋近于全局最优解 !!!
- BERT时代就开始了, 1亿参数就有这个特征了.
- 小朱老师👩🏻🏫提问: 以神经网络为基础的深度学习, 理论上能不能确定的找到全局最优解???
-
问题3: 关于Dropout的几个问题?
- 1: Dropout的概率 p = 0.5, 用于神经元的随机失活.
- 2: 把重要的参数丢弃了怎么办? (昂稀饭)
- 第一, 你并不知道哪些参数重要 or 不重要.
- 第二, dropout的机制是在每一个batch_size上重新起作用的......
- 3: 关于p值在未失活的神经元上的缩放问题: \(\frac{1}{1-p}\).
- 只在训练阶段起作用.......model.train()
- 原始模型1亿个参数, 训练阶段每个批次只有5000万生效.
- 在推理阶段 (预测) 的时候补齐作用........model.eval()
- 原始模型1亿个参数, 预测阶段每个批次有1亿个生效.
- 只在训练阶段起作用.......model.train()
- 4: 不平衡问题
- 推荐系统领域: exposure bias (曝光偏差)
- 2024阿里要提前预测11.11商品GMV, 模型的训练数据 + 预测数据怎么选?
- 1, 2, 3, 8, 9, 10 --- 训练集 ; 4, 5, 6, 7 --- 测试集 ❌
- 1, 2, 3, 4, 5, 6, 7 --- 训练集 ; 8, 9, 10 --- 测试集 ✅
- 不能出现时间穿越的问题.
- 2024阿里要提前预测11.11商品GMV, 模型的训练数据 + 预测数据怎么选?
- NLP领域: dropout问题
- 训练的时候有dropout ; 预测的时候没有dropout
- 极少数的不平衡的bug, 但是对模型没有伤害, 有很大比例的好处的一个方法.
- AI领域: 数学上的本质问题必须遵循 !!!
- 独立同分布假设 !!! ✅⭕️🔮
- 推荐系统领域: exposure bias (曝光偏差)
-
问题4: nn.CrossEntropyLoss() 函数干什么的?
- 作业1: 鼓励同学们回去查查什么是交叉熵损失函数.
-
问题5: 关于模型如何优化?
- 1: 数据的标准化
- 2: 更换优化器 nn.optim.Adam()
- 3: 多训练一个epochs = 100
- 4: 神经网络复杂化, 3层变5层
- Acc: 0.96750
- 作业2: 同学们回去自己优化模型, 让你的Acc值至少超过0.97 !!!
- ⭕️ 2024.12.30 20:00 提交homework_04

浙公网安备 33010602011771号