二维卷积神经网络

image.png
image.png

00:03:44.271

放进卷积层,然后使通道数提升

00:04:36.639
image.png

下采样层中通道数是不变的
但是宽高会变

目的减少数据量,降低运算的需求
00:05:59.344
image.png

再做一次5x5的卷积
然后2x2的下采样

最后要把三阶向量展开成一维向量
就是挨个排序
00:07:13.014
image.png

然后利用全连接层来映射到10个输出

利用各种层,进行维度变换

00:08:22.737
image.png

卷积+下采样=特征提取器

图像:
rgb图像
栅格图像
00:11:25.291
image.png

00:24:15.002
image.png

00:25:19.212
image.png
取出来一个图形块
对图像块进行卷积
依次移动

输出通道数
00:28:20.851
image.png
00:29:22.737
image.png

00:29:54.087
image.png

00:30:10.046
image.png

这个就是单通道卷积的形象表示

00:30:33.601
image.png

三通道卷积
00:31:02.697
image.png

每一个通道设置一个卷积核
00:32:17.903
image.png

最后三维变成1维
00:33:10.285
image.png

00:35:20.005
image.png

由于kernel
是3x3的所以 h和w减二

00:37:26.084
image.png

n个通道,就需要n个卷积核
00:39:22.814
image.png

00:39:58.292
image.png
00:40:29.340
image.png

00:40:45.478
image.png
输入输出通道,
所有输入的数据都应是小批量的
生成随机输入数据
conv_layer卷积层
输入通道数量
输出通道数量
kernel大小

00:43:39.933
image.png

把创建的对象输入到卷积层中

输入5各通道 100X100长宽
输出10个通道 10 ,98,98

10是输出通道数5输入通道,3,3是卷积核大小

00:45:24.469
image.png

如果我们想要获得5X5的图像,而不是卷积过后3x3的

我们可以在input外围添加一圈
00:46:00.422
image.png
7x7 * 5x5 -> 5x5

00:47:24.915
image.png

最常见的就是填充0

00:47:55.476
image.png

这里的B是batch——size

00:48:00.548
image.png

构建一个卷积层
前两个变量,一个是输入通道,一个是输出通道数
pading 就是上图填0

00:48:52.672
image.png

构建卷积核
00:48:57.849
image.png

输出、输入、宽度、高度

00:49:14.835
image.png

这里对卷积层进行了初始化

00:49:39.334
image.png

如果要输出2x2的
这里就要求stride这个参数为2,也就是步长为2,一次移动两格(长宽都一样
00:49:51.532
image.png
00:50:04.802
image.png
这个可以有效降低输出的宽高
00:50:33.270
image.png

00:50:31.025
image.png

代码变动在这里

下采样

00:50:50.186
image.png

最大池化层

分成2x2的区间,然后再这个各格子内,找最大值

与通道无关,所以变换过后,通道数不变
00:51:51.468
image.png

00:52:02.833
image.png

00:53:01.263
image.png

笨比了

5x5的kernel会导致图像长宽变小4
这个可以自己画个图理解一下

00:53:18.662
image.png
进行一个最大池化
00:53:41.142
image.png
输入通道和输出通道00:54:00.492
image.png

00:54:10.923
image.png

00:54:28.580
image.png

320个元素进行向量化,经过全连接层,映射成10
00:56:19.190
image.png

下面将全连接的网络改成卷积神经网络
00:56:46.689
image.png
00:57:02.712
image.png

00:57:18.363
image.png

relu是进行激活
00:57:43.856
image.png

00:57:47.328
image.png

00:58:14.282
image.png

00:58:42.200
image.png
右边代码和左图有点不一样
右边代码是是
做完卷积之后先做的池化,然后做的激活
00:59:43.641
image.png

view目的就是让其映射到全连接网络所需要的输入
fc就是使用全连接层进行变换

由于要进行交叉熵损失计算,所以最后一层不需要进行激活

01:00:32.903
image.png

01:00:56.703
image.png

01:01:58.222
image.png

01:03:09.107
image.png

01:03:13.584
image.png

01:03:23.604
image.png

01:04:42.246
image.png