卷积神经网络CNN学习笔记

CNN是一种前馈神经网络,常用来进行大型图像处理。本质是层级网络,只是层的功能和形式做了变化,对传统神经网络做了改进。
具有局部感知、全局共享、平移不变三个优势。

典型结构由五层组成:
数据输入层(INPUT)
卷积计算层(CONV)
**层(RELU)
池化层(POLL)
全连接层(FC)

数据输入层
常用处理方式
去均值(将数据中心化为0)
归一化(减少各维度差异带来的干扰)
去相关(目的是消除或弱化图像波动的相关性)
白化(让各维数据贴近原点)
主成分降维(PCA)

ReLU函数特点:收敛快,求梯度简单

池化层:用于压缩数据和参数量,减少过拟合
常用方法有:最大池化、平均池化

全连接层
两层之间所有神经元都有权重连接
通常全连接层在卷积神经网络尾部

优点
1)共享卷积核,优化计算量
2)无需手动选取特征,训练好权重,即得特征
3)深层次的网络抽取图像信息丰富,表达效果好

缺点
1)需要调参,需要大量样本和GPU等硬件资源
2)物理定义不明确

训练技巧
权重初始化
1)全0初始化->效果差
2)高斯分布初始化 ->效果稍好
3)Xavier初始化(考虑输入、输出维度)->效果好

学习率和批样本大小(batch-size)
1)loss曲线抖动厉害,检查批大小是否太小
2)loss下降比较快,下降一阵后不动,检查批大小是否过大

常用**函数
卷积神经网络CNN学习笔记
常见的几种CNN网络
LeNet5
卷积神经网络CNN学习笔记
AlexNet
卷积神经网络CNN学习笔记
VGG16
卷积神经网络CNN学习笔记
RCNN(Region-based CNN)
卷积神经网络CNN学习笔记
Fast RCNN
卷积神经网络CNN学习笔记
SDD
卷积神经网络CNN学习笔记