-
机器学习|深度学习算法模型——人工神经网络(ANN)
1、什么是人工神经网络(ANN)
人工神经网络的灵感来自其生物学对应物。生物神经网络使大脑能够以复杂的方式处理大量信息。大脑的生物神经网络由大约1000亿个神经元组成,这是大脑的基本处理单元。神经元通过彼此之间巨大的连接(称为突触)来执行其功能。人脑大约有100万亿个突触,每个神经元约有1,000个!
人体神经元模型,下如图:
- 接收区(receptive zone):树突接收到输入信息。
- 触发区(trigger zone):位于轴突和细胞体交接的地方,决定是否产生神经冲动。
- 传导区(conducting zone):由轴突进行神经冲动的传递。
- 输出区(output zone):神经冲动的目的就是要让神经末梢,突触的神经递质或电力释出,才能影响下一个接受的细胞(神经元、肌肉细胞或是腺体细胞),此称为突触传递。
那么,什么是人工神经网络呢?有关人工神经网络的定义有很多。这里,芬兰计算机科学家托伊沃·科霍宁(Teuvo Kohonen)给出的定义:人工神经网络是一种由具有自适应性的简单单元构成的广泛并行互联的网络,它的组织结构能够模拟生物神经系统对真实世界所做出的交互反应。

- 输入层:输入层接收特征向量 x 。
- 输出层:输出层产出最终的预测 h 。
- 隐含层:隐含层介于输入层与输出层之间,之所以称之为隐含层,是因为当中产生的值并不像输入层使用的样本矩阵 X 或者输出层用到的标签矩阵 y 那样直接可见。
人工神经网络由一个输入层和一个输出层组成,其中输入层从外部源(数据文件,图像,硬件传感器,麦克风等)接收数据,一个或多个隐藏层处理数据,输出层提供一个或多个数据点基于网络的功能。例如,检测人,汽车和动物的神经网络将具有一个包含三个节点的输出层。对银行在安全和欺诈之间进行交易进行分类的网络将只有一个输出。
2、人工神经网络(ANN)的运行原理
人工神经网络的强大之处在于,它拥有很强的学习能力。在得到一个训练集之后,它能通过学习提取所观察事物的各个部分的特征,将特征之间用不同网络节点连接,通过训练连接的网络权重,改变每一个连接的强度,直到顶层的输出得到正确的答案。
人工神经网络的核心成分是人工神经元。每个神经元接收来自其他几个神经元的输入,将它们乘以分配的权重,将它们相加,然后将总和传递给一个或多个神经元。一些人工神经元可能在将输出传递给下一个变量之前将激活函数应用于输出。
神经网络每层都包含有若干神经元,层间的神经元通过权值矩阵 Θl 连接。一次信息传递过程可以如下描述:


2.1、前向传播




2.2、反向传播



3、神经网络结构的设计
3.1感知器



3.2、结构设计




4、神经网络训练过程
人工神经网络首先为神经元之间的连接权重分配随机值。ANN正确而准确地执行其任务的关键是将这些权重调整为正确的数字。但是找到合适的权重并不是一件容易的事,特别是当您处理多层和成千上万的神经元时。
通过对带有注释示例的网络进行“培训”来完成此校准。例如,训练上述图像分类器,则提供多张照片进行不断训练,神经网络会逐渐调整其权重,以将每个输入映射到正确的输出类别
基本上,训练期间发生的事情是网络进行自我调整以从数据中收集特定模式。同样,对于图像分类器网络,当您使用质量示例训练AI模型时,每一层都会检测到特定的特征类别。例如,第一层可能检测到水平和垂直边缘,第二层可能检测到拐角和圆形。在网络的更深处,更深的层次将开始挑选出更高级的功能,例如面部和物体。
神经网络的每一层都将从输入图像中提取特定特征
当您通过训练有素的神经网络运行新图像时,调整后的神经元权重将能够提取正确的特征并准确确定图像属于哪个输出类别。
训练神经网络的挑战之一是找到正确数量和质量的训练示例。而且,训练大型AI模型需要大量的计算资源。为了克服这一挑战,许多工程师使用“ 转移学习”(一种培训技术),您可以采用预先训练的模型,并使用针对特定领域的新示例对其进行微调。当已经有一个与您的用例接近的AI模型时,转移学习特别有效。
5、神经网络的好处和局限性
人工神经网络的特点和优越性:
- 具有自学习功能
- 具有联想存储功能
- 具有高速寻找优化解的能力
局限性:
- 神经网络需要大量数据
- 神经网络在概括方面很不好
- 神经网络是不透明的
6、项目实例
参考:
EO_Admin:https://www.cnblogs.com/geo-will/p/9764573.html
知乎:https://zhuanlan.zhihu.com/p/111288383
来源:https://www.cnblogs.com/aitree/p/14338697.html