随着机器学习的进步,人工智能已经走上了高速发展的道路。深度学习被认为是为解决使用海量数据集的复杂问题而构建的最先进技术。
本文将向您介绍神经网络的基本概念以及它们如何解决复杂的数据驱动问题。
什么是神经网络
根据人脑建模,构建了神经网络来模仿人脑的功能。人脑是由多个神经元组成的神经网络,类似地,人工神经网络(ANN)是由多个感知器组成的(稍后解释)。
神经网络由三个重要层组成:
- 输入层:顾名思义,这一层接受程序员提供的所有输入。
- 隐藏层:在输入层和输出层之间是一组称为隐藏层的层。在这一层中,执行产生输出的计算。
- 输出层:输入通过隐藏层进行一系列转换,最终产生通过此传递的输出层。
在我们深入了解神经网络的功能之前,让我们先了解什么是深度学习。
什么是深度学习?
深度学习是机器学习的一个高级领域,它使用神经网络的概念来解决涉及多维数据分析的高计算用例。它使特征提取过程自动化,确保需要最少的人工干预。
那么深度学习到底是什么?
深度学习是一种先进的机器学习的一个子领域,它使用受大脑结构和功能启发的算法,称为人工神经网络。
推荐阅读:《什么是深度学习?它能解决什么问题?》
人工智能、机器学习、深度学习有什么区别?
人们往往倾向于认为人工智能、机器学习和深度学习是一样的,因为它们有共同的应用。例如,Siri 是人工智能、机器学习和深度学习的应用。
那么这些技术有什么关系呢?
- 人工智能是让机器模仿人类行为的科学。
- 机器学习是人工智能 (AI) 的一个子集,它专注于让机器通过向它们提供数据来做出决策。
- 深度学习是机器学习的一个子集,它使用神经网络的概念来解决复杂的问题。
总而言之,人工智能、机器学习和深度学习是相互关联的领域。机器学习和深度学习通过提供一组算法和神经网络来帮助人工智能解决问题数据驱动的问题。
现在您已经熟悉了基础知识,让我们了解是什么导致需要深度学习。
推荐阅读:《人工智能、机器学习和深度学习有什么区别?》
深度学习的必要性:传统机器学习算法和技术的局限性
机器学习是技术领域的重大突破,它使单调且耗时的任务自动化,有助于解决复杂问题并做出更明智的决策。然而,机器学习的一些缺点导致了深度学习的出现。
以下是机器学习的一些限制:
- 无法处理高维数据:机器学习只能处理包含一小组变量的小维数据。如果要分析包含 100 个变量的数据,则无法使用机器学习。
- 特征工程是手动的:考虑一个用例,您有 100 个预测变量,您只需要缩小重要变量的范围。为此,您必须手动研究每个变量之间的关系,并找出哪些变量对预测输出很重要。对于开发人员而言,此任务非常繁琐且耗时。
- 不适合执行对象检测和图像处理:由于对象检测需要高维数据,机器学习不能用于处理图像数据集,它只适用于特征数量有限的数据集。
在我们深入之前神经网络,让我们考虑一个实施深度学习的真实用例。
深度学习实例
您是否知道 PayPal 处理超过 1.7 亿客户的 40 亿笔交易中超过 2350 亿美元的付款?它使用大量数据来识别可能的欺诈活动以及其他原因。
在深度学习算法的帮助下,PayPal 除了审查存储在其数据库中的可能欺诈模式外,还从客户的购买历史中挖掘数据,以预测特定交易是否存在欺诈。
大约 10 年来,该公司一直依赖深度学习和机器学习技术。最初,欺诈监控团队使用简单的线性模型。但多年来,该公司转向了一种更先进的机器学习技术,称为深度学习。
PayPal 的欺诈风险经理和数据科学家 Ke Wang 引述道:
“我们从更现代、更先进的机器学习中得到的好处是它能够消耗更多的数据,处理一层又一层的抽象,并能够‘看到’更简单的技术看不到的东西,即使是人类也可能看不到看不见。”
一个简单的线性模型能够使用大约 20 个变量。但是,使用深度学习技术可以运行数千个数据点。因此,通过实施 深度学习技术,PayPal 最终可以分析数百万笔交易,以识别任何欺诈行为活动。
现在让我们深入了解神经网络并了解它们的工作原理。
神经网络如何工作?
要理解神经网络,我们需要将其分解并理解神经网络的最基本单元,即感知器。
什么是感知器?
感知器是用于对线性数据进行分类的单层神经网络。它有 4 个重要组成部分:
- 输入
- 权重和偏差
- 求和函数
- 激活或转化函数
感知器背后的基本逻辑如下:
从输入层接收到的输入 (x) 与它们分配的权重 w 相乘。然后将相乘的值相加以形成加权和。然后将输入的加权和及其各自的权重应用于相关的激活函数。激活函数将输入映射到相应的输出。
深度学习中的权重和偏差
为什么我们必须为每个输入分配权重?
一旦将输入变量馈送到网络,就会将随机选择的值指定为该输入的权重。每个输入数据点的权重表示该输入在预测结果中的重要性。
另一方面,偏差参数允许您以实现精确输出的方式调整激活函数曲线。
求和函数
一旦为输入分配了一些权重,就会采用相应输入和权重的乘积。添加所有这些产品给我们加权总和。这是由求和函数完成的。
激活函数
激活函数的主要目的是将加权和映射到输出。tanh、ReLU、sigmoid 等激活函数都是变换函数的例子。
在我们之前结束这篇博文,让我们通过一个简单的例子来了解神经网络是如何运作的。
举例说明神经网络
考虑一个场景,您要构建一个将图像分为两类的人工神经网络 (ANN):
- A 类:包含未患病叶子的图像
- B 类:包含病叶图像
那么如何创建一个神经网络来将叶子分类为患病和未患病的作物呢?
该过程始终以易于处理的方式处理和转换输入开始。在我们的例子中,每个叶子图像将根据图像的维度被分解成像素。
例如,如果图像由 30 x 30 像素组成,则像素总数将为 900。这些像素表示为矩阵,然后输入神经网络的输入层。
就像我们的大脑有帮助建立和连接思想的神经元一样,人工神经网络有感知器,可以接受输入并通过将它们从输入层传递到隐藏层,最后传递到输出层来处理它们。
当输入从输入层传递到隐藏层时,会为每个输入分配一个初始随机权重。然后将输入与其相应的权重相乘,并将它们的总和作为输入发送到下一个隐藏层。
在这里,一个称为偏差的数值被分配给每个感知器,它与每个输入的权重相关联。此外,每个感知器都通过激活或转换函数传递,以确定特定感知器是否被激活。
激活的感知器用于将数据传输到下一层。以这种方式,数据通过神经网络传播(前向传播),直到感知器到达输出层。
在输出层,导出一个概率来决定数据是属于 A 类还是 B 类。
听起来很简单,不是吗?好吧,神经网络背后的概念完全基于人脑的功能。您需要深入了解各种数学概念和算法。以下是可帮助您入门的博客列表:
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:什么是人工神经网络?人工神经网络(ANN)简介 - Python技术站