10卷积神经网络(初级)
二维卷积神经网络


放进卷积层,然后使通道数提升
下采样层中通道数是不变的
但是宽高会变
目的减少数据量,降低运算的需求
00:05:59.344

再做一次5x5的卷积
然后2x2的下采样
最后要把三阶向量展开成一维向量
就是挨个排序
00:07:13.014

然后利用全连接层来映射到10个输出
利用各种层,进行维度变换
卷积+下采样=特征提取器
图像:
rgb图像
栅格图像
00:11:25.291

00:25:19.212

取出来一个图形块
对图像块进行卷积
依次移动
输出通道数
00:28:20.851

00:29:22.737

这个就是单通道卷积的形象表示
三通道卷积
00:31:02.697

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

最后三维变成1维
00:33:10.285

由于kernel
是3x3的所以 h和w减二
n个通道,就需要n个卷积核
00:39:22.814

00:40:45.478

输入输出通道,
所有输入的数据都应是小批量的
生成随机输入数据
conv_layer卷积层
输入通道数量
输出通道数量
kernel大小
把创建的对象输入到卷积层中
输入5各通道 100X100长宽
输出10个通道 10 ,98,98
10是输出通道数5输入通道,3,3是卷积核大小
如果我们想要获得5X5的图像,而不是卷积过后3x3的
我们可以在input外围添加一圈
00:46:00.422

7x7 * 5x5 -> 5x5
最常见的就是填充0
这里的B是batch——size
构建一个卷积层
前两个变量,一个是输入通道,一个是输出通道数
pading 就是上图填0
构建卷积核
00:48:57.849

输出、输入、宽度、高度
这里对卷积层进行了初始化
如果要输出2x2的
这里就要求stride这个参数为2,也就是步长为2,一次移动两格(长宽都一样
00:49:51.532

00:50:04.802

这个可以有效降低输出的宽高
00:50:33.270

代码变动在这里
下采样
最大池化层
分成2x2的区间,然后再这个各格子内,找最大值
与通道无关,所以变换过后,通道数不变
00:51:51.468

笨比了
5x5的kernel会导致图像长宽变小4
这个可以自己画个图理解一下
00:53:18.662

进行一个最大池化
00:53:41.142

输入通道和输出通道00:54:00.492

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

下面将全连接的网络改成卷积神经网络
00:56:46.689

00:57:02.712

relu是进行激活
00:57:43.856

00:58:42.200

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

view目的就是让其映射到全连接网络所需要的输入
fc就是使用全连接层进行变换
由于要进行交叉熵损失计算,所以最后一层不需要进行激活

































