一、卷积神经网络 – CNN,最擅长的就是图片的处理,它受到人类视觉神经系统的启发。
目前 CNN 已经得到了广泛的应用,比如:人脸识别、自动驾驶、美图秀秀、安防等很多领域。
在 CNN 出现之前,图像对于人工智能来说是一个难题,有2个原因:
- 图像需要处理的数据量太大,导致成本很高,效率很低
- 图像在数字化的过程中很难保留原有的特征,导致图像处理的准确率不高
而CNN的出现解决了上述问题,即 「将复杂问题简化」,把大量参数降维成少量参数,再做处理。而且保留了图像特征。即CNN 有2大特点:
- 能够有效的将大数据量的图片降维成小数据量
- 能够有效的保留图片特征,符合图片处理的原则
典型的 CNN 由3个部分构成:
- 卷积层 2.池化层 3. 全连接层
简单描述:卷积层负责提取图像中的局部特征,;池化层用来大幅降低参数量级(降维);全连接层类似传统神经网络的部分,用来输出想要的结果。
1.卷积----提取特征
用一个过滤器(卷积核)来过滤图像的各个小区域,从而得到这些小区域的特征值。得到的图像仍然较大
2.池化层(下采样)——数据降维,避免过拟合
做完了卷积,图像仍然很大(因为卷积核比较小),所以为了降低数据维度,得到的图像更小,就进行下采样。
3.全连接层——输出结果
经过卷积层和池化层处理过的数据输入到全连接层,得到最终想要的结果。
二、人工神经网络
神经网络由大量的神经元相互连接而成。每个神经元接受线性组合的输入后,最开始只是简单的线性加权,后来给每个神经元加上了非线性的激活函数,从而进行非线性变换后输出。每两个神经元之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。下图便是一个三层神经网络结构
最左边的原始输入信息称之为输入层*(接受输入讯息),最右边的神经元称之为输出层,输出结果(上图中输出层只有一个神经元),中间的叫隐藏层*(激活函数)。
实际中也有多层隐藏层的,即输入层和输出层中间夹着数层隐藏层,层和层之间是全连接的结构,同一层的神经元之间没有连接。
监督学习:
训练样本既包括输入特征x,也包含对应的输出y(也叫标记,label)
无监督学习:
训练样本只有x没有y,模型可以总结出特征x的一些规律,但是无法知道对应的y。如语音转到文本的识别任务
梯度下降:
每次迭代修改x为x1、x2、x3.....,经过数次迭代后最终达到函数最小值点。因为梯度是个向量指向函数值上升最快的方向,而我们每次都是向函数y=f(x)的梯度的反方向修改x,所以指向的就是函数下降最快的方向。