C/C++教程

ML算法(四)——CNN原理

本文主要是介绍ML算法(四)——CNN原理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

卷积神经网络应用领域包括检测任务、分类与检索、超分辨率重构、医学任务、无人驾驶、人脸识别等。

卷积网络与传统网络的区别

CNN新增了卷积层和池化层,连接顺序是"卷积层-RELU-(池化层)"

全连接,Affine层跟着激活函数RELU层或SIGMOID层,最后由Softmax层输出最终结果概率

 整体架构:输入层、卷积层、池化层、全连接层

 

 输入层(input layer)

1.数据预处理

2.常见预处理方式:a.数据标准化,将数据按比例缩放,常用的方法是Z-Score标准化,用于评估样本点到总体均值的距离

  b.数据增强, 即增加训练数据,则能够提升算法的准确率,避免过拟合

卷积层(Convolution)

全连接忽视形状,需要将三维变一维;而卷积层可以保持形状不变,h*w*c(height,width,channel)

卷积层输入数据为输入特征图,输出数据为输出特征图

卷积运算相当于滤波器

preview

填充:向输入数据周围填入固定数据如0,调整输出大小

步幅:应用滤波器的位置间隔

preview

批处理:mini-batch,(batch_num, channel, height, width)

激活函数,最常用是RELU函数,f(x)=max(0,x)

池化层(Pooling):往往在卷积层后面,通过池化降低卷积层输出的特征向量

对输入的特征图进行压缩,一种是Avy Pooling ,一种是max Pooling

 

全连接 (fully-connected):

连接所有的特征,将输出值送给分类器(如softmax分类器)

 

 

 

这篇关于ML算法(四)——CNN原理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!