神经网络是一种机器学习(ML)模型,旨在以模仿人脑的功能和结构的方式处理数据。神经网络是由互相连接的节点或人工神经元组成的复杂网络,这些节点协同工作以解决复杂问题。
神经网络也被称为人工神经网络(ANNs)、神经网或深度神经网络,属于更广泛的人工智能(AI)领域中的一种深度学习技术。
神经网络广泛应用于多种领域,包括图像识别、预测建模、决策制定和自然语言处理(NLP)。过去25年中一些重要的商业应用实例包括支票处理中的手写识别、语音转文本转录、石油勘探数据分析、天气预测和面部识别。
神经网络如何工作?
人工神经网络(ANN)通常涉及多个并行操作的处理器,这些处理器按层或级别排列。神经网络通常有三层:输入层、输出层和多个隐藏层。第一层类似于人类视觉处理中的视神经,接收原始输入信息。每一层接收来自前一层的输出,而不是原始输入,就像生物神经元从更靠近视神经的神经元接收信号一样。最后一层产生系统的输出。
本文是
什么是机器学习?指南、定义和实例
- 还包括:
- 不同类型的机器学习解释
- 如何在7个步骤中构建机器学习模型
- CNN与RNN:它们有什么不同?
每个处理节点都有自己小的知识领域,包括它所见过的内容以及它最初编程或自我发展出的任何规则。各层之间高度互联,这意味着第N层中的每个节点将连接到第N-1层中的多个节点(其输入)和第N+1层中的节点(为第N层的节点提供输入数据)。输出层中可能有一个或多个节点,从中可以读取生成的答案。
人工神经网络以自适应性著称,这意味着它们在学习初始训练后会自我调整,随后的运行提供了更多关于世界的信息。最基本的学习模型集中在对输入流的加权,这就是每个节点如何衡量来自其前驱的输入数据的重要性。对获得正确答案有贡献的输入会被赋予更高的权重。
神经网络中的每一层由小的独立神经元组成。
神经网络的应用
图像识别是神经网络成功应用的第一个领域之一。但神经网络的技术应用已经扩展到许多其他领域,包括:
- 聊天机器人。
- 计算机视觉。
- NLP、翻译和语言生成。
- 语音识别。
- 推荐引擎。
- 股市预测。
- 送货司机路线规划和优化。
- 药物发现与开发。
- 社交媒体。
- 个人助手。
- 模式识别。
- 回归分析。
- 过程和质量控制。
- 通过社交网络过滤和行为数据洞察进行的目标营销。
- 生成式AI。
- 量子化学。
- 数据可视化。
主要应用涉及任何根据严格规则或模式运作并且拥有大量数据的过程。如果所涉及的数据量太大,无法在合理的时间内由人类理解,那么该过程很可能是通过人工神经网络自动化的最佳候选者。
神经网络如何训练?
通常,人工神经网络(ANN)最初是通过大量数据进行训练。训练的过程包括提供输入并告诉网络输出应该是什么。例如,为了构建一个识别演员面孔的网络,初始训练可能是一系列图片,包括演员、非演员、面具、雕像和动物面孔。每个输入都伴随着匹配的识别信息,例如演员的名字或“非演员”或“非人类”信息。提供答案使模型能够调整其内部权重,以更好地完成任务。
例如,如果节点David、Dianne和Dakota告诉节点Ernie当前输入图像是布拉德·皮特的照片,但节点Durango说是乔治·克鲁尼,而训练程序确认是皮特,那么Ernie就会降低对Durango输入的权重,并增加对David、Dianne和Dakota的权重。
在定义规则和做出决策时(每个节点根据来自前一层的输入决定向下一层发送什么),神经网络使用几个原则。这些原则包括基于梯度的训练、模糊逻辑、遗传算法和贝叶斯方法。它们可能会被赋予一些关于数据中对象关系的基本规则。
例如,面部识别系统可能被指示:“眉毛在眼睛上方”或“胡须在鼻子下方。胡须在嘴巴上方和/或旁边。”预加载规则可以加快训练速度,并使模型更快地变得强大。但它也包含了关于问题本质的假设,这可能被证明是无关和无益的,或者是错误和适得其反的,使得关于构建什么规则(如果有的话)的决策变得不重要。
此外,人们在训练算法时所做的假设会导致神经网络放大文化偏见。偏见数据集是训练系统的一项持续挑战,这些系统通过数据中的模式识别自行寻找答案。如果输入算法的数据不是中立的(几乎没有数据是中立的),机器就会传播偏见。
偏见数据集的问题在于神经系统的训练中存在。
神经网络的类型
神经网络有时根据其深度进行描述,包括输入和输出之间有多少层,或者模型的所谓隐藏层。因此,神经网络一词几乎可以与深度学习同义。神经网络也可以根据模型的隐藏节点数量进行描述,或根据每个节点有多少输入层和输出层进行描述。经典神经网络设计的变体使得信息在层之间的前向和反向传播得以实现。
特定类型的人工神经网络包括:
前馈神经网络
前馈神经网络是神经网络的最简单变体之一,这些网络在一个方向上传递信息,通过各种输入节点,直到到达输出节点。该网络可能有也可能没有隐藏节点层,使其功能更易理解。它准备处理大量噪声。这种类型的ANN计算模型用于面部识别和计算机视觉等技术。
递归神经网络
递归神经网络(RNN)在本质上更复杂,它保存处理节点的输出并将结果反馈回模型。这就是模型学习预测层结果的方式。RNN模型中的每个节点充当记忆单元,继续计算和执行操作。
该神经网络从前馈网络开始相同的前向传播,但随后会记住所有处理过的信息,以便在未来重用。如果网络的预测不正确,则系统会自我学习,并在反向传播期间继续朝着正确的预测努力。这种类型的ANN常用于文本转语音转换。
卷积神经网络
卷积神经网络(CNN)是目前最流行的模型之一。该计算模型使用多层感知器的变体,并包含一个或多个卷积层,这些层可以是完全连接的或池化的。这些卷积层创建特征图,记录图像的一个区域,最终被分解为矩形并发送进行非线性处理。
CNN模型在图像识别领域特别受欢迎。它已被用于许多最先进的AI应用,包括面部识别、文本数字化和NLP。其他用例包括释义检测、信号处理和图像分类。
反卷积神经网络
反卷积神经网络使用反向CNN学习过程。它们试图找到在CNN系统任务中可能原本被认为不重要的丢失特征或信号。该网络模型可用于图像合成和分析。
模块化神经网络
模块化神经网络包含多个彼此独立工作的神经网络。这些网络在计算过程中不会相互通信或干扰彼此的活动。因此,复杂或大型计算过程可以更高效地执行。
感知器神经网络
感知器神经网络是神经网络的最基本形式,由美国心理学家弗兰克·罗森布拉特于1958年引入,他也被认为是深度学习之父。感知器专门设计用于二元分类任务,使其能够根据输入数据区分两个类别。
多层感知器网络
多层感知器(MLP)网络由多个神经元层组成,包括一个输入层、一个或多个隐藏层和一个输出层。每一层与下一层完全连接,这意味着一个层中的每个神经元都与后续层中的每个神经元相连。这种架构使MLP能够学习数据中的复杂模式和关系,使其适合各种分类和回归任务。
径向基函数网络
径向基函数网络使用径向基函数作为激活函数。它们通常用于函数逼近、时间序列预测和控制系统。
变换器神经网络
变换器神经网络通过一系列进展正在重新塑造NLP和其他领域。由谷歌在2017年的一篇论文中引入,变换器专门设计用于处理序列数据,如文本,通过有效捕捉序列中元素之间的关系和依赖,无论它们之间的距离如何。
变换器神经网络因其“注意机制”而受到欢迎,使其能够同时捕捉和处理序列中的多个元素,这一优势使其成为CNN和RNN的替代品。
生成对抗网络
生成对抗网络由两个神经网络组成——一个生成器和一个判别器——它们相互竞争。生成器创建虚假数据,而判别器评估其真实性。这些类型的神经网络广泛用于生成逼真的图像和数据增强过程。
人工神经网络的优点
人工神经网络提供以下好处:
- 并行处理。ANN的并行处理能力意味着网络可以同时执行多个任务。
- 特征提取。神经网络可以自动学习和提取原始数据中的相关特征,从而简化建模过程。然而,传统的机器学习方法通常需要手动特征工程。
- 信息存储。ANN在整个网络上存储信息,而不仅仅是在数据库中。这确保了即使某个位置的小部分数据消失,整个网络仍然能够继续运行。
- 非线性。学习和建模非线性复杂关系的能力有助于建模输入和输出之间的现实世界关系。
- 容错性。ANN具有容错性,这意味着一个或多个ANN单元的损坏或故障不会停止输出的生成。
- 渐进性损坏。这意味着网络会随着时间的推移慢慢退化,而不是在出现问题时立即退化。
- 无限制的输入变量。对输入变量没有限制,例如它们应该如何分布。
- 基于观察的决策。机器学习意味着ANN可以从事件中学习并根据观察做出决策。
- 无组织数据处理。ANN在处理、排序和分类大量数据方面表现出色。
- 学习隐藏关系的能力。ANN可以在没有任何固定关系的情况下学习数据中的隐藏关系。这意味着ANN可以更好地建模高度波动的数据和不恒定的方差。
- 泛化数据的能力。泛化和推断未见关系的能力使ANN能够预测未见数据的输出。
人工神经网络的缺点
除了众多优点外,神经网络也有一些缺点,包括:
- 缺乏规则。缺乏用于确定适当网络结构的规则意味着只能通过试验、错误和经验找到合适的ANN架构。
- 计算成本高。神经网络如ANN使用大量计算资源。因此,训练神经网络可能计算成本高且耗时,需大量处理能力和内存。这对资源有限或需要实时处理的组织来说可能是一个障碍。
- 硬件依赖性。对具有并行处理能力的处理器的需求使神经网络依赖于硬件。
- 数值转换。网络处理数值信息,这意味着所有问题必须转换为数值值才能呈现给ANN。
- 缺乏信任。缺乏对解决方案的解释是ANN最大的缺点之一。无法解释解决方案背后的原因或方式会导致对网络的缺乏信任。
- 不准确的结果。如果训练不当,ANN可能会产生不完整或不准确的结果。
- 黑箱特性。由于其黑箱AI模型,理解神经网络如何做出预测或对数据进行分类可能具有挑战性。
- 过拟合。神经网络容易过拟合,尤其是在小数据集上训练时。它们可能会学习训练数据中的噪声,而不是潜在模式,这可能导致在新数据和未见数据上的性能较差。
神经网络的历史和时间线
神经网络的历史跨越了数十年,并经历了显著的进步。以下是神经网络历史中的重要里程碑和发展:
- 1940年代。1943年,数学家沃伦·麦卡洛克和沃尔特·皮茨构建了一个电路系统,运行简单算法,旨在近似人脑的功能。
- 1950年代。1958年,罗森布拉特创造了感知器,这是一种能够通过修改其权重进行学习和判断的人工神经网络。感知器具有单层计算单元,能够处理线性可分的问题。
- 1970年代。美国科学家保罗·韦尔博斯开发了反向传播方法,促进了多层神经网络的训练。它使深度学习成为可能,通过根据输出层计算的误差调整网络中的权重。
- 1980年代。认知心理学家和计算机科学家杰弗里·辛顿、计算机科学家扬·勒昆及一组研究人员开始研究连接主义的概念,强调认知过程通过简单处理单元的互联网络产生的观点。这一时期为现代神经网络和深度学习模型铺平了道路。
- 1990年代。德国计算机科学家于根·施密德胡伯和塞普·霍赫赖特在1997年提出了长短期记忆递归神经网络框架。
- 2000年代。辛顿和他在多伦多大学的同事开创了限制玻尔兹曼机,这是一种生成性的人工神经网络,能够进行无监督学习。限制玻尔兹曼机为深度信念网络和深度学习算法铺平了道路。
- 2010年代。2010年左右,神经网络的研究速度大幅提升。大数据趋势使公司积累大量数据,并且并行计算为数据科学家提供了训练数据和计算资源,以运行复杂的ANN。在2012年,一个名为AlexNet的神经网络赢得了ImageNet大规模视觉识别挑战赛,这是一个图像分类比赛。
- 2020年代及以后。神经网络继续快速发展,架构、训练方法和应用都有所进步。研究人员正在探索新型网络结构,如变换器和图神经网络,这些网络在NLP和理解复杂关系方面表现出色。此外,迁移学习和自监督学习等技术使模型能够从较小的数据集中学习并更好地泛化。这些发展正在推动医疗、自动驾驶汽车和气候建模等领域的进步。
发现构建机器学习模型的过程,包括数据收集、准备、训练、评估和迭代。遵循这些基本步骤,启动您的机器学习项目。