目录
实验内容
编程基础
机器学习基础
FNN
CNN
RNN
网络优化与正则化
扩展实验
建议自学实验
实验基本步骤
实验涉及知识点
知识点相关细节
更多细节
实验内容
编程基础
NNDL 实验一 numpy
NNDL 实验二 pytorch
机器学习基础
NNDL 实验三 线性回归
NNDL 实验四 线性分类
FNN
NNDL 实验五 前馈神经网络(1)二分类任务
NNDL 实验五 前馈神经网络(2)自动梯度计算 & 优化问题
NNDL 实验五 前馈神经网络(3)鸢尾花分类
CNN
NNDL 实验六 卷积神经网络(1)卷积
NNDL 实验六 卷积神经网络(2)基础算子
NNDL 实验六 卷积神经网络(3)LeNet实现MNIST
NNDL 实验六 卷积神经网络(4)ResNet18实现MNIST
NNDL 实验六 卷积神经网络(5)使用预训练resnet18实现CIFAR-10分类
RNN
NNDL 实验七 循环神经网络(1)RNN记忆能力实验
NNDL 实验七 循环神经网络(2)梯度爆炸实验
NNDL 实验七 循环神经网络(3)LSTM的记忆能力实验
网络优化与正则化
NNDL 实验八 网络优化与正则化(3)不同优化算法比较
扩展实验
NNDL 实验七 循环神经网络(4)基于双向LSTM的文本分类
NNDL 实验八 网络优化与正则化(2)批大小的调整
NNDL 实验八 网络优化与正则化(4)参数初始化-Xavier
NNDL 实验八 网络优化与正则化(5)逐层规范化
NNDL 实验八 网络优化与正则化(6)网络正则化
建议自学实验
NNDL 实验九 注意力机制
实验基本步骤
做了16个实验,套路基本是一样的。同学们经过一个学期的反复训练,相信已经掌握规律。
自建或者调用已有数据集 → 建立模型 → 前向传播 → 计算损失函数 → 求损失函数对参数的梯度 → 误差反向传播 → 使用梯度下降法更新参数 → 模型再次计算 → 损失函数收敛(不收敛需要修改) → 达到预期目标停止训练 ( 没达到继续训练) → 存储最优模型 → 检验 → 预测
忙了一学期,其实就学了这点东西。这点东西为什么还觉得挺辛苦?
“说起来容易,做起来难”,每一个步骤都会遇到很多问题。
实验涉及知识点
数据预处理、参数初始化、批归一化、交叉熵损失函数、准确率、预测、优化、正则化……
每次实验都要考虑以上问题,效果不好还要调整,做好一次实验很辛苦。
只用Pytorch自带的各种算子做实验,还不算辛苦,更辛苦的是自己做各种算子。
打开“黑盒”看内部结构,正是本学期学习的精华。
从损失函数到激活函数,从各种反向传播(BP、CNN BP、BPTT、LSTM BP、BN BP)到各种优化器,从参数初始化到超参数优化,打开一个又一个“黑盒子”,从此懂了更多的原理,不再是那个曾经的“调参侠”。
大话卷积神经网络CNN(干货满满) - 调参侠
知识点相关细节
图片越来越复杂,涉及的知识点越来越细。
只有亲手把“黑盒子”都打开看看,才能深谙其中的奥妙。
16次实验,12次作业,每一篇博客背后都有着很多故事。
白天与黑夜,盛夏到寒冬,一次次跌倒,一次次爬起,经历风雨,终见彩虹。
没有人能随随便便成功,多年后再看2022,会感谢那个拼搏的自己。
更多细节
上面那些只是实验常用知识,还有更多的理论基础:抽象的公式推导,高等数学、线性代数、概率轮、统计学、最优化方法的应用。
更多细节内容可参考:NNDL 知识点梳理
REF:
神经网络与深度学习 (nndl.github.io)