人工神经网络

神经网络(也称为ANN人工神经网络)是一种计算机软件,其灵感来自生物神经元。生物的大脑能够解决困难的问题,但每个神经元只负责解决问题的一小部分。同样,一个神经网络是由细胞组成的,它们一起工作以产生一个理想的结果,尽管每个单独的细胞只负责解决一小部分问题。这是创造人工智能程序的一种方法。

神经网络是机器学习的一个例子,一个程序可以在学习解决问题的过程中改变。一个神经网络可以通过每个例子进行训练和改进,但神经网络越大,它需要更多的例子才能表现良好,在深度学习的情况下往往需要数百万或数十亿的例子。

概述

有两种方式可以认为是神经网络。第一是像人的大脑。第二种是像一个数学方程。

一个网络从一个输入开始,有点像一个感觉器官。然后信息流经各层神经元,每个神经元都与其他许多神经元相连。如果一个特定的神经元收到足够的刺激,那么它就会通过其轴突向任何其他神经元发送信息。同样,一个人工神经网络有一个数据输入层,一个或多个分类器隐藏层,以及一个输出层。每个隐藏层的每个节点都与下一层的一个节点相连。当一个节点接收到信息时,它会将一定量的信息发送给它所连接的节点。这个量是由一个叫做激活函数的数学函数决定的,如sigmoid或tanh。

把神经网络想成是一个数学方程式,神经网络只是一个应用于输入的数学运算的列表。每个操作的输入和输出是一个张量(或更具体的是一个矢量矩阵)。每一对层由一个权重列表连接。每个层都有几个张量存储在其中。一个层中的单个张量称为一个节点。每个节点通过一个权重与下一层的部分或全部节点相连。每个节点也有一个称为偏置的数值列表。然后,每一层的值是当前层的值(称为X)乘以权重的激活函数的结果。

A c t i v a t i o n ( W ( e i g h t s ) X + b ( i a s ) ){displaystyle Activation(W(eights)*X+b(ias))}. {\displaystyle Activation(W(eights)*X+b(ias))}

为网络定义了一个成本函数。损失函数试图估计神经网络在其指定任务中的表现如何。最后,通过改变网络的权重和偏差,应用优化技术来最小化成本函数的输出。这个过程被称为训练。训练是每次一小步完成的。经过成千上万的步骤,网络通常能够很好地完成其指定的任务。

例子

考虑一个检查一个人是否活着的程序。如果一个人有脉搏或有呼吸,程序将输出 "活着",否则将输出 "死亡"。在一个不随时间学习的程序中,这将被写成。

function isAlive(pulse, breathing) { if(pulse || breathing) { return true; } else { return false; }}

一个非常简单的神经网络,只由一个神经元组成,解决同样的问题,将看起来像这样。

Single neuron which takes the values of pulse (true/false) and breathing (true/false), and outputs value of alive (true/false).

脉冲、呼吸和活着的值将是0或1,代表假和真。因此,如果这个神经元被赋予(0,1)、(1,0)或(1,1)的值,它应该输出1,如果被赋予(0,0),它应该输出0。开始时,这个隐藏值是随机的,如果神经元没有给我们想要的输出,我们会随着时间调整它。

如果我们把诸如(1,1)这样的值加在一起,我们最终可能会得到大于1的数字,但我们希望我们的输出在0和1之间!为了解决这个问题,我们可以应用一个函数,将我们的实际输出限制在0或1,即使神经元的计算结果不在这个范围内。在更复杂的神经网络中,我们对神经元应用一个函数(如sigmoid),这样它的值将在0或1之间(如0.66),然后我们将这个值一直传递给下一个神经元,直到我们需要我们的输出。

学习方法

神经网络有三种学习方式:监督式学习、无监督式学习和强化式学习。这些方法都是通过最小化或最大化成本函数来工作的,但每一种方法都在某些任务中表现得更好。

最近,英国赫特福德大学的一个研究小组利用强化学习使iCub人形机器人通过咿呀学语学会说简单的单词。

问题和答案

问:什么是神经网络?
答:神经网络(也称为ANN或人工神经网络)是一种计算机软件,其灵感来自生物神经元。它是由细胞组成的,这些细胞一起工作以产生预期的结果,尽管每个细胞只负责解决一小部分问题。

问:神经网络与生物大脑相比有何不同?
答:生物的大脑能够解决困难的问题,但每个神经元只负责解决问题的很小一部分。同样,神经网络是由细胞组成的,它们一起工作以产生一个理想的结果,尽管每个单独的细胞只负责解决问题的一小部分。

问:什么类型的程序可以创造人工智能程序?
答:神经网络是机器学习的一个例子,一个程序可以在学习解决问题的过程中发生变化。

问:为了使用深度学习,如何通过每个例子来训练和改进?
答:神经网络可以通过每个例子进行训练和改进,但神经网络越大,它需要更多的例子才能表现良好,在深度学习的情况下,往往需要数百万或数十亿的例子。

问:为了使深度学习取得成功,你需要什么?
答:为了让深度学习成功,你需要数百万或数十亿的例子,这取决于你的神经网络有多大。
问:机器学习与创造人工智能程序有什么关系?

答:机器学习与创建人工智能程序有关,因为它允许程序在学习如何解决问题时发生变化。

AlegsaOnline.com - 2020 / 2023 - License CC3