编译 | CDA数据剖析师

什么是人工神经收集(ANN)?_神经收集_神经元 绘影字幕

过去十年中最具影响力的技能之一是人工神经网络,它是深度学习算法的基本组成部分,是人工智能的前沿。

每天利用神经网络的运用程序有很多,例如Google的翻译做事,Apple的Face ID iPhone锁和Amazon的Alexa AI驱动的助手。
神经网络也在其他领域的一些主要人工智能打破背后,例如诊断皮肤和乳腺癌,让目光投向自动驾驶汽车。

人工神经网络背后的观点和科学已经存在了数十年。
但是直到最近几年,神经网络的承诺才变为现实,并帮助AI行业摆脱了漫长的冬季。

只管神经网络帮助AI取得了飞跃,但它们也常常被误解。
这时您须要理解的有关神经网络的所有信息。

人工和生物神经网络之间的相似性

人工智能先驱的最初愿景是复制人类大脑的功能,这是自然界最聪明,最繁芜的已知创造。
这便是为什么该领域从人类心灵的形体和功能派生出其大部分术语(包括“人工智能”一词)的缘故原由。

人工神经网络的灵感来自其生物学对应物。
大脑的许多功能仍旧是个谜,但是我们知道的是,生物神经网络使大脑能够以繁芜的办法处理大量信息。

大脑的生物神经网络由大约1000亿个神经元组成,这是大脑的基本处理单元。
神经元通过彼此之间巨大的连接(称为突触)来实行其功能。
人脑大约有100万亿个突触,每个神经元约有1,000个。

大脑的每个功能都涉及在大量此类神经元中运行的电流和化学反应。

人工神经网络如何运作

人工神经网络的核心身分是人工神经元。
每个神经元吸收来自其他几个神经元的输入,将它们乘以分配的权重,将它们相加,然后将总和通报给一个或多个神经元。
一些人工神经元可能在将输出通报给下一个变量之前将激活函数运用于输出。

人工神经元的构造,人工神经网络的基本组成部分

从实质上讲,这听起来像是一个非常噜苏的数学运算。
但是,当您将成千上万的神经元多层放置并堆叠在一起时,您将得到一个人工神经网络,可以实行非常繁芜的任务,例如对图像进行分类或识别语音。

人工神经网络由一个输入层和一个输出层组成,个中输入层从外部源(数据文件,图像,硬件传感器,麦克风等)吸收数据,一个或多个隐蔽层处理数据,输出层供应一个或多个数据点基于网络的功能。
例如,检测人,汽车和动物的神经网络将具有一个包含三个节点的输出层。
对银行在安全和敲诈之间进行交易进行分类的网络将只有一个输出。

神经网络由多层组成

演习人工神经网络

人工神经网络首先为神经元之间的连接权重分配随机值。
ANN精确而准确地实行其任务的关键是将这些权重调度为精确的数字。
但是找到得当的权重并不是一件随意马虎的事,特殊是当您处理多层和成千上万的神经元时。

通过对带有注释示例的网络进行“培训”来完成此校准。
例如,如果您要演习上述图像分类器,则可以为其供应多张照片,每张照片均标有其相应的种别(人,汽车或动物)。
当您为它供应越来越多的演习示例时,神经网络会逐渐调度其权重,以将每个输入映射到精确的输出。

基本上,演习期间发生的事情是网络进行自我调度以从数据中网络特定模式。
同样,对付图像分类器网络,当您利用质量示例演习AI模型时,每一层都会检测到特定的特色种别。
例如,第一层可能检测到水平和垂直边缘,第二层可能检测到拐角和圆形。
在网络的更深处,更深的层次将开始挑选出更高等的功能,例如面部和物体。

神经网络的每一层都将从输入图像中提取特定特色

当您通过演习有素的神经网络运行新图像时,调度后的神经元权重将能够提取精确的特色并准确确定图像属于哪个输出种别。

演习神经网络的寻衅之一是找到精确数量和质量的演习示例。
而且,演习大型AI模型须要大量的打算资源。
为了战胜这一寻衅,许多工程师利用“ 转移学习”(一种培训技能),您可以采取预先演习的模型,并利用针对特定领域的新示例对其进行微调。
当已经有一个与您的用例靠近的AI模型时,转移学习特殊有效。

神经网络与经典AI

传统的基于规则的AI程序基于经典软件的事理。
打算机程序旨在对存储在存储单元中的数据运行操作,并将结果保存在其他存储单元中。
程序的逻辑是顺序的,确定性的,并基于明确定义的规则。
操作由一个或多个中心处理器运行。

但是,神经网络既不是顺序的也不是确定性的。
其余,无论底层硬件如何,都没有中心处理器来掌握逻辑。
相反,逻辑分布在成千上万个较小的人工神经元上。
人工神经网络不运行指令;相反,他们对输入实行数学运算。
开拓模型行为的是他们的集体行动。

神经网络不是通过手动编码的逻辑表示知识,而是在权重和激活的总体状态下对知识进行编码。
特斯拉AI卖力人安德烈·卡帕蒂(Andrej Karpathy)在一篇出色的媒体文章“ 软件2.0 ” 中雄辩地描述了神经网络的软件逻辑:

我们都熟习Software 1.0的“经典堆栈”, 它是用Python,C ++等措辞编写的。
它由程序员编写的对打算机的明确指令组成。
通过编写每一行代码,程序员可以识别程序空间中具有某些所需行为的特定点。

比较之下, Software 2.0 可以用更加抽象的,人类不友好的措辞(例如神经网络的权重)来编写。
没有人参与编写此代码,由于权重很多(范例的网络可能有数百万个),而直接用权重编码有点困难(我考试测验过)。

神经网络与其他机器学习技能

人工神经网络只是实行机器学习的几种算法之一,而 机器学习是人工智能的分支,它根据履历来发展行为。
还有许多其他机器学习技能,它们可以在数据中找到模式并实行诸如分类和预测之类的任务。
个中一些技能包括回归模型,支持向量机(SVM),k最近方法和决策树。

但是,在处理凌乱且非构造化的数据(例如图像,音频和文本)时,神经网络的性能优于其他机器学习技能。

例如,如果要利用经典的机器学习算法实行图像分类任务,则必须进行大量繁芜的“功能工程”,这是一个繁芜而艰巨的过程,须要数名工程师和领域专家的共同努力。
神经网络和深度学习算法不须要特色工程,只要演习得当,就可以自动从图像中提取特色。

但是,这并不虞味着神经网络可以替代其他机器学习技能。
其他类型的算法须要较少的打算资源,并且较不繁芜,这使得它们在考试测验办理不须要神经网络的问题时更可取。

其他机器学习技能也是可以阐明的(不才文中有更多先容),这意味着更随意马虎研究和更正他们做出的决策。
这可能使它们在阐明性比准确性更主要的用例中更可取。

神经网络的局限性

只管有人工神经网络的名称,但其与人类等效的神经网络却有很大不同。
只管神经网络和深度学习是当今AI的最前辈技能,但与人类智能仍旧相距甚远。
因此,神经网络将在您希望从人类的思想中想到的许多事情上失落败:

神经网络须要大量数据:与人脑可以通过很少的示例学习干事的人脑不同,神经网络须要成千上万个示例。
神经网络在概括方面很不好:神经网络将在经由培训的任务上准确实行,但在其他任何方面都表现不佳,纵然它与原始问题相似。
例如,接管过数千张猫图片演习的猫分类器将无法检测到狗。
为此,它将须要成千上万张新图像。
与人类不同,神经网络不会在符号(耳朵,眼睛,髯毛,尾巴)方面发展知识,它们会处理像素值。
这便是为什么他们将无法从高等功能上理解新工具,因此须要从头开始对其进行重新培训。
神经网络是不透明的:由于神经网络通过神经元的权重和激活来表达其行为,因此很难确定其决策背后的逻辑。
这便是为什么它们常常被称为黑匣子。
这使得很难确定他们是否基于缺点的成分做出决策。

人工智能专家和神经科学家Gary Marcus 在去年的一份深入研究论文中阐明了深度学习和神经网络的局限性。

而且,在逻辑和推理很明确并且可以编入不同规则的问题中,神经网络也不能替代老式的基于规则的AI。
例如,在求解数学方程式时,神经网络的性能非常差。

为了战胜神经网络的局限性,人们进行了许多努力,例如由DARPA帮助的创建可阐明的AI模型的操持。
其他有趣的发展包括开拓 结合了神经网络和基于规则的AI的稠浊模型,以创建可阐明且须要较少演习数据的AI系统。

只管要实现人类级AI的目标(如果我们能够实现),还有很长的路要走,但是神经网络使我们更加靠近。
看看下一个AI创新将是什么会很有趣。