【现学现卖】CHEER中的概念解释——CNN
“ 概念理解”——卷积神经网络(真的现学现卖的一篇),如果有理解错误,还望留言更正。
CHEER: HierarCHical taxonomic classification for viral mEtagEnomic data via deep leaRning
对这篇文章中概念的理解:
卷积神经网络(Convolutional Neural Network, CNN)
是一种专门用来处理具有类似网格结构的数据的神经网络,比如前几天读的文章中的reads序列数据,可以看作DNA碱基网格;还有CNN擅长的图像数据处理,图像看作是像素网格。
(1)卷积,是一种线性运算(运算符号*星号),CNN里至少在网格中的一层中使用卷积运算来替代一般的矩阵乘法运算。
二维张量上的卷积运算:
(2)神经网络的关键设计原则来自神经科学,受Hubel和Wiesel对猫视觉皮层电生理研究启发。
以识别图像为例(让电脑看到我们所看的世界,甚至更精细)
当给计算机输入一个彩色图像(480px),计算机接收到的是[480×480×3]的数组(每个数字范围0-255)。
回想一下我们看一张图片,分辨图中是什么动物的时候,一般看边缘或者明显特征。我们也是这么训练计算机,通过低等级特征执行图像分类,再通过一系列卷积层构建更抽象的概念。
下面的动图表示的是5×5×1(单通道)的卷积运算,绿色为输入的图片,黄色为卷积层(Convolution Layer或内核The Kernel),粉色是输出。
那么MxNx3(RGB通道)图片的卷积运算是什么样子?
与卷积层相似,池化层(Pooling layer)负责减小卷积特征的空间大小。这是为了通过降维来减少处理数据所需的计算能力。池化有两种类型:最大池化和平均池化。
卷积层和池化层使模型可以成功的理解图片的一些特征,接下来就是整理和输出,然后交给常规神经网络进行分类。
全连接层(Fully Connected Layer (FC Layer))是学习卷积层输出所表示的高级特征的非线性组合的常用方法。
前面已经将输入图像转换为适合多层感知器的形式,即图像展平为列向量。展平的输出被送到前馈神经网络,反向传播用于迭代训练。
经历训练后,该模型能够区分图像中的主要特征和某些低级特征,并使用Softmax分类技术对其进行分类。