二维卷积神经网络

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