人工神经网络算法

article/2025/10/23 10:26:41

一、人工神经网络算法概念

1、神经元

正如我们日常生活中,遇到美女眼睛移不开、闻到香味流口水等生理现象等,其实都是神经所支配进行的,这就涉及到神经细胞。神经细胞(nerve cell)又称神经元或神经原,是神经系统的结构与功能单位之一。它能感知环境的变化,再将信息传递给其他神经细胞,并发出指令以做出反应。据估计,人类中枢神经系统中约存在1000亿个神经元,仅大脑皮层中就约有140亿。在眼的视网膜上有感光细胞能接受光的刺激,在鼻粘膜上有嗅觉细胞能接受气味的变化,在味蕾中有能接受化学物质刺激的味觉细胞等,这些细胞都属于神经细胞(如图1所示)。

                                                                                                              图1 神经元及其组成

根据神经元的不同分类角度可以得到不同的分类细节,神经细胞按照传输方向及功能分为感觉神经元运动神经元和联络神经元三种。其形态各异,依照突起的多寡又分成多极神经元、单极神经元和双极神经元

神经系统的细胞,主要包括神经元和神经胶质细胞。虽然神经元形态与功能多种多样,但结构上大致都可分成细胞体(soma)和突起(neurite)两部分。突起又分树突(dendrite)和轴突(axon)两种。轴突往往很长,由细胞的轴丘(axon hillock)分出,其直径均匀,开始一段称为始段,离开胞体若干距离后始获得髓鞘,成为神经纤维,习惯上把神经纤维分为有髓纤维与无髓纤维两种,实际上所谓无髓纤维也有一薄层髓鞘,并非完全无髓鞘。

在生命活动中,正式通过神经系统这一基本单位结构和功能单位----神经元获取信息并实现信息传递的。就神经元如何进行信息的传递以及神经元的各种分类,可以详见

B站大神YJango设计制作的一个神片:《大脑的神经元工作机制》,对于理解神经元运作和工作原理非常重要。

根据笔者自己的理解并结合神经学资料,可以总结如下,神经元的功能分区可分为:

①输入(感受)区 :就一个运动神经元来讲,胞体或树突膜上的受体是接受传入信息的输入区,该区可以产生突触后电位(局部电位)。

②整合(触发冲动)区: 始段属于整合区或触发冲动区,众多的突触后电位在此发生总和,并且当达到阈电位时在此首先产生动作电位。

③冲动传导区: 轴突属于传导冲动区, 动作电位以不衰减的方式传向所支配的靶器官。

④输出(分泌)区 轴突末梢的突触小体则是信息输出区,神经递质在此通过胞吐方式加以释放。

2、人工神经网络

人工神经网络(Artificial Neural Network,ANN),正是基于生物学中神经网络的基本工作原理,并在理解和抽象了人脑结构和外界刺激响应机制后,以网络拓扑知识为理论基础,模拟人脑的神经系统以实现对复杂信息的处理机制的一种数学模型。该模型具有并行分布的处理能力、高容错性、自适应性、智能化和自学习等能力为特征,将信息的加工和存储结合在一起,以其独特的知识表示方式和智能化的自适应学习能力,引起各学科领域的关注。作为一种有着大量简单元件相互连接而成的复杂网络,ANN具有高度的非线性,能够进行复杂的逻辑操作和非线性关系实现的系统,显然正正式机器学习等研究的重要方向之一。如图2所示。

图2 人工神经网络

神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激活函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(weight),神经网络就是通过这种方式来模拟人类的记忆。网络的输出则取决于网络的结构、网络的连接方式、权重和激活函数。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。神经网络的构筑理念是受到生物的神经网络运作启发而产生的。人工神经网络则是把对生物神经网络的认识与数学统计模型相结合,借助数学统计工具来实现。另一方面在人工智能学的人工感知领域,我们通过数学统计学的方法,使神经网络能够具备类似于人的决定能力和简单的判断能力,这种方法是对传统逻辑学演算的进一步延伸。

人工神经网络中,神经元处理单元可表示不同的对象,例如特征、字母、概念,或者一些有意义的抽象模式。网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。输入单元接受外部世界的信号与数据;输出单元实现系统处理结果的输出;隐单元是处在输入和输出单元之间,不能由系统外部观察的单元。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。人工神经网络是一种非程序化、适应性、大脑风格的信息处理,其本质是通过网络的变换和动力学行为得到一种并行分布式的信息处理功能,并在不同程度和层次上模仿人脑神经系统的信息处理功能。

3、人工神经网络算法演进过程

通过梳理人工神经网络算法的演进历史,我特此将其分为四个阶段。


二、人工神经算法技术过程

经典人工神经网络本质上是解决两大类问题:①分类(Classification);②回归(Regression)。当然现在还有图像分割、数据生成等问题,但经典机器学习中已经讨论过,把图像分割归为分类问题,把数据生成归为回归问题。分类是给不同的数据划定分界,如人脸识别,输入x 是人脸照片,输出y 是人的ID 号,这个值是一个整数。回归问题要解决的是数据拟合,如人脸年龄预测,输入x 同样是人脸照片但输出y 是人的年龄,这个值是一个连续浮点数。因此,也就是说关于分类问题和回归问题均可以尝试采用RNN优化解决,但是对于不同的问题,ANN可能出现不同的效果。

BP 人工神经网络是一种多层前馈神经网络,该网络的主要特点是信号前向反馈,误差反向传播。在前向传递中,输入信号从输入层经隐含层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出,则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP 神经网络预测输出逼近期望输出。反向传播算法分二步进行,即正向传播和反向传播,正向传播是输入的样本从输入层经过隐单元一层一层进行处理,通过所有的隐层之后,则传向输出层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。反向传播是把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小。其具体流程如下:

1、隐含层数的确定

如图2所示的BP神经网络,输入层包含m个节点,输出层包含n个节点,可以看做是一个m维向量到一个n维向量的映射。

隐层节点的选择有一个经验公式:

          图片

其中h为隐含层节点数目,m为输入层节点数目,n为输出层节点数目,a为1~10之间的调节常数。

2、激活函数的确定

激活函数有很多中类型,其中以激活函数f(x)=signoid(x)最为常用。

(9)

3、BP神经网络算法的数学证明过程

以单隐藏层的BP神经网络为例,各阶段原理公式如下:

  • 前向传播。设输入层有n个节点,隐藏层有q个节点,输出层有m个节点,输入层与隐藏层间的权重为V,隐藏层与输出层的节点为W,输入变量为X,则隐藏层和输出层的输出分别为:

图片

图片

  • 误差函数。设有p个输入样本,则每个输入样本的误差函数为:

图片

  • 根据误差调整权重。函数是沿梯度的方向变化最快,BP神经网络中也是通过梯度下降法更新权重。根据链式法则及上述关系,可以得到权重W和V的变化公式分别为:

图片

图片


三、BP人工神经网络算法的劣势分析

BP网络主要用于以下四个方面。

(1)函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。

(2)模式识别:用一个待定的输出向量将它与输入向量联系起来。

(3)分类:把输入向量所定义的合适方式进行分类。

(4)数据压缩:减少输出向量维数以便于传输或存储。

虽然BP网络得到了广泛的应用,但自身也存在一些缺陷和不足,主要包括以下四个方面的问题。

(1)学习速率的设置问题:由于学习速率是固定的,因此网络的收敛速度慢,需要较长的训练时间。对于一些复杂问题,BP算法需要的训练时间可能非常长,这主要是由于学习速率太小造成的,可采用变化的学习速率或自适应的学习速率加以改进,但是如何设置学习速率以及如何按照问题的类型设置学习速率是笔者将继续开展的研究内容。

(2)输出结果的误差问题:BP算法可以使权值收敛到某个值,但并不保证其为误差平面的全局最小值,这是因为采用梯度下降法可能产生一个局部最小值。对于这个问题,可以采用附加动量法来解决。

(3)网络隐含层层数和节点数目的确定问题:网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复实验确定。因此,网络往往存在很大的冗余性,在一定程度上也增加了网络学习的负担。

(4)网络的学习和记忆具有不稳定性。此问题主要表现于当增加了学习样本,训练好的网络就需要从头开始训练,对于以前的权值和阈值是没有记忆的。但是可以将预测、分类或聚类做的比较好的权值保存。


http://chatgpt.dhexx.cn/article/jVUreLEp.shtml

相关文章

人工神经网络ANN

一、基本概念 ANN:Artificial neural network前馈神经网络的缩写 二、模型构建 2.1 神经元 2.2 激活函数 意义:激活函数是用来让给神经网络加入非线性因素的,因为线性模型的表达能力不够。如果没有激活函数,那么该网络仅能表达…

人工神经网络简介

1. 人工神经网络的概念 人工神经网络(Artificial Neural Network,ANN)简称神经网络(Neural Network)或类神经网络,是一种模仿生物神经网络的结构和功能的数学模型,用于对函数进行估计或近似。 和…

人工神经网络概念及组成,人工神经网络基本概念

1、什么是BP神经网络? BP算法的基本思想是:学习过程由信号正向传播与误差的反向回传两个部分组成;正向传播时,输入样本从输入层传入,经各隐层依次逐层处理,传向输出层,若输出层输出与期望不符&…

智能计算:人工神经网络(ANN)

2022/5/25 文章目录 神经网络一、神经网络基本简介二、神将网络的典型结构三、神经网络的学习算法四、BP神经网络 神经网络 人类的大脑是如何工作的呢? 在计算机上能模仿大脑的工作原理吗? 人工神经网络(Artificial Neural Network&#xf…

人工神经网络的应用实例,人工神经网络算法实例

神经网络算法实例说明有哪些? 在网络模型与算法研究的基础上,利用人工神经网络组成实际的应用系统,例如,完成某种信号处理或模式识别的功能、构作专家系统、制成机器人、复杂系统控制等等。 纵观当代新兴科学技术的发展历史&…

人工神经网络概念及组成,人工神经网络基本结构

1、简述人工神经网络的结构形式 神经网络有多种分类方式,例如,按网络性能可分为连续型与离散型网络,确定型与随机型网络:按网络拓扑结构可分为前向神经网络与反馈神经网络。本章土要简介前向神经网络、反馈神经网络和自组织特征映射神经网络…

C语言实现矩阵卷积运算

直观的说卷积操作可以理解为——每次透过一个较小的“窗口”去覆盖被输入进来的大窗口中的某一部分所得出的结果。每次得出结果后小窗口就会根据步长滑动至下一个位置并重复这一计算过程,最终得到卷积后的输出矩阵结果。 卷积的计算过程可由下图直观说明。 必须注…

卷积神经网络互相关运算和卷积运算原理

卷积神经网络用的其实不是卷积运算,实际用的是互相关运算;互相关运算和卷积运算的区别在于对输入结果所加的权重系数的顺序不同而已,但由于神经网络本身就是训练参数的,所以两者的输出结果其实是一样的,而互相关运算相…

全网最全的卷积运算过程

卷积运算 1.卷积核的通道(也叫滤波器)的个数得与被卷积的图片通道数相同 eg:输入图片是102410243,即通道数为3,那么每个卷积核得有3个通道 2.卷积核做的是线性运算,核上的每个值与它滑动到的对应位置上的值相乘&…

多维卷积运算

多维卷积运算 如果输入的图片是灰度图,每个像素点的值是一个整数,只需使用2D卷积运算。 但如果输入的图片是彩色的,每个像素点的值是1个由3个整数组成的组,例如(R,G,B)(155,23,222). 对于这样多维的输入图片,需要使用…

信号与系统 - 卷积运算

信号的时域分解 卷积积分 卷积定义 卷积积分的图解法 举例1 举例2 总结 卷积的性质 交换律 分配律 结合律 奇异函数的卷积性质 普通函数与冲激函数的卷积 普通函数与阶跃函数的卷积 普通函数和冲击偶函数卷积 举例 卷积的微积分分特性 卷积的微分特性 卷积的积分特性 卷积的…

【15】opencv卷积运算

参考: 【OpenCV学习笔记】之卷积及卷积算子(convolution)_点滴成海~的博客-CSDN博客_卷积算子(关于卷积运算) opencv RNG函数 - 0MrMKG - 博客园(对于RNG函数的解答) (一&#xf…

机器学习4:卷积运算简介

机器学习4:卷积运算简介【旧笔记整理】 (1)卷积运算简介: 卷积即在卷积核滑动过程中,矩阵与卷积核对应位置的数据相乘最后乘积求和的计算过程。 (2)卷积运算的特性: ①稀疏连接&…

【OpenCV 例程200篇】52. 图像的相关与卷积运算

【OpenCV 例程200篇】52. 图像的相关与卷积运算 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 滤波通常是指对图像中特定频率的分量进行过滤或抑制。图像滤波是在尽可能保留图像细节特征的条件…

Python遥感图像处理应用篇(五):python如何使用numpy对遥感图像做卷积运算

本篇接着上一篇(Python遥感图像处理应用篇(四):python如何使用numpy读取遥感图像光谱值)继续深入,对遥感图像做卷积运算处理 1.基本思路 1.1 设置卷积核 这里就用3*3大小的卷积核吧,可以根据需求任意设置卷积核数据达到图像均衡化、锐化、边缘增强等不同效果。 1.2 中心…

求助:MATLAB中实现卷积运算和理论分析中的卷积运算有什么区别?

MATLAB中实现卷积运算和理论分析中的卷积运算有什么区别。 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 …

通过具体的例子说明一维和二维的相关运算、卷积运算究竟是怎么做的。

在图像处理中,大量的算法中用到的运算其实都是相关运算和卷积运算。 所以,我们很有必要知道相关运算、卷积运算究竟是怎么做的。 本篇博文通过具体而简单的例子向大家说明相关运算、卷积运算究竟是怎么做的。 01-一维相关运算 下图显示了一维序列n与窗口…

卷积运算与互相关运算

在卷积神经网络中,虽然卷积层得名于卷积(convolution)运算,但我们通常在卷积层中使用更加直观的互相关运算(cross-correlation)运算。 卷积运算与互相关运算的联系 卷积运算与互相关运算类似。为了得到卷积运算的输出,只需将核数组左右翻转…

卷积运算(CNN卷积神经网络)

文章目录 图像卷积互相关运算卷积层图像中目标的边缘检测学习卷积核小结 图像卷积 最近学习到了卷积深度网络,有些本质概念太深暂时还没有理解透彻,现在主要记录下卷积神经网络中的一些计算。 以下介绍与计算均出自李沐老师的《动手学深度学习》&#…

java 怎么做卷积运算,入门教程之算法系列(二):卷积运算与模糊操作

卷积在信号处理领域有极其广泛的应用,也有严格的物理和数学定义。 OpenCV中对图像进行模糊操作,其背后的原理就是卷积运算,可是究竟卷积运算是什么,模糊的卷积算法又是如何实现的呢?本文将进行讨论。考虑到大部分读者的非专业性,本人将尽量不使用专业术语,而使用通俗易懂…