什么是人工神经网络?

6分钟阅读

神经网络

本文是的一部分神秘的人工智能(试图)消除围绕人工智能的术语和神话的歧义。

过去十年最具影响力的技术之一是人工神经网络,它是深入学习算法,人工智能的出血边缘。www.yabovip4

您可以感谢神经网络为您每天使用的许多应用程序,例如Google的翻译服务,Apple的Face ID iPhone锁和亚马逊的Alexa人工智能助手.人工智能在其他领域的一些重要突破,如诊断皮肤癌和乳腺癌,以及人工智能www.yabovip4给自行车的眼睛

人工神经网络背后的概念和科学已经存在了几十年。但只是在过去几年,神经网络的承诺才变成现实,帮助人工智能行业从延长的冬天出现

虽然神经网络帮助人工智能取得了巨大飞跃,但它们也经常被误解。这是你需要知道的关于神经网络的一切。

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

人工智能先驱最初的愿景www.yabovip4是复制人类大脑的功能,人类大脑是自然界最聪明最复杂的造物。这就是为什么该领域的许多术语(包括术语“人工智能”)都是从人类大脑的体格和功能中派生出来的。www.yabovip4

人工神经网络受到他们的生物对应物的启发。大脑的许多功能仍然是一个谜,但我们所知道的是生物神经网络使大脑能够处理以复杂的方式获取大量的信息

大脑的生物神经网络由大约1000亿神经元组成,大脑的基本处理单元。神经元通过彼此的大规模连接来执行它们的功能,称为突触。人脑具有大约100万亿突触,每种神经元约1,000。

大脑的每一个功能都涉及电流和化学反应,这些反应在大量的神经元中进行。

人工神经网络是如何起作用的

人工神经网络的核心组成部分是人工神经元。每个神经元接收来自其他几个神经元的输入,将它们乘以指定的权重,将它们相加,然后将总和传递给一个或多个神经元。一些人工神经元在将输出传递给下一个变量之前,可能会对输出应用一个激活函数。

人工神经元的结构
人工神经元的结构,人工神经网络的基本组成部分(来源:维基百科)

从本质上讲,这听起来像是一个非常简单的数学运算。但是当你将成百上千甚至上百万的神经元层层堆叠起来,你就会得到一个人工神经网络可以执行非常复杂的任务,比如分类图片或者认识到演讲。

人工神经网络由输入层组成,该输入层从外部源接收数据(数据文件,图像,硬件传感器,麦克风......),一个或多个处理数据的隐藏层,以及提供一个或多个数据点的输出层基于网络的功能。例如,检测人员,汽车和动物的神经网络将具有带有三个节点的输出层。一个对安全和欺诈性之间的银行事务进行分类的网络将具有单个输出。

不同层的神经网络
神经网络由多层组成(源:www.deeplearningbook.org

训练人工神经网络

人工神经网络首先为神经元之间连接的权值分配随机值。神经网络正确、准确地执行其任务的关键是将这些权值调整到正确的数字。但是找到正确的权重并不容易,尤其是当你要处理多层和数千个神经元时。

这种校准是通过使用带注释的示例“训练”网络来完成的。例如,如果您想训练上面提到的图像分类器,您可以为它提供多个照片,每个照片都标有相应的类别(人、汽车或动物)。随着你提供越来越多的训练例子,神经网络逐渐调整它的权值,将每个输入映射到正确的输出。

基本上,训练期间会发生什么是网络调整自身以来自数据的收集特定模式。同样,在图像分类器网络的情况下,当您使用质量示例训练AI模型时,每层检测到特定的特征类别。例如,第一层可能检测水平和垂直边缘,下一层可能检测角落和圆形。进一步下行,更深层面将开始挑选更高级的功能,例如面部和对象。

神经网络特征的可视化
每一层神经网络都会从输入的图像中提取特定的特征。(来源:arxiv.org

当你通过一个训练有素的神经网络运行一幅新图像时,调整好的神经元的权重将能够提取正确的特征,并准确地确定图像属于哪个输出类别。

训练神经网络的挑战之一是找到合适数量和质量的训练例子。此外,训练大型人工智能模型需要大量的计算资源。为了克服这个挑战,许多工程师使用“转移学习,这是一种训练技术,你使用一个预先训练过的模型,然后用新的、特定于领域的例子对它进行微调。当已经有一个与你的用例很接近的AI模型时,迁移学习尤其有效。

神经网络与古典ai

传统的、基于规则的人工智能程序是基于经典软件的原理。计算机程序被设计用来对存储在内存单元中的数据进行操作,并将结果保存在不同的内存单元中。程序的逻辑是顺序的,确定性的,并基于明确定义的规则。操作由一个或多个中央处理器运行。

然而,神经网络既不是顺序的,也不是确定性的。此外,无论底层硬件如何,都没有控制逻辑的中央处理器。相反,逻辑分散在数千个较小的人造神经元中。Anns不运行指示;相反,它们对其输入执行数学操作。这是他们开发模型行为的集体操作。

神经网络不是通过手工编码的逻辑来表示知识,而是根据其权重和激活的整体状态来编码知识。特斯拉人工智能主管Andrej Karpathy在一篇优秀的Medium文章中生动地描述了神经网络的软件逻辑。软件2.0”:

“古典叠”的软件1.0我们都很熟悉——它是用Python、c++等语言编写的。它由程序员写给计算机的显式指令组成。通过编写每一行代码,程序员可以用一些理想的行为识别程序空间中的特定点。

相比之下,软件2.0可以用更有抽象的,人类不友好的语言写成,例如神经网络的权重。没有人参与编写此代码,因为有很多权重(典型的网络可能有数百万美元),并且直接编码重量是一种硬(我尝试了)。

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

人工神经网络深度学习人脑

人工神经网络只是用于执行的几种算法之一机器学习,人工智能的分支,了解基于经验的www.yabovip4行为。还有许多其他机器学习技术可以在数据中找到模式并执行分类和预测等任务。其中一些技术包括回归模型,支持向量机(SVM),K最近的方法和决策树。

然而,在处理图像、音频和文本等杂乱无章的非结构化数据时,神经网络的表现要优于其他机器学习技术。

例如,如果您想使用经典机器学习算法执行图像分类任务,您必须做大量复杂的“功能工程”,这是一个复杂和艰巨的过程,需要若干工程师和领域专家的努力。神经网络和深度学习算法不需要特征工程,如果训练良好,则自动从图像中提取特征。

然而,这并不意味着神经网络可以替代其他机器学习技术。其他类型的算法需要更少的计算资源和更简单,这使它们在您试图解决一个不需要神经网络的问题时更可取。

其他机器学习技术也是可解释的(下面的更多信息),这意味着它更容易调查和正确决策。这可能使它们优选在使用中可解释性比准确性更重要的情况。

神经网络的限制

尽管他们的名字,人工神经网络是非常不同的从他们的人类等价物。虽然神经网络和深度学习是今天AI的最先进的,但他们是离人类的智慧还有很长的路要走.因此,神经网络将失败在人类脑海中的许多事情上:

  • 神经网络需要大量的数据:人脑可以通过很少的例子学会做事,而神经网络则需要成千上万的例子。
  • 神经网络不擅长泛化:一个神经网络在它被训练过的任务上表现得很准确,但在其他任何事情上表现得很差,即使它与最初的问题相似。例如,一个训练过数千张猫的图片的猫分类器将无法识别狗。为此,它将需要数以千计的新图像。与人类不同,神经网络不是根据符号(耳朵、眼睛、胡须、尾巴)来发展知识,而是处理像素值。这就是为什么他们不能从高级特性方面学习新对象,他们需要从头开始重新训练。
  • 神经网络是不透明的:由于神经网络在神经元权重和激活方面表达了他们的行为,因此很难确定其决定背后的逻辑。这就是为什么他们经常被描述为什么黑盒.这使得很难找到他们根据错误因素做出决定。

AI专家和神经科学家加里马斯库斯解释说深度学习和神经网络的局限性在去年的一篇深入研究论文中。

此外,在逻辑和推理清晰、可以编入不同规则的问题上,神经网络并不能替代老式的基于规则的AI。例如,当涉及到解决数学方程时,神经网络表现很差

有几个努力来克服神经网络的局限性,例如由美国国防部高级研究计划局资助,旨在创建可解释的人工智能模型.其他有趣的发展包括发展将神经网络和基于规则的人工智能结合起来的混合模型创造出可理解且需要更少训练数据的人工智能系统。

尽管我们还有很长的路要走,才能达到人类水平的人工智能(如果我们能到达那里的话),神经网络让我们更近。看看下一个AI创新将是有趣的。

发表评论

这个网站使用Akismet来减少垃圾邮件。了解如何处理评论数据