Web安全之深度学习实战
上QQ阅读APP看书,第一时间看更新

第2章 卷积神经网络

深度学习模型中的卷积神经网络(Convolution Neural Network, CNN)近年来在图像领域取得了惊人的成绩,CNN直接利用图像像素信息作为输入,最大程度保留了输入图像的所有信息,通过卷积操作进行特征的提取和高层抽象,模型输出直接是图像识别的结果。这种基于“输入-输出”直接端到端的学习方法取得了非常好的效果,得到了广泛的应用。本章重点介绍CNN的基本原理、常见的CNN结构以及代码实现,还介绍了基于CNN的文本分类处理。

本章涉及的代码请参考本书GitHub的cnn.py文件。

2.1 传统的图像分类算法

图像分类是根据图像的原始信息将不同类别图像区分开来,是计算机视觉中重要的基本问题,也是图像检测、图像分割、物体跟踪、行为分析等其他高层视觉任务的基础。图像分类在很多领域有广泛应用,包括安防领域的人脸识别和智能视频分析,交通领域的交通场景识别,互联网领域基于内容的图像检索和相册自动归类,医学领域的图像识别等http://book.paddlepaddle.org/index.cn.html,如图2-1所示。

图2-1 图像分类识别花的不同品种

在CNN出现之前,图像分类算法依赖于复杂的特征工程。常用的特征提取方法包括SIFT(Scale-Invariant Feature Transform,尺度不变特征转换)、HOG(Histogram of Oriented Gradient,方向梯度直方图)、LBP(Local Bianray Pattern,局部二值模式)等,常用的分类算法为SVM。