深度学习入门(二)——全连接神经网络的基本结构与工作流程

深度学习入门(二)——全连接神经网络的基本结构与工作流程

1.多种多样的神经网络模型

承接上篇文章对深度学习的介绍,深度学习也是多种模式分析方法的统称,目前分为三种主流的深度网络架构,即全连接神经网络(Fully Connected Neural Network)、卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)。下图为三种主流深度网络的网络架构图。多种深度网络架构组成了深度学习这个神秘的黑盒。从某种意义上说,人工神经网络是深度学习的“Hello World”。

 

深度学习入门(二)——全连接神经网络的基本结构与工作流程_第1张图片深度学习入门(二)——全连接神经网络的基本结构与工作流程_第2张图片深度学习入门(二)——全连接神经网络的基本结构与工作流程_第3张图片

图1.1 MLP网络架构图          图1.2 CNN网络架构图        图1.3 RNN网络架构图

 

全连接神经网络作为多种复杂神经网络的原版,可以很好地帮助新手入门深度学习与人工神经网络。即使是原版的神经网络,也已经可以实现误差小于2%的手写数字识别功能了。如图所示,用来识别手写数字的全连接神经网络经过50轮的学习训练后,模型的训练损失和验证损失均趋于0.01。

 

深度学习入门(二)——全连接神经网络的基本结构与工作流程_第4张图片

图1.4 训练误差和验证误差变化趋势图

 

众所周知,神经网络、神经元这些名词都来自生物学,那么在计算机的世界里它们各自代表什么呢?我们可以把神经元看作一个装有大于0且小于1的实数的容器,并把被存放的数字命名为“激活值”。神经元激活值的意义会根据神经元所处层的不同而发生变化。

2.全连接神经网络的基本结构

如图2.1是实现手写数字自动识别功能的一种全连接神经网络模型。它由四层神经元构成。其中,第一层由784个神经元组成输入层,第二、第三层分别是由16个神经元组成的隐藏层,最后一层为10个神经元构成的神经网络输出层。与输入层不同,输出层(output layer)仅有十个神经元,代表着0-9十个数。输出层神经元的激活值的意义为神经网络模型认为输入图像是各种数字的概率。

 

深度学习入门(二)——全连接神经网络的基本结构与工作流程_第5张图片

图2.1 示例全连接神经网络模型

 

输入层与输出层中间为隐含层(hidden layer),我们暂且把它看作一个封装的指令块。指令块的输入端为被检测图像,输出端是被测图像与十个数字的相似度,指令块中进行复杂的数学运算。其中隐含层的层数和每层神经元的个数都是可以自己定义的。这里不必理会为什么选择两层隐含层或为什么每个隐含层16个神经元。

 

深度学习入门(二)——全连接神经网络的基本结构与工作流程_第6张图片

图2.2 全连接神经网络结构图

 

总结一下,全连接神经网络由若干层神经元构成,其中包括输入层、输出层和若干隐含层。各层神经元的个数与隐含层的层数由模型搭建者根据任务要求自由定义。其中每一层的所有神经元和另一层的所有神经元相连,同一层的神经元互不相连。

3.全连接神经网络的工作流程

大家可以从该神经网络实现的功能出发去理解它的工作流程。为了实现识别手写数字功能,首先需要向神经网络输入一张手写数字图像。上文提到神经元可以看作是一个装有数字的容器,如何借助这一机制帮助计算机读懂被测图像呢?我们可以将不同大小的被测图像转换成长宽均为28个像素点的图像,然后将28*28个像素值转换为784个大于0小于1的实数。

 

深度学习入门(二)——全连接神经网络的基本结构与工作流程_第7张图片

图 3.1 灰度图—实数转换

 

这一步究竟是如何实现的呢?首先,利用计算机视觉知识,将原本的彩色图像转换为灰度图像,同时规定像素点灰度值等于0时为纯黑,等于1时为纯白。这样,原本由784个像素点组成的手写数字图像便被转换为784个数字。这些数就会作为输入层(input layer)的输入值。此时激活值越大代表这个神经元越亮(白)。通过这种方式便可以让没有视觉感官的机器读懂人们肉眼所看到的图像。

神经网络在工作时,首先将输入层神经元中存放的激活值代入到下一层神经元激活值的计算公式中。然后依次计算得到其他层神经元激活值,同时通过训练数据对应的标签告诉神经网络自身的分类效果,神经网络根据分类效果自行调整激活值计算公式中的参数,直到损失值收敛到局部最小值即模型实现效果最优。

下篇文章将会具体介绍神经元激活值的计算方法、激活函数的表达式、多种收缩函数的功能。

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