23 经典卷积神经网络 LeNet
- Lenet是早期运用CNN的成功的神经网络,发明者是YanLeCun
- 先使用卷积层来学习空间信息
- 最后使用全连接层来转换到类别空间
- 每个卷积层和线性层后面有个sigmoid函数,作用是非线性化
网络架构图
Layer | Description | Input Size | Output Size | Weight | Flop |
---|---|---|---|---|---|
Input | 32×32 grayscale image | 1×1×32×32 | 1×1×32×32 | 0 | 0 |
C1:Conv | Conv layer with 6filters of size 5×5,stride 1 | 1×1×32×32 | 1×6×28×28 | 1×6×5×5+6 | 1×5×5×outputsize |
S2:Pooling | Pooling layer with 2×2 average pooling,stride 2 | 1×6×28×28 | 1×6×14×14 | 0 | 0 |
C3:Conv | Conv layer with 16 filters of sizen 5×5,stride1 | 1×6×14×14 | 1×16×10×10 | 6×16×5×5+16 | 6×5×5×outputsize |
S4:Conv | Conv layer with 2×2 average pooling,stride 2 | 1×16×10×10 | 1×16×5×5 | 0 | 0 |
F5:Fully connected layer | Fully connected layer with 400 inputs,120 outputs | 400 | 120 | 400×120+120 | 400×120 |
F6:Fully connected layer | Fully connected layer with 120 inputs,84 outputs | 120 | 84 | 120×84+84 | 120×84 |
output | output layer with 84 inputs,10 outputs(10-class) | 84 | 10 | 84×10+10 | 84×10 |
数据集
- MNIST
超参数
- kernel大小,卷积层输出通道数,padding,stride,隐藏层个数
权重
- kernel的数值,最后的全连接层的参数,偏置项
复杂度
- 可学习权重:61686 (决定内存大小)
- 总flops:416520 (决定gpu能力)
损失函数
- 交叉熵函数
评估指标
- accuracy
QA
- 一般情况下,输出通道减少一半,输出通道会变成两倍
- Lua,pytorch的torch就是起源于lua语言