人工神经网络(Artificial Neural Network,ANN)

目录

1.第一次寒冬

2.多层神经网络定义

3.三层神经网络可以实现所有决策面

3.1两层神经网络示例

3.2三层神经网络

4.总结

4.1非线性激活函数

4.2理论与应用


1.第一次寒冬

感知器算法)只能处理线性可分的问题,但是现实中大多数分类问题都是线性不可分的。于是该算法被认为没有实际性的应用,1969年~1980年,是历史上人工网络研究的第一次寒冬。

2.多层神经网络定义

人工神经网络又名神经网络(NN),是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。它由节点层组成,包含一个输入层、一个或多个隐藏层和一个输出层。

结构图示例:

首先进行线性计算,有: ,i=1~3,

随后经过非线性激活函数变为,有: ,i=1~3,

最终输出为:

根据以上式子可以发现,如果不加非线性函数,那么多层网络就会退化到一个神经元的感知器模型状态。

3.三层神经网络可以实现所有决策面

3.1两层神经网络示例

先看两层神经网络,前面的结构图示例就是一个两层神经网络。并且是一个在二维空间里三角形决策面的神经网络结构。

如图:假如有一个分类问题用以下三角形决策面进行分类,假设在决策面里面的为一类,三角形外面为另一类。

三条边的方程分别如图所示,根据前面的描述,设三角形内部边的方程大于0,外部方程边的方程小于0:

假设非线性函数采用的是阶跃函数(如图):

现在模拟样本被分类的情况:假设一个样本在决策面内部,那么根据网络结构有都大于0。再分别经过阶跃函数之后,都为1。此时,最终输出对应为,代入的值有

同样地,假设一个样本在决策面外部,最终输出

假设,则根据假设有,则可取b=-1,使得当样本在决策面内部时y>0,在外部时y<0。

如果是一个二维空间中的四边形的决策面,结构图类似,只是隐藏层的神经元个数增加:

3.2三层神经网络

假设在一个二维空间中有两个嵌套的三角形决策面:

两层神经网络结构并不能模拟出来,如图:

假设一个样本在c1里面,那么都大于0,都小于0。经过阶跃函数后,都为1,都为0,最终输出为

假设在c1之外的区域,那么有都大于0或者都小于0,那么最终输出为或者

以上分析看似没有问题,但是有一个关键点:我们擅自将认为是大三角形的三条边,是小三角形的三条边。但是对于计算机来说,这6个神经元都是独立且平等的,这种结构并不能让它知道哪三个神经元对应的是哪个三角形。虽然可以通过手动设置权重值实现表面上的"分组",但是在解决实际问题时毫无意义,原因会在最后一小节说明。

对应三层网络结构如下:

对上述情况重新讨论,如果样本在c1里面,那么,经过阶跃函数后,

同时,经过阶跃函数后,。那么最终输出为

如果不在c1里面,那么有两种情况:1. 都小于0,则最终输出

  1. 都大于0,则最终输出。为了统一约束,让这两情况输出一样,可以设一个限制条件:

由此就可以令=1,则=-1。

最后做总结:通过上面两个网络结构对比可以发现,三层网络结构在两层网络结构的基础上实现了分组,创造了"逻辑门"。使得成为了独立的区域检测。

4.总结

4.1非线性激活函数

上述示例非线性函数都用的是阶跃函数,事实上常用的非线性函数有:Sigmoid、Tanh、ReLU、Leaky ReLU等。

回想感知机算法步骤,我们期望能通过机器学习自动寻找到最优的w和b。而这个实现过程有前向传播和后向传播的操作。在后向传播中还有求导运算,而阶跃函数大部分时候导数几乎全为0,这样网络就没有办法自动学习,所以该函数的实际应用意义不大。

4.2理论与应用

其次,在前面的示例中,一些w和b都是手动设置的固定的值,不符合机器学习"从数据中自主学习"的核心思想。所以以上只能是理论上的讨论,在现实生活中大部分问题甚至都无法得知决策面的具体形态,但是通过这些示例可以更深刻的理解神经网络的原理。

相关推荐
AI周红伟1 小时前
周红伟:Qwen3.5-Plus - 企业级部署案例实操,Qwen3.5 LLM,包括 Qwen3.5-397B-A17B
大数据·人工智能·大模型·智能体
憨憨の大鸭鸭2 小时前
今日机器学习
人工智能·机器学习
宝贝儿好2 小时前
【强化学习】第十章:随机高斯策略
人工智能·python·深度学习·神经网络·机器人·自动驾驶
eihh233332 小时前
山东大学软件学院毕业设计(二)
人工智能·深度学习·机器学习
KG_LLM图谱增强大模型2 小时前
图谱智能体记忆技术和应用综述:构建AI Agent的“大脑记忆系统“
人工智能
小龙报2 小时前
【Coze-AI智能体平台】Coze 工作流 = 智能体的 “流程管家”?一文解锁自动化落地新玩法
人工智能·语言模型·自然语言处理·性能优化·数据分析·知识图谱·需求分析
两万五千个小时2 小时前
构建mini Claude Code:08 - Fire and Forget:用后台线程解锁 Multi-Agent 并行执行
人工智能·python·架构
老金带你玩AI3 小时前
OpenClaw1184个恶意插件Claude找出500个零日漏洞,老金开源个安全Skill你直接拿去用
人工智能