卷积神经网络
分层
输入层(Input layer):输入数据,通常会作一些数据处理。
例如:
去均值:把输入数据各个维度都中心化到0
归一化:幅度归一化到同一范围
PCA/白化:用PCA降维,白化是在对数据每个特征轴上的数据进行归一化。
卷积层 (conv):负责提取特征图片,卷积核为n*n矩阵,通常自己生成然后通过反向传播修正。
激活层:将卷积层的结果做非线性映射。
池化层:负责降低特征图片维度,从而降低运算量,压缩数据和参数的量,用于减少过拟合。常用的有最大池化、均匀池化。
全连接层:
输出层:输出一维预测数组
补充
空洞卷积
在卷积核中添加空洞,目的是增大感受野,获取更多信息。
转置卷积
反向卷积的过程,相当于把卷积的结果作为输入,输出得到原图
经典的卷积神经网络
LeNet-5网络
最早用于识别手写数字,输入 为32*32灰度图,输出为10个神经元,正好识别十个数字。
AlexNet
5个卷积层,3个全连接层,输入为227*227*3的RGB,输出为1000个神经元。
VGG
多个较小的卷积核,叠加获得更大的感受野。常用的有vgg-16和vgg-19。
GoogLeNet(Inception)
共有22层,没有全连接层,添加了两个分类辅助器。
TextCNN
NLP中用的,没仔细看。
目标检测
关注特定的物体目标,分为两阶段和但阶段两类。
常见算法
R-CNN
两阶段模型。先提取候选区域(显著性检测?),使用CNN提取候选区域的特征,再送入SVM分类,看看是否属于目标类,最后进行位置(包围框)回归修正。
Faster R-CNN
两阶段。RPN训练得到候选区域,通过滑动窗口实现候选框的提取。
YOLO系列
经典的单阶段算法。检测速度快,但是不善于检测小目标。