机器学习 (深度)神经网络

图像在计算机中是一个由像素(pixel)组成的矩阵(matrix),其行列数称为分辨率(resolution)。

图像处理与噪点平滑

彩色图像可视为三通道矩阵(三阶张量),其中每个元素都介于0~255之间。
通过卷积让图像的噪点平滑(消除噪声)。其中用于和图像矩阵进行卷积的小矩阵又称为卷积核(convolution kernel)或过滤器(filter),其宽高尺寸也称过滤器尺寸。卷积核的元素可以是任意实数。

图像识别与图像特征

通过卷积可以提取图像的边缘特征(计算上下左右像素的差值)。
方向梯度直方图就是一种经典的图像特征,可以边缘检测和一些统计学方法,找出图片中物体的轮廓,提取其特征,再进行图像分类。


人工神经网络

在深度学习(deep learning)出现前,人们手工设计图像特征(颜色、纹理等),正确率较低。人们受到生物神经网络的启发,提出了人工神经网络。在实际应用和发展中,主流的人工神经网络逐渐偏向于统计学,和生物神经网络已经没有直接联系。
一个神经网络由多个顺序连接的层组成,每层有1个或多个神经元。各层提取出特征值,再交给下一层进一步抽象提取。第一层称为输入层,最后一层称为输出层,中间的都称为隐层


深度神经网络(Deep Neural Networks,DNN)

通常神经网络的隐层越多,计算结果越准确。拥有较多隐层的神经网络称为深度神经网络,使用了深度神经网络的机器学习,称为深度学习
不同于传统的分类系统先提取特征再用特征分类,深度神经网络将两个环节直接结合在了一起。

卷积层(convolutional layer)

含有卷积层的深度神经网络,也称卷积神经网络(convolutional neural network,CNN)。
通常第一个卷积层以图像输入(即RGB三通道的3阶张量),后续的卷积层以前面层输出的特征图为输入。
卷积层通过卷积运算,对输入内容变换,得到一个通道数为1的三阶张量。n个卷积核获得的结果组合为一个n通道的三阶张量输出给后续层,称为特征图(feature map)。

池化层(Pooling Layer)

通常在几个卷积层后会插入一个池化层,以降低特征图分辨率,减小计算量。
池化层对输入的特征图按通道分开,对每个矩阵切分为多个小块,将各个小块按一定规则取值后,按原位置重新组合回原矩阵,再将这些矩阵按原顺序重新组合回3阶张量。如选择2×2的小块,则池化后特征图长宽都减小为1/2,元素数减少为1/4。

根据对每个块的取值规则,通常有以下四种池化层:

  • 平均池化层(mean pooling layer)
  • 最大池化层(max pooling layer)
  • 随机池化层(stochastic pooling layer)
    通过加权计算概率,数值大的值被选中概率也大
  • 全局平均池化层(global average pooling layer)
    通常可用于代替全连接层,以避免过拟合
最大池化
全连接层(fully connected layers,FC)

在经过多轮卷积层和池化层的处理之后,图像中的信息已经被抽象成了信息含量更高的特征。全连接层通常出现在最后几层,将特征图组合为特征向量,以帮助计算最终的分类概率。向量的维数等于类型数。
全连接层每一个结点(即输出向量的每一个元素)都与上一层的所有结点相连(即用到了所有局部特征),用来把前边提取到的特征综合起来,参数多(训练成本高),计算量大。例如下图,之前层输出了5@3×3的特征图,则在全连接层需要5个卷积核分别进行卷积运算(或其他线性函数),并将结果加权求和,得到特征向量中的第一个元素。若最终特征向量有维,则需要次卷积:

归一化指数层(softmax layer)

通常出现在分类网络的最后一层,将一个全连接层输出的向量作为输入,输出各个类别的概率所组成的向量(同分类算法中的归一化指数函数):

该向量各元素之和为。

非线性激活层(non-linear activation layer)

卷积运算的本质是线性函数,多个连续的卷积层/全连接层的操作其实完全可以组合到一起,变成一个层,使得分层失去意义。通常在每个卷积层和全连接层后需要接一个非线性激活层。
例如最常见的线性整流函数(rectified linear function):

神经网络的训练

训练就是寻找最佳参数的过程,卷积核的各个元素及全连接层函数的系数都是参数,通常使用反向传播算法训练神经网络。

反向传播算法(backpropagation)

训练图像输入后,经过逐层计算的最终结果与正确答案进行比对,并从最后一层逐层向前调整参数。

  • 梯度计算链式法则(chain rule)
  • 随机梯度下降(stochastic gradient descent)

神经网络常见问题

过拟合(overfitting)与 欠拟合(under-fitting)

过拟合

复杂模型记录了训练数据过多的噪声信息,虽然对训练数据准确率极高,但对新数据准确率较差。且随着层数增加,准确率不升反降。

欠拟合

模型过于简单,导致对训练数据和新数据准确率都很差。

解决方法:
  • 权值衰减(weight decay)
  • 等正则化(regularization)

梯度消失(gradient vanish)

表现类似过拟合:随着层数增加,准确率不升反降。
在反向传播算法中,每反向经过一层,来自遥远输出层的误差影响会指数级缩小。当层数过多时,误差梯度趋近于0,参数的优化失去了衡量标准。

解决方法:
  • 批处理化(batch normalization)
  • 跨层连接(short-cut)

视频行为识别

视频本质上是多帧图像的序列化集合,即比图像多了时间维度的4阶张量

光流(optical flow)

图像本质上是三位的点到二维的投影,光流则用于记录该投影点的瞬时位移。
如第帧有像素点,则在帧中找到位置相近、颜色相似的像素点视为运动后的位置,并计算出其光流

手工提取特征

光流直方图(Histograms of Optical Flow,HOF)

将时刻的视频帧中抽出一点,以其为中心建立坐标轴及的区域(区域被坐标轴划分为4),再将的时间维度三等分,则共有个时空单元。
对每个时空单元内的光流,计算其大小和角度,并添加到一个8维向量中,向量中每一个元素的值,为每45°区间内所有光流的大小之和(如45~90°间有三个光流,大小分别为0.5、1、0.9,则该向量第二位为:2.4)。最终将这12×8个元素按一定顺序拼接成一个96维向量,即该时空体的光流直方图特征向量

12个时空单元

轨迹特征

光流只是相邻帧之间的运动,而光流直方图的分割又比较粗糙,如需刻画长时间的精确运动,可以将点在每一帧的光流都记录下来:

基于深度学习的视频行为识别(自动提取特征)

基于单帧的识别

当无需考虑时间维度和运动信息时,用单帧进行图像识别即可

双流卷积神经网络(two-stream CNN)

适用于10秒以内的短视频。
将视频信息分为静态和动态两部分,分别计算后再合并得出最终结果。

  • 空间流卷积神经网络(spatial stream CNN):静态部分,输入视频帧的3通道RGB图像矩阵,进行图像识别,可用于判别视频中的场景和物体。该神经网络称为。
  • 时间流卷积神经网络(temporal stream CNN):动态部分,将每一帧图像中,每个像素的位置由其光流的、值分别代替,生成水平光流图和垂直光流图,作为输入值
时序分段网络(temporal segment networks,TSN)

适用于较长的视频,防止计算量过大。
将视频平均分为N段,每段随机提取连续帧并进行双流卷积神经网络识别输出特征向量,最后接一个融合用的神经网络将N个特征向量综合起来。


声音

乐音的三要素

  • 响度(音强)
    表示声音强弱,体现在波形图。
    波形图横轴为时间,纵轴为强度。
  • 音调(音高)
    表示声音频率,体现在频谱图。
    频谱图横轴为不同频率(Hz),纵轴为该频率声音的强度(对数)。其中强度最高的点对应的频率即为音调。
  • 音色
    声音是波,本质上只有频率和强度。音色其实是除自身频率的基音外,还衍生出多种其他频率的泛音,共同组成了音色。
    频谱图中多个频率的峰值强度之间的比例关系,即为音色。

特征提取

通道

常见的音频有左右耳两个声道。在本章暂时只考虑一个声道。

采样频率(采样率,sampling rate)

通常采样率越高,效果越好。但过于高频的声音人耳无法接收,因此没有意义。如MP3通常使用44100Hz的采样频率,则每一帧都可以表示为44100维向量,其中每个元素的值即该频率声音的强度。

梅尔频率倒谱系数(Mel-Frequency Cepstral Coeffcients,MFCC)

采样频率提供的特征向量维数过多,计算量太大,通常将音频切分称等间隔的多段(如每段25ms,间隔10ms),并采用梅尔频率倒谱系数降低到13维:

  1. 划分出26个频率范围(由于人耳对低频声音敏感度更高,划分时,低频率范围密集,高频率范围粗疏),分别计算其平均值,组成26维向量。
  2. 倒谱
    进一步降低特征向量为13维,并保留其共振峰等特点。
    • 共振峰(formant)
      共振峰即频谱中能量相对集中的区域,是音色的一种表现。不同腔体(如琴身、口腔)可以对特定频率的声音共振并放大,从而形成独特的共振峰形状(元音的共振峰区分较为明显)。

风格分类

将提取完毕的 MFCC 13维特征输入神经网络,通过卷积、池化、全连接、归一化指数,得到最终音乐风格的类型概率。
不同于图像分类,音频使用向量卷积(1阶)而非矩阵卷积(2阶)。

你可能感兴趣的:(机器学习 (深度)神经网络)