1.全连接网络的问题
- 算得慢,难收敛:层间连接数和参数数量相同,十分庞大。还易产生过拟合、局部极小等问题。
- 解决方法:局部连接;信息分层处理 → 卷积神经网络
2.主流深度学习平台
- TensorFlow
- PyTorch:以张量(tensor)表示数据,以计算图(computational graph)表示计算任务
3.卷积神经网络基础
卷积:提取特征。以固定大小、固定参数的卷积核对图像从左至右、从上至下遍历,得到该层网络输出。
实际计算时,卷积核需首先上下、左右翻转。
填充(Padding):进行卷积前,在矩阵边界上填充值,增加矩阵大小,避免矩阵越卷越小。通常用0或复制边界像素填充(后者更常用)。
步长(stride):即卷积核遍历时的步长。
多通道卷积:由 单通道多个卷积核 或 多通道(如图像的RGB)单卷积核,都可以得到多个通道(Channel)。此时将二维的卷积核拓展出“厚度”,即为多通道卷积。值得注意的是,最终卷积结果是各通道上对应位置的累加,因此仍为二维。
池化(Pooling):使用局部统计特征(均值或最大值,后者现更为常用),以解决特征过多的问题。
LeNet-5 网络
- C1:6通道,5*5卷积;每通道28*28神经元。参数量(5*5+1)*6。
- C3:对6个通道拆分组合出16通道。
- 其它特点:卷积前未进行填充;平均池化;非线性激活函数为Sigmoid/tanh而非ReLU;层数浅,参数较少(约6万)
- 网络规律:随网络深入,宽、高衰减,通道数增加