成都银行正式递交IPO申请 拟发行不超8亿股普通股
06-17
雷锋网记者:本文包含作者·郭晴和刘伟。
文章从神经网络谈人工神经网络,并详细介绍。
“神经网络”最近很火,尤其是AlphaGo和韩国棋手李世石的比赛之后,各种关于神经网络的文章满天飞,但对于非专业领域的人来说,这些文章可能会让人摸不着头脑。
。
主要原因是缺乏适合大多数人理解的神经网络科普文章。
其实吴军老师的《数学之美》就神经网络的科普而言还是比较容易理解的。
有兴趣的朋友可以看看吴老师的书。
这篇文章与吴老师的解释方法不同。
作者希望从它的起源揭开神经网络的面纱,从而帮助更多对神经网络感兴趣但没有相关理论基础的朋友。
说到人工神经网络的起源,我们必须追溯到生物神经网络。
这里,我们先看一个关于神经元细胞原理的视频:当细胞体膜内外的电位差(突触输入信号之和)超过阈值时,产生脉冲,神经细胞进入兴奋状态; 4.突触延迟导致输入和输出之间存在固定的时间滞后。
在人工神经网络年,基于生物神经网络的莫克罗-彼特氏神经模型(McCulloch-Pitts’neuronmodel)诞生了。
它是由心理学家沃伦·麦卡洛克(Warren McCulloch)(下图左)和数学家沃尔特·皮茨(Walter Pitts)(下图右)提出的。
McCulloch-Pitts模型的基本思想是对生物神经元的特征成分进行抽象和简化。
该模型不需要捕获神经元的所有属性和行为,但足以捕获其执行计算的方式。
McCulloch-Pitts模型的六个特征中,前四点与之前总结的生物神经元一致。
具体对应关系见下图: 1、每个神经元都是一个多输入、单输出的信息处理单元; 2、神经元输入分为兴奋性输入和抑制性输入两种; 3、神经元具有空间整合特性和阈值特性; 4、神经元输入和输出之间存在固定的时间滞后,这主要取决于突触延迟; 5、忽略时间积分效应和不应期; 6.神经元本身是时不变的,即它的突触延迟和突触强度是恒定的。
McCulloch-Pitts模型公式如下: 其运行规则为:时间离散,在时间t(t=0,1,2,...)时获得兴奋性输入xi,如果膜电位等于或大于超过阈值且抑制输入为 0,则在时间 t+1 时,神经元细胞的输出为 1,否则为 0。
这个伟大的建模令人惊叹。
从人的角度来看,颜色和形状分为两类,只需要用眼睛来区分,但对于机器来说,它只能区分一堆数据。
如果平面上有两组数据(如下图所示),机器如何区分这两组数据呢?从图中可以看出,平面上的直线方程可以将数据分为两类,Warren McCulloch和Walter Pitts Yuan构建的人工神经系统就是这样的模型。
其本质是将特征空间切成两半,并认为两半分别属于两个类别。
您可能永远不会想到比这更简单的分类器。
但麦卡洛克-皮茨模型缺乏对人工智能至关重要的学习机制。
所以,我们需要在这里给大家普及一下“历史”。
2001年,唐纳德·赫布声称,大脑中的知识和学习主要是通过神经元之间突触的形成和变化而发生的。
这一出乎意料且影响深远的想法被称为赫布定律:当细胞A的轴突足够近,足以激发细胞B,并反复、持续地放电细胞B时,其中一个或两个细胞就会发生某种生长过程或代谢变化,使得 A 作为给 B 放电的电池之一的效率增加。
一般来说,两个神经细胞之间的交流越多,它们的连接效率就越高,反之亦然。
受到 Hebb 基础工作的启发,Frank Rosenblatt 在 2001 年提出了“感知机”。
这是第一个准确定义神经网络的算法。
感知器由两层神经元组成。
输入层接收外部信号,输出层是McCulloch-Pitts神经元,是阈值逻辑单元。
2016 年,Marvin Minsky 和 ??Seymour Papert 出版了一本新书《感知器:计算几何简介》。
本书演示了感知器模型的两个关键问题:首先,单层神经网络无法解决不可线性分离的问题。
一个典型的例子是异或非。
如果两个输入相同,则输出为1;如果两个输入相同则输出为0。
)其次,由于硬件限制,当时的计算机完全无法完成神经网络模型所需的巨量计算。
在这里,作者以单层神经元为例来解释人工神经元的工作原理。
(感谢作者在本网站提供的英文文章:x1,x2,...,xN:神经元的输入。
这些实际上可以从输入层或隐藏层的中间值观察到(隐藏层是介于输入和输出之间的所有节点组成的层,它帮助神经网络学习数据之间的复杂关系,如果你不明白也没关系,我会解释一下。
稍后我讲多层神经网络时再给你讲。
)这是偏置单元,该值被添加到激活函数的输入上(类似于数学中使直线通过原点的常数b)。
即截距项通常有一个+1值:w0,w1,w2,...,wN:对应于每个输入的权重a:神经元的输出。
计算如下: 需要说明的是,式中的f是已知的激活函数。
f使得神经网络(单层甚至多层)非常灵活,并且具有估计复杂非线性关系的能力。
在简单的情况下,它可以是高斯函数、逻辑函数、双曲函数甚至线性函数。
神经网络可用于实现三个基本功能:AND、OR、NOT。
这里我们介绍一个基本的 f 函数,它实际上就是众所周知的阶跃函数: 示例 1:and 函数实现如下: 神经元输出:a = f(-1.5 + x1 + x2) 真值表如下,可以看出“a”栏与“X1 AND”栏一致:通过示例1和示例2可以看出,只要改变偏置单元的权重,就可以实现or的功能。
如果x1或x2中有一个是例3: not 函数实现如下: 神经元的输出为: a = f(1 - 2 * x1) 真值表如下: 作者希望通过这些通过例子,大家可以直观地了解神经网络中神经元是如何工作的,当然,神经网络中的函数还有很多选择,除了上面例子中用到的函数之外,这里介绍一个常用的函数——sigmoid函数。
方便大家灵活理解,函数图如下: 从图中可以看出,sigmoid函数的优点是输出范围有限,所以数据在传输过程中不易发散,其输出范围为(0,1),可以表达输出层的概率。
当然,它也有相应的缺点,那就是饱和时梯度太小。
您可以参考下面的例子来理解。
在我们之前看到的例子中,AND、OR 和非函数都是线性可分的。
感知器只有输出层神经元进行激活函数处理,即只有一层功能神经元,其学习能力非常有限(这也是本文之前感知器模型中提到的关键问题之一) 。
因此,非线性可分离性需要使用多层神经元。
接下来,作者首先介绍多层神经网络。
神经网络分为三类层: 输入层:神经网络最左边的层,通过它输入训练观测的样本。
隐藏层:由输入和输出之间的所有节点组成的层。
帮助神经网络学习数据之间的复杂关系。
输出层:神经网络的最后一层是由前两层得到的。
在 5 个分类的情况下,输出层将有 5 个神经元。
为什么多层网络有用?让我们尝试了解神经网络如何使用多层来模拟复杂的关系。

为了进一步理解这一点,我们需要举一个相同或函数的例子。
它的真值表如下: 这里我们可以看到,当输入全部相同时,输出为1,否则为0。
这种关系无法由一个神经元独立完成,所以需要一个多层网络。
使用多层背后的想法是,复杂的关系函数可以分解为更简单的函数及其组合。
我们来分解相同的 OR 函数: X1 XNOR X2 = NOT ( =(A'.B') + (A.B) (注:这里符号“+”代表或,符号“.”代表与,符号“' " 和 "-" 代表不是) 这样我们就可以用之前解释过的简单例子来完成。
方法一: X1 ) 真值表为: 现在, 你可以把 A'.B' 和 A.B 看成两个独立的部分, 将它们组合起来成多层网络。
网络的语义图如下: 这里可以看到,在第一层,我们分别确定A’.B’和A.B。
在第二层中,我们将输出并实现顶部的 OR 函数。
最终的整体网络实现如下图所示: 如果你仔细看,你会发现这只是我们之前画的神经元的组合: a1:实现A'.B'; a2:实现A.B; a3:是在a1和a2上执行OR,从而有效地实现(A'.B'+A.B)。
通过真值表验证其功能:现在您应该对多层网络的工作原理有直观的了解。
在上面的例子中,我们必须分别计算A'.B'和A.B。
如果我们想仅基于基本的 AND、OR、NOT 函数来实现相同或函数,请参见下面的方法 2。
方法 2:X1 这里神经网络必须使用三个隐藏层。
整个网络的实现和我们之前做的类似:a1:等于A; a2:实现A'; a3:等于B; a4:实现B'; a5:实现OR,实际上是A+B; a6:实现了OR,实际上是A'+B'; a7:实现AND,实际上是(A+B).(A'+B'); a8:实现NOT,实际上是NOT[(A+B).(A'+B')],即最终的XNOR输出真值表如下: 注:一般为1个神经元(偏置单元除外)为下一层的每个神经元提供数据。
在这种情况下,我们避免了从第一层到第二层的几个连接,因为它们的权重都是0,将它们相加很容易让大家无法清楚地理解神经元之间的计算。
因此,这里就不画下图了: 可以看到,在方法2中,我们已经成功实现了相同或的功能。
方法2的思想是如何将复杂的函数分解为多层。
但这种方法比方法1复杂,所以大家应该更喜欢方法1。
笔者之前学习神经网络的时候也看了很多资料,有些资料比较混乱。
作者希望大家看完这篇文章能够少走弯路,了解神经网络。
最后,我引用吴老师书中的一段话来结束:“有很多专业术语,乍一看很混乱。
“人工神经网络”就属于这一类。
至少我第一次听到这个词的时候被骗了。
你想一想,在大家的印象中,人们根本就没有了解过人脑的结构,于是就出现了一种‘人工’神经网络,它似乎是用计算机来模拟人脑的结构。
这么复杂,大家的第一反应一定是人工神经网络一定很先进。
如果我们有幸遇到一位善意且富有表现力的科学家或教授,他愿意花一两个小时深入浅出地解释人工神经网络。
告诉你细节,你会发现,“哦,就是这样”。
如果我们不幸遇到一个喜欢炫耀的人,他会一本正经地告诉你,‘我在用人工神经网络’或者‘我研究它’。
题目是“人工神经网络”,没有进一步解释。
除了敬畏他之外,你可能还会感到自卑。
当然,也有一些不善于表达的好心人试图向你解释清楚这个概念。
但他用了一些比较难的术语,说话也很混乱。
结果你发现听了他几个小时之后,你变得更加困惑了。
你除了浪费时间之外什么也没得到,所以你得出了这样的结论:反正我这辈子你不需要懂。
别以为我在开玩笑。
这些是我的个人经历。
首先,我还没有遇到一个好心人可以给我解释一两个小时。
其次,我遇到了一群正在做这件事的人。
在我面前炫耀的人,作为一个年轻人,总是想了解他不懂的东西,所以我决定旁听一堂课。
不过听了两三遍就不再去了,因为除了浪费时间之外,我似乎没有什么收获。
好在我自己的研究暂时不需要它,所以我也不再关心它了。
后来我在美国读博士的时候,就喜欢睡前躺着看书。
闲着没事的时候,我在床上看了几本人工神经网络的教材,居然看懂了。
然后我用它做了两三个项目,我就学会了。
至此,当我回过头来看‘人工神经网络’,其实并不复杂,上手也不难。
只是我走了弯路而已。
雷锋网注:本文经梁峰台授权,雷锋网发布。
如需转载,请联系原文作者。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-17
06-18
06-17
最新文章
Android旗舰之王的过去与未来
智能手表不被开发、AR眼镜被推迟,Meta的产品经历了一波三折
为什么Cybertruck是特斯拉史上最难造的车?
更新鸿蒙3后,文杰允许你在车里做PPT了
新起亚K3试驾体验:追求“性价比”,韩系汽车仍不想放弃
阿维塔15登场!汽车配备了增程动力,理想情况下会迎来新的对手吗?
马斯克宣布创建 ChatGPT 竞争对手! OpenAI的CEO给他泼了冷水, GPT-5可能会发生巨大变化
骁龙无处不在,是平台也是生态