【2021.02.24】卷积神经网络
本期的学习来源是:https://www.bilibili.com/video/BV1Y7411d7Ys?p=10
代码来源:https://blog.csdn.net/bit452/article/details/109680909
全联接线性网络(由linear串联起来
全联接层:任意两个节点间,每个输入节点都要参与到输出节点的计算上
卷积神经网络
卷积层作用:保留空间特征、空间结构、空间信息
因为转化为线性结构的时候可能会拆散空间结构
例如二维数组实际上是一位数组,二维数组虽然在同一列上相邻位置,但是在一维数组相隔一行的距离
特征提取器(Feature Extraction)
找到图像中的特征,分为卷积和下采样
卷积(Convolution)
卷积的时候通道数变多,宽高变化
下采样(Subsampling)
通道数不变,图中的宽高变化,例如图中的C1->S1,降低运算需求
分类(Classification)
最终得到向量,使用全联接层映射到多维的输出
然后使用交叉熵损失,最终计算出权重
单通道输入特征提取
不是做矩阵乘法,而做数乘
输出值与kernel(卷积核)的矩阵大小相同
单通道输出的最后结果是
多通道输入特征提取
每一个通道都要配一个卷积核
多少通道就有几个卷积核
然后将每个卷积核得到的结果骡起来
将输入3个3*3的卷积核,得到的结果是单通道的
多准备几个卷积核,就可以得到多个单通道
将它们拼接在一起,就可以得到多通道的结果
有两点必须注意
一、卷积核的通道和输入的通道必须相同(且卷积核的宽高常用奇数
二、输出的通道数和卷积核数量相同
计算公式为N*Win*Hin 与 M个的卷积核(N*Wk*Hk)会得到M*N*Wout*Hout的四维张量
卷积常用变量
padding:在原图像的边上添几圈数(常用0),使得最后得到的输出与原图的大小相同
bias:偏置量,类似于k*x+b的b,在计算卷积的时候可以选择是否加入
stride:步长,正常为1,会使得输出的图像变小
Maxpooling:将同一个通道的某个矩阵中的最大值提取
最后通过一个线性层得到十维向量
将向量放入softmax layer层得到各个分类的概率
用具体步骤显示如下图所示