人工神经网络的本质(物理或数学意义)是什么?

nature778


从数学的角度讲,人工神经网络的本质从机器学习的过程可理解为通过参数求最佳解得过程。同样也是一个负反馈的过程,以最简单的负反馈神经网络bp神经网络(back propagation)为例,其本质可以形象的理解为这样一个过程:

我们假设这个刚搭建的好的机器人叫“小明”(假设他刚出生),他的硬件软件等我们不需要考虑的部分全部是最先进的,小明的大脑里现在是最纯净的,除了一个学习的算法什么都没有,就像一个刚出生的婴儿一样。

现在,小明饿了,想吃东西。那么如何才能吃到东西呢?在什么都不知道的情况下,小明开始探索如何才能不饿。他可能会伸手,或者笑、哭,于是母亲喂了他吃的,从逻辑上可以这么理解:

然后他每次饿了,都开始伸手-笑-哭,然后就有吃的了。突然,有一天他自己也不知道怎么搞的,直接哭了。然后---有吃的了!!!这时他才明白这一个逻辑:

这时候,机器人“小明“明白,其实达到一个目的很简单,但是需要不断尝试。

再后来,小明又饿了,这回他懒得动,稍微小哭了一下等吃的,结果妈妈没来喂他!这是为啥?然后他就哭的超级大声,妈妈看他这样子以为是病了,急冲冲的送她去诊所,结果啥病也没有,小明迷惑,这是为什么?逻辑可以这么理解:

然后他把哭声再稍微降低以点,变成了很正常的哭,这时妈妈终于恍然大悟,喂他吃的。小明终于明白,想吃东西,首先需要哭,然后若哭声小,不起作用,需要调大哭声,若哭声过大,会起反作用,需要把哭声再降小一点,就有吃的了。

以上就是人工神经网络的本质,通过不断尝试引入各种参量,最终得到允许误差范围内的解,并通过引入参量系数,最终得到最优解——喂食=哭。通过负反馈机制,当参量所占权重过小,以当前参量所得结果为参考依据适当增加参量权重比例,增加的比例的系数随机。通过第二次的结果和第一次的结果选择更合适的权重系数,最后经过不断的“尝试“得到最优解。

以上过程即是bp负反馈神经网络的算法思想。


镁客网


看了几个回答,都不错,不过问题问的是“数学本质”,我觉得回答们似乎都太“技术性”了。

Deep Learning 的数学本质在我看来异常简单,就是两个基本的数学问题:找特征,求极值。

这个“特征”就是数学里常说的特征值,特征方程,特征向量… 都一样,一般来说“特征”就是反映一种函数的“不变性”。

最简单的,一张照片里光线好不好?有没有明显的边界?前者可以定义一个特征值:亮度的均值。后者可以定义另一个特征值:梯度。

以往传统的机器学习理论,这样的特征需要算法设计者去“想出来”,这就像解几何题,你得想出怎么画辅助线。想不出来,你就解不出题。

不幸的是大量人工智能实际场景里,最顶尖的算法设计师也常常束手无策。这就是深度神经网络理论的一个出发点:为什么要人去找特征?为什么不用算法自己去找?

这是一个重大的理论突破,类比于笛卡尔发明解析几何:从此不再需要“辅助线”,彻底代数化。

那么面对那么多种可能的特征函数,那么多种可能参数选择,机器怎么选择呢?这就是第二个问题:求极值。

这也是个异常基础的数学问题:极值点就是(偏)导数=0。

只不过人工智能场景里函数变量常常以百万计,所以有很多“技术性问题”需要优化。比如梯度下降法等。

所以总结一下,深度神经网络就是一个“自动的特征提取器”,其数学本质只涉及两点:

- 特征函数,CNN里采用统一的卷积形式(为什么?因为简单啊,而且对应的数学工具多)。

- 求极值:就是逼近/找到(偏)导数=0的参数向量。


帖木兒


神经元网络不仅限于bp,有多种算法。MATLAB Neural Network Toolbox 是一个很好的设计和访真软件,极力推荐。可大大减轻设计,学习,访真的工作量。


YingBai910


作者曾经写过系列文章《神经网络与深度学习概述 》,其中在《第二章 神经网络的概念及感知机模型》,从生物数学方面都有一定介绍。

神经网络全称人工神经网络(Artificial Neural Network, ANN),与之相对应的是生物神经网络(Biological Neural Network, BNN),将模拟生物神经网络的数学模型统称为人工神经网络模型

生物神经系统与生物神经元

  • 大量生物神经元的广泛、复杂连接,形成生物神经网络

  • 实现各种智能活动

智能(intelligence)

    • 观察、学习、理解和认识的能力

    • 理解和各种适应性行为的能力

    • 智能是个体有目的的行为、合理的思维、以及有效的适应环境的综合能力,也可以说是个体认识客观事物和运用知识解决问题的能力

  • 生物神经元(neuron)是基本的信息处理单元

生物神经系统

生物神经元是基本的信息处理单元。

生物神经元

  • 树突(dendrites):接收来自外接的信息

  • 细胞体(cell body): 神经细胞主体,信息加工

  • 轴突(axon):细胞的输出装置,将信号向外传递,与多个神经元连接

  • 突触 (synapsse):神经元经突触向其它神经元(胞体或树突)传递信号

生物神经元的基本特征

  • 神经元之间彼此连接

  • 神经元之间的连接强度决定信号传递的强弱

    • 神经元之间的连接强度可以随训练改变:学习、遗忘、疲劳

    • 神经网络中各神经元之间连接的强弱,按外部的激励信号做自适应变化

  • 兴奋与抑制

    • 信号可以起兴奋作用,也可以起抑制作用

    • 一个神经元接受信号的累积效果(综合大小,代数和)决定该神经元的状态(兴奋、抑制)

    • 每个神经元可以有一个“阈值”

人工神经网络的组成与结构

人工神经网络是由大量处理单元经广泛互连而组成的人工网络,用来模拟脑神经系统的结构和功能。而这些处理单元我们把它称作人工神经元

人工神经网络可看成是以人工神经元为节点,用有向加权弧连接起来的有向图

。在此有向图中,人工神经元就是对生物神经元的模拟,而有向弧则是轴突—突触—树突对的模拟。有向弧的权值表示相互连接的两个人工神经元间相互作用的强弱

神经元及神经网络模型

感知机模型

  • 感知机模型,其基础就是单个神经元模型

  • 感知机的学习是有监督的学习,学习的问题归结为求权重系数W = (w1, w2, …, wn)和阈值θ 的问题

  • 基本思想:逐步将训练集中的样本输入到网络中,根据当前输出结果和理想输出结果之间的差别来调整网络中的权重值

感知机模型

感知器模型无法解决“异或”(XOR)问题,即感知器模型无法解决非线性可分问题。

设激活函数f(x)为阶梯函数:

阶梯函数

由于单层感知器的输出为:

y(x1,x2) = f(ω1×x1+ω2×x2-θ)

用感知器实现简单逻辑运算的情况如下:

  • “与”运算(x1∧x2)

令ω1= ω2=1,θ=2,则 y=f(1×x1+1×x2-2)

显然,当x1和x2均为1时,y的值1;而当x1和x2有一个为0时,y的值就为0。

  • “或”运算(x1∨x2)

令ω1= ω2=1, θ =0.5,则y = f(1×x1+1×x2-0.5)

显然,只要x1和x2中有一个为1,则y的值就为1;只有当x1和x2都为0时,y的值才为0。

  • “非”运算(~X1)

令ω1 =-1, ω2=0, θ=-0.5,则 y = f((-1)×x1+1×x2+0.5))

显然,无论x2为何值,x1为1时,y的值都为0;x1为0时,y的值为1。即y总等于~x1。

  • “异或”运算(x1 XOR x2)

如果“异或”(XOR)问题能用单层感知器解决,则ω1、 ω2 和θ 必须满足如下方程组:

ω1+ω2-θ<0

ω1+0-θ≥0

0+0-θ<0

0+ω2-θ≥0

显然,该方程组是无解,这就说明单层感知机是无法解决异或问题

神经网络模型(多层感知机Multi-Layer Perception)

  • 在单层感知器的输入部分和输出层之间加入一层或多层处理单元,就构成了二层或多层感知器

  • 多层感知器克服了单层感知器的许多缺点,原来一些单层感知器无法解决的问题,在多层感知器中就可以解决。例如,应用二层感知器就可以解决异或逻辑运算问题


小AI咨询


差不多。人工神经网络是从人脑得到启示,建立的数学模型,靠计算机的强大计算力和大数据,解决具体的问题。

人工神经网络中,一个神经元是一个半线性的数学模型,所有的输入和权重一起线性叠加,最后非线性地映射到0和1之间。由大量神经元组成的神经网络,是一个复杂的非线性模型。人工智能的学习过程,从数学上看,本质上是一个优化问题:调整这个模型里的大量参数,使得它能够符合大量已知数据的结果。如果能得到和已有经验的好的符合,就学习好了。这个模型就可以用来解决实际问题了。

这样说起来,人工智能没啥神秘的。很可能,人类的智能也没啥神秘的,机制和这个算法差不多。


物理学博士


数学的角度看,网络模型本质上是函数的表示模型,学习的过程就是通过数据匹配实现函数建模的过程,实现数据的逼近或拟合。网络模型的结构和规模决定模型的表示能力,表示能力越强,建模需要的数据规模也越大,或者学习利用数据能力越强,同时学习需要的计算资源也会越多。显然,深度学习实现的网络模型就是可以利用大数据实现丰富表示能力的函数建模。


59201577


神经网络本质是一个程序或运算,其结构特征决定其是对某问题或系统的高效表示,所以我认为神经网络有其一般物理基础而并非仅对人脑的模拟。类似的物理系统是描述多体量子态的tensor network。可认为一般的对象都可由一个程序高效生成,如一幅图像,这个生成程序就可表达为一个神经网络。所以对象和网络结构有对应性。自然世界由那些可用深度网络表达的对象构成,而不可表达的对象在自然界出现的概率极小


手机用户57610903150


人工神经网络(深度学习)的本质是一种数值运算,是从微观角度模拟或者描述人的思维运作,即给一个输入,经过复杂的数值计算,得到一个输出。

而传统的程序是从宏观角度模拟或者描述人的逻辑思维流程,是以逻辑主导的。比如当什么条件时,应该干嘛干嘛,当点击了某个按钮,我要让计算机先干嘛,然后干嘛,最后再干嘛


分享到:


相關文章: