深度学习之人工神经网络

一、前言
深度学习
深度学习是通过构造一个多层的表示学习结构(表示学习结构指算法在少量人为先验经验的情况下自动从数据中抽取合适的特征),使用一系列非线性变换操作从原始数据中提取简单的特征进行组合,从而得到更高层、更抽象的表示。
人工神经网络
多项式分类器可以对任何形状(线性或者非线性)的决策面进行建模,但其实际有效性是有限的,因其容易过拟合带噪声的训练数据,而且有时候包含很多的训练参数。因此,在这种情况下,人工神经网络的使用更为普遍,人工神经网络是由简单神经单元加权连接而成的高性能的一种结构。
神经网络模拟人类视觉原理,构造多层的神经网络,较低层的识别初级的图像特征,若干底层特征组成更上一层特征,最终通过多个层级的组合,最终在顶层做出分类。
二、卷积神经网络(CNN)基本概念
卷积神经网络是一种多层神经网络,擅长处理图像特别是大图像的相关机器学习问题。卷积网络通过一系列方法,成功将数据量庞大的图像识别问题不断降维,最终使其能够被训练。
卷积(Convolution)


卷积运算

可以看到,现在有一张 5x5 的图片,利用 3x3 的卷积核,步长为 1(即每次滑动一个维度)
1  0  1

0  1  0

1  0  1
得到 3x3 的卷积结果(图中的橙色部分可以理解为一个滑动窗口)。
这个过程我们可以理解为我们使用一个过滤器(卷积核)来过滤图像的各个小区域,从而得到这些小区域的特征值。在实际训练过程中,卷积核的值是在学习过程中学到的。
池化(Pooling)
池化听起来很高深,其实简单的说就是下采样。池化的过程如下图所示:

池化过程

可以看到,原始图片是 20x20 的,采样窗口是 10x10 的,最终将其下采样为一个 2x2 的特征图。
之所以要进行下采样,是因为卷积之后的图片仍然很大(因为卷积核比较小)。
卷积与池化的区别就是卷积是一行一行扫过去的,而池化中橙色矩阵时红色矩阵的整数倍。
注:最后的卷积(池化)结果维度 = (原始图像维度 - 卷积核维度) / 步长 + 1
三、Alexnet 网络结构
Alexnet 网络结构

全连接6
第六层输入数据的维度是 6 x 6 x 256,采用4096 个 66256 尺寸的滤波器对第六层的输入数据进行卷积运算;每个66256尺寸的滤波器对第六层的输入数据进行卷积运算生成一个运算结果。
由于第六层的运算过程中,采用的滤波器的尺寸(66256)与待处理的feature map的尺寸(66256)相同,即滤波器中的每个系数只与feature map中的一个像素值相乘;而其它卷积层中,每个滤波器的系数都会与多个feature map中像素值相乘;因此,将第六层称为全连接层。
第五层输出的66256规模的像素层数据与第六层的4096个神经元进行全连接,然后经由relu6进行处理后生成4096个数据,再经过dropout6处理后输出4096个数据。

全连接7
第六层输出的4096个数据与第七层的4096个神经元进行全连接,然后经由relu7进行处理后生成4096个数据,再经过dropout7处理后输出4096个数据。

全连接8
第七层输出的4096个数据与第八层的1000个神经元进行全连接,经过训练后输出被训练的数值。


Alex 简化结构

四、VGG16 网络结构
vgg16 是在Alexnet 网络基础上做了改进,具体结构如图所示:


vgg16 网络结构图

你可能感兴趣的:(深度学习之人工神经网络)