人工神经网络

神经元、如何构建网络、高级神经网络

人工神经网络是人工智能(AI)中重要而有趣的一部分。

什么是神经网络?

神经网络是对大脑神经过程的复制。

  • 它是在计算机上构建的大脑模拟。

神经网络结构

神经网络,无论是生物的还是人工的,都由大量的简单单元和神经元组成,它们相互接收和传输信号。

它由细胞体和连接神经元的导线组成。

神经结构

用生物学语言来说 :

  • 为神经元提供输入的电线称为树突。
  • 在某些情况下,神经元会向另一个神经元发送信号,这些向外发送信号的导线被称为轴突。
  • 轴突可能与一个或多个树突相连,这种交叉点称为突触。

生物神经网络结构

这个过程会随着我们的成长而不断调整,这种 "调整 "被称为记忆或学习。

什么是深度学习?

深度学习是一种机器学习技术,由相互连接的多层简单处理单元组成。

它的灵感来源于大脑处理视觉信息的方式。

为什么要开发人工神经网络?

开发人工神经网络(ANN)的原因之一是为了帮助神经科学(研究大脑和神经系统)。

  • 人们相信,通过绘制人脑图谱,我们可以了解意识和智力背后的秘密。
  • 我们已经能够识别异常功能,并帮助大脑避免异常功能。
  • 例如--解决老年痴呆症、因受伤造成的损伤和发育障碍。

开发人工神经网络(ANN)的另一个原因是为了建立更好的人工智能和机器学习技术。

  • 因为,大脑是一个极其复杂的信息处理系统。

人工神经网络的特点 :

  • ANN 由许多神经元组成,可以同时处理信息。这意味着,我们可以同时处理大量数据,从而提高了效率。

  • 神经元可以同时存储(就像内存一样)和处理信息,因此从存储器中检索数据不会有任何延迟,因而速度很快。

    神经元 -> 简单处理单元,也可以存储

是的,ANN 可以快速处理信息,但很难应用于 "传统计算机"(单机处理),因为它一次只能完成一项任务。这就是 GPU 的用武之地。

听说过 GPU 吗?

GPU 是图形处理单元(Graphical Processing Unit)的缩写,它可以进行并行处理,而不是像传统计算机那样进行单一处理。因此,神经网络可以快速完成工作或处理信息。

构建神经网络 :

权重在神经网络中扮演着重要角色,它通过控制每个输入,让网络从这些数据中学习,从而做出准确的预测。

但是,什么是权重?

权重就像可调节的旋钮,决定着每个输入对最终输出的影响程度。

例如,为了找到适当的平衡(数据),我们要给输入值加上适当的权重。

img

因此,通过将每个输入值(神经元)与权重相乘并相加,我们就能实现 "线性组合"。

线性组合公式 :

考虑到我们有 4 个输入,因此我们也需要 4 个权重来平衡它,而且还会有一个额外的固定值,称为截距(偏差)。

  • 截距值是一个偏置值,用作基准值,这样即使输入值为零,网络也能做出预测。

计算公式:

线性组合 = [截距 + Weight 1 × Input 1 + Weight 2 × Input 2 + Weight 3 × Input 3 + Weight 4 × Input 4]

线性组合

问:请考虑以下表达式

10.0 + 5.4 × 8 + (-10.2) × 5 + (-0.1) × 22 + 101.4 × (-5) + 0.0 × 2 + 12.0 × (-3) = -543.0

(i) 表达式中的截距(偏差)项是什么?

"10.0 "是截距(偏差)数,因为它没有乘以任何变量。

(ii) 这里的输入是什么?

"8,5,22,-5,2,-3 "是输入值,因为它是乘法中的第二个数字。

实现线性组合后,再将其传递给 "激活函数"。

激活功能:

激活函数就像一个开关,它决定信号是否应该通过,使神经网络能够有效地学习和解决不同的问题。

  • 为图像识别、自然语言处理等进行预测。

将线性组合应用于激活函数

激活函数示例 :

激活函数的一些示例如下

  • 识别函数:什么也不做,只输出线性组合(与线性回归相同,不提供任何新信息,因此很少使用)

确定功能

  • 步进功能:如果线性组合值大于 0,则通过信号,否则什么也不做

步进功能

  • Sigmoid 函数:阶跃函数的 "软 "版本

Sigmoid 函数

通过线性组合激活函数实现的神经元输出用于预测或决策。

"感知器--人工神经网络(ANN)之母":

Perceptron 是一种使用阶跃激活函数的简单神经元模型。

  • 它被用作二元分类任务中的简单分类器。
  • 由于它是第一个正式的神经网络模型,因此被称为 "ANN 之母"。

"现在,让我们回到神经网络的构建上来。

网络架构由层级组成,例如 :

  • 输入层:由作为输入数据的神经元组成。例如,用于图像识别的图像像素值。
  • 隐藏层:接收输入层的输出,并将自己的输出传递给下一层。
  • 输出层:产生网络的最终结果。例如,用于人脸识别的人的概率值。

网络架构

为了在这些层中进行线性组合,我们应该能够找到合适的权重。

反向传播 - 找到合适的权重 :

反向传播

  • 在过去(20 世纪 80 年代之前),人们曾使用过感知器算法,但寻找权重需要花费大量时间。
  • 因此,人们引入了反向传播算法。它通过层层递进和递退来确定合适的权重,从而做出准确的预测。

现在,让我们举个例子,来识别图像。

建立分类器,对图像显示的是 "X "还是 "O "进行分类

X & O 图像

这里是一个 5 × 5 的网格,因此每幅图像由 25 个像素组成。阴影像素为 1,其他空白像素为 0。

X

O

现在,我们应该应用权重,其中在中心位置,权重假设为-1,而在近中心像素位置,权重假设为 1:

权重

因此,在这里,如果线性组合为负数,即激活度为零,则为 "X";如果为正数,则为 "O"。

对第一幅图像进行线性组合 :

负线性组合/零激活

(忽略 0 值权重,得到) -> 1 × -1 = -1

因此,我们得到 "X”

对第二幅图像进行线性组合:

正线性组合/正激活

(忽略 0 值权重,我们得到) -> 1 × 1 + 1 × 1 + 1 × 1 + 1 × 1 = 4 因此我们得到 "O"

到目前为止,我们已经了解了 -> 多层网络(超过一层的神经网络)、非线性函数(阶跃激活函数和 Sigmoid 激活函数)、学习规则(如反向传播)。

让我们进入高级神经网络。

卷积神经网络 :

使用感知器或线性回归可以进行图像处理,但由于需要大量权值,而且无法有效检测图像特征,因此效果和效率都不高。

因此,为了解决这些局限性,人们引入了卷积神经网络。

  • CNN 或卷积神经网络由卷积层组成,可以自动学习和提取图像特征,如颜色、图案、边缘等。
  • 例如,CNN 可用于动物检测、标志检测等。

如果我们想使用传统方法检测图像或识别图像,它将使用图像中的像素位置来检测物体。因此,我们必须有一张相似的图像才能做到这一点,但对于卷积神经网络来说,这并非必要。

例如,我们有一张位于图像中心的停车标志的训练图像,然后我们会得到一张测试图像,该图像的右上角有一个停车标志。由于训练图像和测试图像的像素值和位置不同,因此无法使用感知器进行检测。不过,通过使用卷积神经网络,它可以成功检测出图像中任何位置的停车标志。

停车标志

生成式人工智能(Generative AI):

生成式人工智能是人工智能的一种,可以生成文本、图像、音频和合成数据等各种类型的内容。

它可以是.....:

  • 监督学习法
  • 无监督学习法
  • 半监督学习法

判别模型用于通过标注数据的训练进行分类或预测。

生成模型用于生成新数据,如预测序列中的下一个单词。

DM(直接法)和 GM(生成法)

生成对抗网络(GAN):

其原理是让两个神经网络相互竞争。

  • 一个网络将生成与训练数据类似的图像。
  • 另一个网络将对生成的图像和训练图像进行分类。

这样做是为了生成逼真的图像。

伪造名人图像

上述图像由英伟达公司开发的 GAN 生成。

将人工智能应用于现实问题比解决谜题和游戏更具挑战性。在现实世界的场景中,可能出现的状态数量之多令人目不暇接,使得穷举式搜索或巧妙的启发式方法无法奏效。此外,由于我们无法控制的因素,行动的结果并不总是可以预测的,这就引入了随机性。为了解决这些复杂问题,我们需要将不确定性和概率的概念纳入算法,同时利用先进的神经网络,使我们能够有效地解决现实世界中的人工智能问题。

康康康康恐龙康。最后,你已经掌握了基本的神经网络和高级神经网络的基本知识。

作者

Hivan Du

发布于

2023-07-27

更新于

2024-07-29

许可协议

评论