「慕imooc」AI人工智能算法工程师「ZUI新」

247 阅读4分钟

AI人工智能算法工程师

核心代码,注释必读

// download:3w ukoou com

AI人工智能算法工程师 - 卷积神经网络(CNN)

卷积神经网络 – CNN 最擅长的就是图片的处理。它受到人类视觉神经系统的启发。

CNN 有2大特点:

  1. 能够有效的将大数据量的图片降维成小数据量
  2. 能够有效的保留图片特征,符合图片处理的原则

目前 CNN 已经得到了广泛的应用,比如:人脸识别、自动驾驶、美图秀秀、安防等很多领域。

CNN是一种人工神经网络,CNN的结构可以分为3层:

  1. 卷积层(Convolutional Layer) - 主要作用是提取特征。
  2. 池化层(Max Pooling Layer)  - 主要作用是下采样(downsampling),却不会损坏识别结果。
  3. 全连接层(Fully Connected Layer)  - 主要作用是分类。

我们可以拿人类来做类比,比如你现在看到上图中的小鸟,人类如何识别它就是鸟的呢?首先你判断鸟的嘴是尖的,全身有羽毛和翅膀,有尾巴。然后通过这些联系起来判断这是一只鸟。而CNN的原理也类似,通过卷积层来查找特征,然后通过全连接层来做分类判断这是一只鸟,而池化层则是为了让训练的参数更少,在保持采样不变的情况下,忽略掉一些信息。

卷积层(Convolutional Layer)

那么卷基层是如何提取特征的呢?我们都知道卷积就是2个函数的叠加,应用在图像上,则可以理解为拿一个滤镜放在图像上,找出图像中的某些特征,而我们需要找到很多特征才能区分某一物体,所以我们会有很多滤镜,通过这些滤镜的组合,我们可以得出很多的特征。

慕课网AI人工智能算法工程师 处理具有网格结构数据的任务

输入层 输入层是卷积神经网络的起点,负责接收原始的输入数据。对于图像分类任务,输入层通常接收的是灰度图像或彩色图像;对于语音识别任务,输入层接收的是语音信号转换成数值后的向量表示。

卷积层 卷积层是卷积神经网络的核心部分,负责进行特征提取。在卷积层中,每个神经元都与输入数据的一个局部区域相连,通过学习卷积核参数来提取该局部区域内的特征。卷积层的计算公式如下: y(n,m)=∑i=1鎏 xi(n,m−i+1)+b(m) (1) 其中,y(n,m)表示第n行第m列的输出神经元的输出值,xi(n,m−i+1)表示第n行第m−i+1列的输入神经元的输入值,b(m)表示第m个神经元的偏置项,鎏表示卷积操作。

池化层 池化层用于对卷积层的输出结果进行降维处理,减少计算量和过拟合风险。池化层通常采用最大池化、平均池化等操作,将卷积层的每个神经元输出进行聚合处理,得到一个聚合结果作为该池化层的输出。池化层的计算公式如下: y(n,m)=POOL(xi(n,m−i+1)) (2) 其中,POOL()表示池化操作,具体的池化方式可以根据实际需求选择最大池化、平均池化等。

全连接层 全连接层是卷积神经网络的终点,负责将前面几层的特征组合起来进行最终的分类或回归任务。在全连接层中,每个神经元都与前面的所有神经元相连,通过线性组合和激活函数来实现分类或回归任务。全连接层的计算公式如下: y=σ(∑wixi+b) (3) 其中,y表示第j个输出神经元的输出值,xi表示第i个输入神经元的输出值,w和b分别表示连接权重和偏置项,σ表示激活函数。