2_深度学习

2_深度学习

明廷盛 嘻嘻😁

第一章 深度学习

第一节 神经网络

第二节 卷积神经网络(CNN)

640 640

1.2.1 卷积网络 07:47

  • 原始图 3 通道,
  • CONV层
    • Filter: 就是CONV层, ①可以有多层 ②图片是几通的,
    • Bias: 偏置, 每个Filter层都有一个偏置
  • RELU层: 非线性变化
  • POLL层: Max Pooling: 02:48 (别名: 压缩, 下采样)
  • FC: 打平后全连接softmax出每个分类的概率

640

640
特征图计算
640
VGG-16
|
+-- conv3-64 (第1个卷积层, 一次操作)
| |
| +-- filter W0 3x3x3 --> 27个权重 + 1个bias --> 出图0
| +-- filter W1 3x3x3 --> 27个权重 + 1个bias --> 出图1
| +-- ...
| +-- filter W63 3x3x3 --> 27个权重 + 1个bias --> 出图63
| |
| +-- 64张图叠成 224x224x64(64就是上面每个filter扫一遍各自出的图)
| --> 整块逐元素 ReLU (224×224×64=3211264中每个数都独立做一次 max(0,x))
|
+-- conv3-64 (第2个卷积层)
| +-- filter W0 3x3x64 ... 64个, 深度变成64
| +-> 224x224x64 --> ReLU
|
+-- maxpool 2x2/s2 --> 112x112x64
+-- conv3-128 (第3个卷积层)
| +-- filter W0 3x3x64 --> 576个权重 + 1个bias --> 出图0
| +-- filter W1 3x3x64 --> 576个权重 + 1个bias --> 出图1
| +-- ...
| +-- filter W127 3x3x64 --> 576个权重 + 1个bias --> 出图127
| |
| | 深度还是 64, 因为输入是上一层那 64 张图;
| | 变的是 filter 个数: 64 --> 128
| |
| +-- 128张 112x112 的图叠成 112x112x128
| --> 整块逐元素 ReLU (112×112×128=1605632 中每个数各做一次 max(0,x))
| 本层参数量 = 128 x (3x3x64 + 1) = 73856
|
+-- conv3-128 (第4个卷积层)
| +-- 128个 filter, 每个 3x3x128, 出 128 张图
| +-> 112x112x128 --> ReLU 本层参数量 = 128 x 1229 = 157312
|
+-- maxpool 2x2/s2 --> 56x56x128

1.2.2 经典网络

Alexnet(2012): 00:59 VGG(2014): 01:52
640 640
①卷积盒太大 ②步子太大 ③padding都没有 ①maxpooling的损失, 下一层卷积弥补回来(pooling后特征图×2)
问题: 发现不是越深越好
Resnet(2015): 04:57
640
①有个跳线的保底

1.2.3 感受野 01:57

640 640

第三节 循环神经网络(RNN)

1.3.1 RNN网络架构 03:37

会把前一层得到的中间结果保留下来, 参与下一层的运算

640 640

1.3.2 LSTM网络架构 09:05

  • RNN的问题: 会把之前所有的结果记忆下来 => LSTM
    640

第四节 Word2Vec

上下文 ①one-hot x ──× W──> 词向量 h ──× W'──> 全词表打分 ──softmax──> y
(固定不动) ^^^^^^^^ ^^^^^^^^^^
可训练② 可训练③
① one-hot编码:
语料: "the cat sat on the mat the cat"
↓ 数词频
the=3 cat=2 sat=1 on=1 mat=1
↓ 按频次排序,发编号
the=0 cat=1 sat=2 on=3 mat=4 <- 词表 V=5
↓ 编号写成向量
cat = [0, 1, 0, 0, 0]
the = [1, 0, 0, 0, 0]
sat = [0, 0, 1, 0, 0]

1.4.1 CBOW 和 Skip-grame 06:01

  • 区别: CBOW那里给的传入上下文 最后y:预测中间词; Skip-grame: 给中间词, 预测上下文
W那里喂什么内容 一次更新同时更新W, W’ 训练结束后W②的样子
640 640 640
  • 问题: 10W分类? 不不不, 直接给两个not``thou让它判断对/错(二分类)
    640
  • 负采样模型
target全是1, 模型学会了, 蒙1就行了 认为添加负样本
640
640

VIT源码

1. vscode环境配置

  • 手动创建: ①点击RUN AND DEBUG图标 ② Select a debug configuration ③Python Debugger ④Python File
  • 等价运行:
python train.py --name cifar10-100_500 --dataset cifar10 --model_type ViT-B_16 --pretrained_dir checkpoint/ViT-B_16.npz
image.png|775 image.png
image.png
{
"version": "0.2.0", // launch.json 格式版本,固定写这个
"configurations": [ // 启动配置列表,下拉框每一项对应这里一个对象
{
"name": "train", // 下拉框显示名,对应 PyCharm 的 Name
"type": "debugpy", // 使用 Python 调试器
"request": "launch", // 由 VS Code 启动脚本(不是去附加已有进程)
"program": "${workspaceFolder}/train.py", // 要跑的脚本:工作区根目录下的 train.py
"cwd": "${workspaceFolder}", // 工作目录,相对路径从这里算
"console": "integratedTerminal", // 输出打到 VS Code 内置终端
"args": [ // 传给 train.py 的命令行参数,对应 PyCharm 的 Parameters
"--name", "cifar10-100_500", // 这次实验名称
"--dataset", "cifar10", // 使用 CIFAR-10 数据集
"--model_type", "ViT-B_16", // 模型结构:ViT-B/16
"--pretrained_dir", "checkpoint/ViT-B_16.npz" // 预训练权重路径
]
}
]
}
  • Title: 2_深度学习
  • Author: 明廷盛
  • Created at : 2026-10-28 03:23:21
  • Updated at : 2026-10-20 20:58:00
  • Link: https://blog.20040424.xyz/2026/10/28/🤖人工智能/2_深度学习/
  • License: All Rights Reserved © 明廷盛