Convolutional Neural Network(CNN) 卷积神经网络
padding表示超过图片矩阵的距离
stride表示步长
常见的卷积都是3*3,同时可以知道图片的组成就是rgb也就是三个矩阵组成
使用卷积就是共用参数,减少参数量,不需要看整张图片进行特征提取。
Pooling层
降低数据大小,提取关键数据,主要有两种:
- Max Pooling
- Mean Pooling
- 等
CNN的缺陷
不能处理图片的方法和旋转问题,只能通过使用数据增强的方式进行解决。还有就是使用另一种网络结构spatial transformer layer进行解决。
验证集概念 validation set
为了公平的决定使用何种模型,使用了验证机进行模型的选取。选择模型后,在进行test数据集进行测试。
和训练集计算机坏的训练集的概率一致,需要合适的模型进行筛选,才能更好的模型训练。
第一节课的鱼和熊掌可以兼得
低的loss,同时理想和现实的差距很小。
解决的方式就是使用深度学习网络。
之前课程可以知道,对于复杂的网络,可以使用众多个线性函数配合sigmoid函数进行组合,只要有足够多的神经元,就能够组合起来更复杂的函数。
深度网络
对于深度网络参数少了,性能更好,参数少了,可选择的模型参数变少了。
Spatial Transformer Layer
CNN存在对于图片进行缩放或者旋转不能识别的问题,只能够通过数据增强的方式进行重复训练解决。二STL方式就是使用平移的方式进行缩放或者旋转。
定义了nn层进行矩阵层面上的缩放和选择。
使用前面的矩阵实现缩放和旋转,后面的相加的向量实现平移操作。可以实现多角度缩放旋转平移,但是这种计算过程不能实现梯度下降。因为该过程只是平移,其中矩阵元素的值并没有变化,所以NN的的值只会是0.
对于NN的训练不能使用gradient下降进行求值。需要进行转换。
这就是数值计算中的线性插值计算定义。
以下是案例1:
其中输出结果是55维度的,假设门牌号有5位,每位有11种可能,其中包含一种没有数字的可能。
以下是案例2:
进行放大,特征提取判断此操作。