人工神经网络(ANN)

人工神经网络(ANN),第1张

人工神经网络,也就是ANN(Artificial Neural Network),它是模拟人类大脑处理信息的生物神经网络所产生出来的一种计算模型。而它主要用于机器学习的研究与调用,例如语音识别,计算机图像处理,NLP等。

在神经网络中,计算的最小单元就是神经元。它从其他的神经元接收输入参数,并且计算之后输出最后结果。

而每个输入都伴随着一个 Weight ,即(w),并且输入的参数中也包含一个很重要的参数 bias 。并且每个神经元都会应用一个函数 f(wx+b) 来得到最后的输出。如下图所示:

该神经元接收 X1 与 X2 两个参数,并且有 W1 与 W2 两个权重(Weight),同时还有一个 b 作为 Bias 作为输入。而输出 Y 则是作为该神经元计算后的输出。

在生活中,通常很多事情或者说计算都不是一条线性的曲线。所以,为了尽量拟合生活中的运算或者计算规律(统计学、概率论等等),于是需要把线性(non-linear)计算后的结果,通过函数转变成拟合概率论的非线性函数结果。而这个过程,就叫做激活,而转变的函数也就叫做激活函数。

激活函数的目的是为了将线性的结果转变成非线性的结果,让计算结果更加贴近于生活。

而每个激活函数或者非线性函数都会根据一个单独的数进行一些数学的 *** 作,将原来的结果变成一个非线性的结果。

常用的Activation Function有如下:

前向神经网络主要由多个神经元,以及多神经元层构成。

主要包括三部分:

多层感知机,即Multi Layer Perceptron。主要由一个或者多个隐藏层构成。而不包含隐藏层,只有输入和输出层的被称为单层感知机。即Single Layer Perceptron。

不包含隐藏层的单层感知机只能学习线性的变化,一旦包含了隐藏层,就可以学习非线性变化了。

对于隐藏层中的神经元而言,每个神经元都会与前一层(如输入层)的所有神经元相连接,并且连接时都会带有权重,这种也被称之为全连接层(Full Connect Layer)。

通过隐藏层不同的神经元,以及每个神经元所携带的权重,就可以完成非线性的预测了。

训练多层感知机模型通常都用反向传播算法(Back-Propagation)。

训练多层感知机模型的目的是为了能够更准确的预测事物,而反向传播算法则可以根据结果让计算机可以学习到正确的Weight与Bias。

反向传播算法:

一旦这个过程终止之后,我们就拥有一个已经训练过的模型了,就可以考虑使用新的输入进行预测。

在分类的任务中,通常会使用 SoftMax 的函数作为Activation Function,因为它可以在多个输入之间实现归一化,保证最终的分类结果的概率为1。

在MNIST的数据集中,提供了很多手写体的数字。例如下图中的5。

而该神经网络拥有784个像素点(因为宽高为2828=784),所以在输入层会有784个节点

而在第一层隐藏层有300个节点,在第二层隐藏层有100个节点,在最终的输出层会有10个节点,对应着0-9这十个数字。

使用更亮的颜色来代表输出值更高的节点。在输入层,亮的节点就是代表像素值的数值更高的节点。而在输出层,只有一个亮的节点代表数字5,它输出的结果概率值为1,而其他9个数字的节点概率值为0

这张图表明了MLP可以正确的分类输入的数字。

https://ujjwalkarnme/2016/08/09/quick-intro-neural-networks/

https://ujjwalkarnme/2016/08/11/intuitive-explanation-convnets/

 深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。

  多层神经网络是指单计算层感知器只能解决线性可分问题,而大量的分类问题是线性不可分的。克服单计算层感知器这一局限性的有效办法是,在输入层与输出层之间引入隐层(隐层个数可以大于或等于1)作为输入模式“的内部表示” ,单计算层感知器变成多(计算)层感知器。

  补充:

  深度学习的概念由Hinton等人于2006年提出。基于深信度网(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。

  深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。

神经网络的学习内容主要包括:

感知机(perceptron):是一种线性分类模型,能够解决二分类问题。

多层感知机(multilayer perceptron, MLP):是一种由多个感知机堆叠而成的神经网络模型,能够解决多分类问题。

卷积神经网络(convolutional neural network, CNN):是一种深度学习模型,能够自动学习数据的特征,并在图像、视频、文本等数据中进行分类、分析和识别。

循环神经网络(recurrent neural network, RNN):是一种深度学习模型,能够处理序列数据,如文本、语音、时间序列等。常见的有LSTM和GRU等。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/12457315.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存