Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

机器之心编辑部编译

从感知机到Transformer,一文概述深度学习简史

这篇文章从感知机开始,按照时间顺序回顾了深度学习的历史。

1958 年:感知机的兴起

1958 年,弗兰克 · 罗森布拉特发明了感知机,这是一种非常简单的机器模型,后来成为当今智能机器的核心和起源。

感知机是一个非常简单的二元分类器,可以确定给定的输入图像是否属于给定的类。为了实现这一点,它使用了单位阶跃激活函数。使用单位阶跃激活函数,如果输入大于 0,则输出为 1,否则为 0。

下图是感知机的算法。
感知

Frank 的意图不是将感知机构建为算法,而是构建成一种机器。感知机是在名为 Mark I 感知机的硬件中实现的。Mark I 感知机是一台纯电动机器。它有 400 个光电管(或光电探测器),其权重被编码到电位器中,权重更新(发生在反向传播中)由电动机执行。下图是 Mark I 感知机。
Mark I 感知机。图片来自美国国家历史博物馆

就像你今天在新闻中看到的关于神经网络的内容一样,感知机也是当时的头条新闻。《纽约时报》报道说,“[海军] 期望电子计算机的初步模型能够行走、说话、观察、书写、自我复制并意识到它的存在”。今天,我们都知道机器仍然难以行走、说话、观察、书写、复制自己,而意识则是另一回事。

Mark I 感知机的目标仅仅是识别图像,而当时它只能识别两个类别。人们花了一些时间才知道添加更多层(感知机是单层神经网络)可以使网络具有学习复杂功能的能力。这进一步产生了多层感知机 (MLP)。

1982~1986 : 循环神经网络 (RNN)

在多层感知机显示出解决图像识别问题的潜力之后,人们开始思考如何对文本等序列数据进行建模。

循环神经网络是一类旨在处理序列的神经网络。与多层感知机 (MLP) 等前馈网络不同,RNN 有一个内部反馈回路,负责记住每个时间步的信息状态。

前馈网络与循环神经网络

第一种 RNN 单元在 1982 年到 1986 年之间被发现,但它并没有引起人们的注意,因为简单的 RNN 单元在用于长序列时会受到很大影响,主要是由于记忆力短和梯度不稳定的问题。

1998:LeNet-5:第一个卷积神经网络架构

LeNet-5 是最早的卷积网络架构之一,于 1998 年用于文档识别。LeNet-5 由 3 个部分组成:2 个卷积层、2 个子采样或池化层和 3 个全连接层。卷积层中没有激活函数

正如论文所说,LeNet-5 已进行商业化部署,每天读取数百万张支票。下面是 LeNet-5 的架构。该图像取自其原始论文。
LeNet-5 在当时确实是一个有影响力的东西,但它(常规的卷积网络)直到 20 年后才受到关注!LeNet-5 建立在早期工作的基础上,例如福岛邦彦提出的第一个卷积神经网络、反向传播(Hinton 等人,1986 年)和应用于手写邮政编码识别的反向传播(LeCun 等人,1989 年)。

1998:长短期记忆(LSTM)

由于梯度不稳定的问题,简单 RNN 单元无法处理长序列问题。LSTM 是可用于处理长序列的 RNN 版本。LSTM 基本上是 RNN 单元的极端情况。

LSTM 单元的一个特殊设计差异是它有一个门机制,这是它可以控制多个时间步长的信息流的基础。

简而言之,LSTM 使用门来控制从当前时间步到下一个时间步的信息流,有以下 4 种方式:
  • 输入门识别输入序列。

  • 遗忘门去掉输入序列中包含的所有不相关信息,并将相关信息存储在长期记忆中。

  • LTSM 单元更新更新单元的状态值。

  • 输出门控制必须发送到下一个时间步的信息。

LSTM 架构。图片取自 MIT 的课程《6.S191 Introduction to Deep Learning》

LSTM 处理长序列的能力使其成为适合各种序列任务的神经网络架构,例如文本分类、情感分析、语音识别、图像标题生成和机器翻译

LSTM 是一种强大的架构,但它的计算成本很高。2014 年推出的 GRU(Gated Recurrent Unit)可以解决这个问题。与 LSTM 相比,它的参数更少,而且效果也很好。

2012 年:ImageNet 挑战赛、AlexNet 和 ConvNet 的兴起

如果跳过 ImageNet 大规模视觉识别挑战赛 (ILSVRC) 和 AlexNet,就几乎不可能讨论神经网络深度学习的历史。

ImageNet 挑战赛的唯一目标是评估大型数据集上的图像分类和对象分类架构。它带来了许多新的、强大的、有趣的视觉架构,我们将简要回顾这些架构。

挑战赛始于 2010 年,但在 2012 年发生了变化,AlexNet 以 15.3% 的 Top 5 低错误率赢得了挑战,这几乎是之前获胜者错误率的一半。AlexNet 由 5 个卷积层、随后的最大池化层、3 个全连接层和一个 softmax 层组成。AlexNet 提出了深度卷积神经网络可以很好地处理视觉识别任务的想法。但当时,这个观点还没有深入到其他应用上!

在随后的几年里,ConvNets 架构不断变得更大并且工作得更好。例如,有 19 层的 VGG 以 7.3% 的错误率赢得了挑战。GoogLeNet(Inception-v1) 更进一步,将错误率降低到 6.7%。2015 年,ResNet(Deep Residual Networks)扩展了这一点,并将错误率降低到 3.6%,并表明通过残差连接,我们可以训练更深的网络(超过 100 层),在此之前,训练如此深的网络是不可能的。之前人们发现更深层次的网络工作得更好,这导致了其他新架构,如 ResNeXt、Inception-ResNet、DenseNet、Xception 等。

读者可以在这里找到这些架构和其他现代架构的总结和实现:https://github.com/Nyandwi/ModernConvNets

ModernConvNets 库。

ImageNet 挑战赛。图片来自课程《 CS231n》

2014 年 : 深度生成网络

生成网络用于从训练数据中生成或合成新的数据样本,例如图像和音乐。

生成网络有很多种类型,但最流行的类型是由 Ian Goodfellow 在 2014 年创建的生成对抗网络 (GAN)。GAN 由两个主要组件组成:生成假样本的生成器和区分真实样本和生成器生成样本的判别器。生成器和鉴别器可以说是互相竞争的关系。他们都是独立训练的,在训练过程中,他们玩的是零和游戏。生成器不断生成欺骗判别器的假样本,而判别器则努力发现那些假样本(参考真实样本)。在每次训练迭代中,生成器在生成接近真实的假样本方面做得更好,判别器必须提高标准来区分不真实的样本和真实样本。

GAN 一直是深度学习社区中最热门的事物之一,该社区以生成伪造的图像和 Deepfake 视频而闻名。如果读者对 GAN 的最新进展感兴趣,可以阅读 StyleGAN2、DualStyleGAN、ArcaneGAN 和 AnimeGANv2 的简介。如需 GAN 资源的完整列表,请查看 Awesome GAN 库:https://github.com/nashory/gans-awesome-applications。下图说明了 GAN 的模型架构。
生成对抗网络(GAN)

GAN 是生成模型的一种。其他流行的生成模型类型还有 Variation Autoencoder (变分自编码器,VAE)、AutoEncoder (自编码器)和扩散模型等。

2017 年:Transformers 和注意力机制

时间来到 2017 年。ImageNet 挑战赛结束了。新的卷积网络架构也被制作出来。计算机视觉社区的每个人都对当前的进展感到高兴。核心计算机视觉任务(图像分类目标检测图像分割)不再像以前那样复杂。人们可以使用 GAN 生成逼真的图像。NLP 似乎落后了。但是随后出现了一些事情,并且在整个网络上都成为了头条新闻:一种完全基于注意力机制的新神经网络架构横空出世。并且 NLP 再次受到启发,在随后的几年,注意力机制继续主导其他方向(最显著的是视觉)。该架构被称为 Transformer 。

在此之后的 5 年,也就是现在,我们在这里谈论一下这个最大的创新成果。Transformer 是一类纯粹基于注意力机制神经网络算法。Transformer 不使用循环网络或卷积。它由多头注意力、残差连接、层归一化、全连接层和位置编码组成,用于保留数据中的序列顺序。下图说明了 Transformer 架构。

图片来自于《Attention Is All You Need》

Transformer 彻底改变了 NLP,目前它也在改变着计算机视觉领域。在 NLP 中,它被用于机器翻译、文本摘要、语音识别、文本补全、文档搜索等。

读者可以在其论文 《Attention is All You Need》 中了解有关 Transformer 的更多信息。

2018 年至今

自 2017 年以来,深度学习算法、应用和技术突飞猛进。为了清楚起见,后来的介绍是按类别划分的。在每个类别中,我们都会重新审视主要趋势和一些最重要的突破。

Vision Transformers

Transformer 在 NLP 中表现出优异的性能后不久,一些勇于创新的人就迫不及待地将注意力机制放到了图像上。在论文《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》中,谷歌的几位研究人员表明,对直接在图像块序列上运行的正常 Transformer 进行轻微修改可以在图像分类数据集上产生实质性的结果。他们将他们的架构称为 Vision Transformer (ViT),它在大多数计算机视觉基准测试中都有体现(在作者撰写本文时,ViT 是 Cifar-10 上最先进的分类模型)。

ViT 设计师并不是第一个尝试在识别任务中使用注意力机制的人。我们可以在论文 Attention Augmented Convolutional Networks 中找到第一个使用的记录,这篇论文试图结合自注意力机制和卷积(摆脱卷积主要是由于 CNN 引入的空间归纳偏置)。另一个例子见于论文《Visual Transformers: Token-based Image Representation and Processing for Computer Vision,这篇论文在基于滤波器的 token 或视觉 token 上运行 Transformer。这两篇论文和许多其他未在此处列出的论文突破了一些基线架构(主要是 ResNet)的界限,但当时并没有超越当前的基准。ViT 确实是最伟大的论文之一。这篇论文最重要的见解之一是 ViT 设计师实际上使用图像 patch 作为输入表示。他们对 Transformer 架构没有太大的改变。
Vision Transformer(ViT)

除了使用图像 patch 之外,使 Vision Transformer 成为强大架构的结构是 Transformer 的超强并行性及其缩放行为。但就像生活中的一切一样,没有什么是完美的。一开始,ViT 在视觉下游任务(目标检测和分割)上表现不佳。

在引入 Swin Transformers 之后,Vision Transformer 开始被用作目标检测图像分割等视觉下游任务的骨干网络。Swin Transformer 超强性能的核心亮点是由于在连续的自注意力层之间使用了移位窗口。下图描述了 Swin Transformer 和 Vision Transformer (ViT) 在构建分层特征图方面的区别。

图片来自 Swin Transformer 原文

Vision Transformer 一直是近来最令人兴奋的研究领域之一。我们可以在这里讨论许多 Vision Transformers 论文,但读者可以在论文《Transformers in Vision: A Survey》中了解更多信息。其他最新视觉 Transformer 还有 CrossViT、ConViT 和 SepViT 等。

视觉和语言模型

视觉和语言模型通常被称为多模态。它们是涉及视觉和语言的模型,例如文本到图像生成(给定文本,生成与文本描述匹配的图像)、图像字幕(给定图像,生成其描述)和视觉问答(给定一个图像和关于图像中内容的问题,生成答案)。Transformer 在视觉和语言领域的成功很大程度上促成了多模型作为一个单一的统一网络。

实际上,所有视觉和语言任务都利用了预训练技术。在计算机视觉中,预训练需要对在大型数据集(通常是 ImageNet)上训练的网络进行微调,而在 NLP 中,往往是对预训练的 BERT 进行微调。要了解有关 V-L 任务中预训练的更多信息,请阅读论文《A Survey of Vision-Language Pre-Trained Models》。有关视觉和语言任务、数据集的一般概述,请查看论文《Trends in Integration of Vision and Language Research: A Survey of Tasks, Datasets, and Methods》。

前段时间,OpenAI 发布了 DALL·E 2(改进后的 DALL·E),这是一种可以根据文本生成逼真图像的视觉语言模型。现有的文本转图像模型有很多,但 DALL·E 2 的分辨率、图像标题匹配和真实感都相当出色。

DALL·E 2 尚未对公众开放,但你可以加入候补名单。以下是 DALL·E 2 创建的一些图像示例。
上面呈现的 DALL·E 2 生成的图像取自一些 OpenAI 员工,例如 @sama、@ilyasut、@model_mechanic 和 openaidalle。

大规模语言模型 (LLM)

语言模型有多种用途。它们可用于预测句子中的下一个单词或字符、总结一段文档、将给定文本从一种语言翻译成另一种语言、识别语音或将一段文本转换为语音。

开玩笑地说,发明 Transformers 的人必须为语言模型在朝着大规模参数化方向前进受到指责(但实际上没有人应该受到责备,Transformers 是 2010 年代十年中最伟大的发明之一,大模型令人震惊的地方在于:如果给定足够的数据和计算,它总能更好地工作)。在过去的 5 年中,语言模型的大小一直在不断增长。

在引入论文《Attention is all you need》一年后,大规模语言模型开始出现。2018 年,OpenAI 发布了 GPT(Generative Pre-trained Transformer),这是当时最大的语言模型之一。一年后,OpenAI 发布了 GPT-2,一个拥有 15 亿个参数的模型。又一年后,他们发布了 GPT-3,它有 1750 亿个参数。GPT-3 用了 570GB 的 文本来训练。这个模型有 175B 的参数,模型有 700GB 大。根据 lambdalabs 的说法,如果使用在市场上价格最低的 GPU 云,训练它需要 366 年,花费 460 万美元!

GPT-n 系列型号仅仅是个开始。还有其他更大的模型接近甚至比 GPT-3 更大。如:NVIDIA Megatron-LM 有 8.3B 参数。最新的 DeepMind Gopher 有 280B 参数。2022 年 4 月 12 日,DeepMind 发布了另一个名为 Chinchilla 的 70B 语言模型,尽管比 Gopher、GPT-3 和 Megatron-Turing NLG(530B 参数)小,但它的性能优于许多语言模型。Chinchilla 的论文表明,现有的语言模型是训练不足的,具体来说,它表明通过将模型的大小加倍,数据也应该加倍。但是,几乎在同一周内又出现了具有 5400 亿个参数的 Google Pathways 语言模型(PaLM)!

Chinchilla 语言模型

代码生成模型

代码生成是一项涉及补全给定代码或根据自然语言或文本生成代码的任务,或者简单地说,它是可以编写计算机程序的人工智能系统。可以猜到,现代代码生成器是基于 Transformer 的。

我们可以确定地说,人们已经开始考虑让计算机编写自己的程序了(就像我们梦想教计算机做的所有其他事情一样),但代码生成器在 OpenAI 发布 Codex 后受到关注。Codex 是在 GitHub 公共仓库和其他公共源代码上微调的 GPT-3。OpenAI 表示:“OpenAI Codex 是一种通用编程模型,这意味着它基本上可以应用于任何编程任务(尽管结果可能会有所不同)。我们已经成功地将它用于编译、解释代码和重构代码。但我们知道,我们只触及了可以做的事情的皮毛。” 目前,由 Codex 支持的 GitHub Copilot 扮演着结对程序员的角色。

在我使用 Copilot 后,我对它的功能感到非常惊讶。作为不编写 Java 程序的人,我用它来准备我的移动应用程序(使用 Java)考试。人工智能帮助我准备学术考试真是太酷了!

在 OpenAI 发布 Codex 几个月后,DeepMind 发布了 AlphaCode,这是一种基于 Transformer 的语言模型,可以解决编程竞赛问题。AlphaCode 发布的博文称:“AlphaCode 通过解决需要结合批判性思维、逻辑、算法、编码和自然语言理解的新问题,在编程竞赛的参与者中估计排名前 54%。” 解决编程问题(或一般的竞争性编程)非常困难(每个做过技术面试的人都同意这一点),正如 Dzmitry 所说,击败 “人类水平仍然遥遥无期”。

前不久,来自 Meta AI 的科学家发布了 InCoder,这是一种可以生成和编辑程序的生成模型
更多关于代码生成的论文和模型可以在这里找到:https://paperswithcode.com/task/code-generation/codeless

再次回到感知

在卷积神经网络和 Transformer 兴起之前的很长一段时间里,深度学习都围绕着感知机展开。ConvNets 在取代 MLP 的各种识别任务中表现出优异的性能。视觉 Transformer 目前也展示出似乎是一个很有前途的架构。但是感知机完全死了吗?答案可能不是。

在 2021 年 7 月,两篇基于感知机的论文被发表。一个是 MLP-Mixer: An all-MLP Architecture for Vision,另一个是 Pay Attention to MLPs(gMLP) .

MLP-Mixer 声称卷积和注意力都不是必需的。这篇论文仅使用多层感知机 (MLP),就在图像分类数据集上取得了很高的准确性。MLP-Mixer 的一个重要亮点是它包含两个主要的 MLP 层:一个独立应用于图像块(通道混合),另一个层跨块应用(空间混合)。

gMLP 还表明,通过避免使用自注意和卷积(当前 NLP 和 CV 的实际使用的方式),可以在不同的图像识别和 NLP 任务中实现很高的准确性。
读者显然不会使用 MLP 去获得最先进的性能,但它们与最先进的深度网络的可比性却是令人着迷的。

再次使用卷积网络:2020 年代的卷积网络

自 Vision Transformer(2020 年)推出以来,计算机视觉的研究围绕着 Transformer 展开(在 NLP 中,transformer 已经是一种规范)。Vision Transformer (ViT) 在图像分类方面取得了最先进的结果,但在视觉下游任务(对象检测和分割)中效果不佳。随着 Swin Transformers 的推出, Vision Transformer 很快也接管了视觉下游任务。

很多人(包括我自己)都喜欢卷积神经网络。卷积神经网络确实能起效,而且放弃已经被证明有效的东西是很难的。这种对深度网络模型结构的热爱让一些杰出的科学家回到过去,研究如何使卷积神经网络(准确地说是 ResNet)现代化,使其具有和 Vision Transformer 同样的吸引人的特征。特别是,他们探讨了「Transformers 中的设计决策如何影响卷积神经网络的性能?」这个问题。他们想把那些塑造了 Transformer 的秘诀应用到 ResNet 上。

Meta AI 的 Saining Xie 和他的同事们采用了他们在论文中明确陈述的路线图,最终形成了一个名为 ConvNeXt 的 ConvNet 架构。ConvNeXt 在不同的基准测试中取得了可与 Swin Transformer 相媲美的结果。读者可以通过 ModernConvNets 库(现代 CNN 架构的总结和实现)了解更多关于他们采用的路线图。

结论

深度学习是一个非常有活力、非常宽广的领域。很难概括其中所发生的一切,作者只触及了表面,论文多到一个人读不完。很难跟踪所有内容。例如,我们没有讨论强化学习深度学习算法,如 AlphaGo、蛋白质折叠 AlphaFold(这是最大的科学突破之一)、深度学习框架的演变(如 TensorFlow 和 PyTorch),以及深度学习硬件。或许,还有其他重要的事情构成了我们没有讨论过的深度学习历史、算法和应用程序的很大一部分。

作为一个小小的免责声明,读者可能已经注意到,作者偏向于计算机视觉深度学习。可能还有其他专门为 NLP 设计的重要深度学习技术作者没有涉及。

此外,很难确切地知道某项特定技术是什么时候发表的,或者是谁最先发表的,因为大多数奇特的东西往往受到以前作品的启发。如有纰漏,读者可以去原文评论区与作者讨论。

原文链接:https://www.getrevue.co/profile/deeprevision/issues/a-revised-history-of-deep-learning-issue-1-1145664
理论发展史深度学习
21
相关数据
DeepMind机构

DeepMind是一家英国的人工智能公司。公司创建于2010年,最初名称是DeepMind科技(DeepMind Technologies Limited),在2014年被谷歌收购。在2010年由杰米斯·哈萨比斯,谢恩·列格和穆斯塔法·苏莱曼成立创业公司。继AlphaGo之后,Google DeepMind首席执行官杰米斯·哈萨比斯表示将研究用人工智能与人类玩其他游戏,例如即时战略游戏《星际争霸II》(StarCraft II)。深度AI如果能直接使用在其他各种不同领域,除了未来能玩不同的游戏外,例如自动驾驶、投资顾问、音乐评论、甚至司法判决等等目前需要人脑才能处理的工作,基本上也可以直接使用相同的神经网上去学而习得与人类相同的思考力。

https://deepmind.com/
Ian Goodfellow人物

Ian Goodfellow 是机器学习领域备受关注的年轻学者之一,他在本科与硕士就读于斯坦福大学,师从吴恩达,博士阶段则跟随蒙特利尔大学的著名学者Yoshua Bengio研究机器学习。Goodfellow 最引人注目的成就是在2014年6月提出了生成对抗网络(GAN)。这一技术近年来已成为机器学习界最火热的讨论话题,特别是在最近几个月里,与GAN有关的论文不断涌现。GAN已成为众多学者的研究方向。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

图像分割技术

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

视觉问答技术

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

多层感知机技术

感知机(Perceptron)一般只有一个输入层与一个输出层,导致了学习能力有限而只能解决线性可分问题。多层感知机(Multilayer Perceptron)是一类前馈(人工)神经网络及感知机的延伸,它至少由三层功能神经元(functional neuron)组成(输入层,隐层,输出层),每层神经元与下一层神经元全互连,神经元之间不存在同层连接或跨层连接,其中隐层或隐含层(hidden layer)介于输入层与输出层之间的,主要通过非线性的函数复合对信号进行逐步加工,特征提取以及表示学习。多层感知机的强大学习能力在于,虽然训练数据没有指明每层的功能,但网络的层数、每层的神经元的个数、神经元的激活函数均为可调且由模型选择预先决定,学习算法只需通过模型训练决定网络参数(连接权重与阈值),即可最好地实现对于目标函数的近似,故也被称为函数的泛逼近器(universal function approximator)。

VGG技术

2014年,牛津大学提出了另一种深度卷积网络VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。AlexNet前面几层用了11×11和5×5的卷积核以在图像上获取更大的感受野,而VGG采用更小的卷积核与更深的网络提升参数效率。VGG-Net 的泛化性能较好,常用于图像特征的抽取目标检测候选框生成等。VGG最大的问题就在于参数数量,VGG-19基本上是参数量最多的卷积网络架构。VGG-Net的参数主要出现在后面两个全连接层,每一层都有4096个神经元,可想而至这之间的参数会有多么庞大。

变分自编码器技术

变分自编码器可用于对先验数据分布进行建模。从名字上就可以看出,它包括两部分:编码器和解码器。编码器将数据分布的高级特征映射到数据的低级表征,低级表征叫作本征向量(latent vector)。解码器吸收数据的低级表征,然后输出同样数据的高级表征。变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。在自动编码器中,需要输入一张图片,然后将一张图片编码之后得到一个隐含向量,这比原始方法的随机取一个随机噪声更好,因为这包含着原图片的信息,然后隐含向量解码得到与原图片对应的照片。但是这样其实并不能任意生成图片,因为没有办法自己去构造隐藏向量,所以它需要通过一张图片输入编码才知道得到的隐含向量是什么,这时就可以通过变分自动编码器来解决这个问题。解决办法就是在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。这样生成一张新图片就比较容易,只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成想要的图片,而不需要给它一张原始图片先编码。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

LeNet技术

LeNet 诞生于 1994 年,是最早的卷积神经网络之一,并且推动了深度学习领域的发展。自从 1988 年开始,在许多次成功的迭代后,这项由 Yann LeCun 完成的开拓性成果被命名为 LeNet5。LeNet5 的架构基于这样的观点:(尤其是)图像的特征分布在整张图像上,以及带有可学习参数的卷积是一种用少量参数在多个位置上提取相似特征的有效方式。在那时候,没有 GPU 帮助训练,甚至 CPU 的速度也很慢。因此,能够保存参数以及计算过程是一个关键进展。这和将每个像素用作一个大型多层神经网络的单独输入相反。LeNet5 阐述了那些像素不应该被使用在第一层,因为图像具有很强的空间相关性,而使用图像中独立的像素作为不同的输入特征则利用不到这些相关性。

最大池化技术

最大池化(max-pooling)即取局部接受域中值最大的点。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

GoogLeNet技术

同样在2014年,谷歌提出了 GoogLeNet(或Inception-v1)。该网络共有22层,且包含了非常高效的Inception模块,它同样没有如同VGG-Net那样大量使用全连接网络,因此参数量非常小。GoogLeNet最大的特点就是使用了Inception模块,它的目的是设计一种具有优良局部拓扑结构的网络,即对输入图像并行地执行多个卷积运算或池化操作,并将所有输出结果拼接为一个非常深的特征图。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

AlphaFold技术

DeepMind 提出的深度神经网络蛋白质形态预测方法。AlphaFold系统,是DeepMind在2017-2018年中一直在研究的项目,它建立在多年以前使用大量基因组数据来预测蛋白质结构的研究基础之上。 AlphaFold产生的蛋白质3D模型比以往任何一种都精确得多,在生物学的核心挑战之一上取得了重大进展。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

遗忘门技术

LSTM或GRU中特有的机制

层归一化技术

深度神经网络的训练是具有高度的计算复杂性的。减少训练的时间成本的一种方法是对神经元的输入进行规范化处理进而加快网络的收敛速度。层规范化是在训练时和测试时对数据同时进行处理,通过对输入同一层的数据进行汇总,计算平均值和方差,来对每一层的输入数据做规范化处理。层规范化是基于批规范化进行优化得到的。相比较而言,批规范化是对一个神经元输入的数据以mini-batch为单位来进行汇总,计算平均值和方法,再用这个数据对每个训练样例的输入进行规整。层规范化在面对RNN等问题的时候效果更加优越,也不会受到mini-batch选值的影响。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

文本生成技术

文本生成是生成文本的任务,其目的是使人类书写文本难以区分。

GPT-2技术

GPT-2是OpenAI于2019年2月发布的基于 transformer 的大型语言模型,包含 15 亿参数、在一个 800 万网页数据集上训练而成。据介绍,该模型是对 GPT 模型的直接扩展,在超出 10 倍的数据量上进行训练,参数量也多出了 10 倍。在性能方面,该模型能够生产连贯的文本段落,在许多语言建模基准上取得了 SOTA 表现。而且该模型在没有任务特定训练的情况下,能够做到初步的阅读理解、机器翻译、问答和自动摘要。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

文本到图像生成技术

文本到图像生成是从文本描述或标题生成图像的任务。

生成对抗技术

生成对抗是训练生成对抗网络时,两个神经网络相互博弈的过程。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。

推荐文章
作为一个发展了七十年左右的技术,神经网络与机器学习表现出了惊人的活力和令人期待的前景。