深度学习初学者教程:神经网络基础

⚡ 智能摘要

深度学习是机器学习的一个分支,它建立在堆叠多个隐藏层的神经网络之上,因此每一层都能比前一层学习到更丰富的数据特征。

  • 🔘 分层架构: 一个深度网络由一个输入层、两个或多个隐藏层和一个输出层构成。
  • ☑️ Signal 力量: 权重、偏置和激活函数决定每个神经元将什么信息传递给下一层。
  • 两相回路: 首先通过非线性变换生成模型,然后通过基于导数的方法对其进行改进,如此反复,直到精度达到可接受的水平。
  • 🧪 四种架构: 前馈网络、循环网络、卷积网络和强化学习智能体。
  • 🛠️ 回报所在: 金融领域的信用评分、人力资源领域的候选人筛选、市场营销领域的呼叫中心情绪分析。
  • ⚙️ 真正的极限: 标注成本、对海量数据集的需求以及难以用简单语言解释的模型。

深度学习初学者教程:神经网络基础

什么是深度学习?

深度学习是一种模拟大脑神经元网络的计算机软件。它是神经网络的一个子集。 机器学习 基于表征学习的人工神经网络。之所以称为深度学习,是因为它利用了深度神经网络。这种学习可以…… 监督半监督或 无监督.

深度学习算法由相互连接的层构成,如下图所示。

  • 第一层称为输入层
  • 最后一层称为输出层
  • 中间的所有层都称为隐藏层。“深度”一词意味着该网络连接了超过两层的神经元。
深度神经网络示意图,展示了一个输入层、两个隐藏神经元层和一个输出层。
输入层、隐藏层和输出层,以及各个神经元之间的连接。

每个隐藏层都由神经元组成。这些神经元彼此相连。神经元处理接收到的输入信号,然后将结果传递到上一层。传递到下一层神经元的信号强度取决于权重、偏置和激活函数。

该网络消耗大量输入数据,并通过多层对其进行操作,因此网络可以在每一层学习越来越复杂的数据特征。

深度学习过程

深度神经网络在从目标检测到语音识别等诸多任务中都能达到最先进的准确率。这类网络可以自动学习,无需程序员预先定义并显式编写知识。在实践中,深度学习项目通常会经历五个阶段:

  • 了解问题
  • 识别数据
  • 选择一种深度学习算法
  • 训练模型
  • 测试模型
从理解问题到测试模型的五阶段深度学习流程

深度学习项目的五个阶段,从问题定义到测试

为了理解深度学习的概念,不妨想象一个有婴儿和父母的家庭。蹒跚学步的孩子用小指指着物体,总是说“猫”。父母担心他的学习,便不断地告诉他“是的,那是猫”或“不,那不是猫”。孩子继续指着物体,但对“猫”的判断越来越准确。其实,孩子内心深处并不明白自己为什么能说它是猫或不是猫。他只是学会了将构成猫的特征进行层级划分,先观察猫的整体,然后关注尾巴或鼻子等细节,最后做出判断。

神经网络的工作原理也大致相同。每一层都代表更深层次的知识,也就是知识的层级结构。一个四层的神经网络能够学习到比两层神经网络更复杂的特征。

学习分为两个阶段:

  • 第一阶段: 对输入进行非线性变换,并创建统计模型作为输出。
  • 第二阶段: 利用基于导数的数学方法改进模型,这就是…… 反向传播 调整配重。

神经网络会重复这两个阶段数百到数千次,直到达到可接受的准确度水平。这两个阶段的每次重复都称为一次迭代。

举个深度学习的例子,看看下面的动画,模型正在尝试学习跳舞。经过 10 分钟的训练,模型仍然不会跳舞,输出结果就像一团乱麻。

经过十分钟的深度学习训练后,动画人物的动作变得不规则。

经过 48 小时的学习,电脑掌握了跳舞的艺术,正如第二个动画所示。

经过48小时的深度学习训练后,动画人物流畅地跳舞

神经网络的分类

首先按隐藏层数量对网络进行分组。

浅层神经网络: 浅层神经网络在输入层和输出层之间只有一个隐藏层。

深度神经网络: 深度神经网络拥有不止一个隐藏层。例如,用于图像识别的 GoogLeNet 模型就有 22 层。

如今,深度学习已应用于无人驾驶汽车、移动电话等领域。 Google 搜索引擎、欺诈检测和电视。

深度学习网络的类型

几种架构已成为标准,每种架构都取决于其处理的数据类型。下图由阿西莫夫研究所发布,描绘了更广泛的架构系列。

神经网络架构图,包括感知器、前馈神经网络、RBF神经网络、RNN神经网络、LSTM神经网络、GRU神经网络和自编码器。

神经网络架构图,从单个感知器到 LSTM、GRU 和自编码器变体

前馈神经网络

这是最简单的神经网络类型。在这种架构中,信息只沿一个方向流动,即向前流动。这意味着信息流从输入层开始,经过“隐藏层”,最终到达输出层。该网络没有循环,信息在输出层停止流动。

递归神经网络 (RNN)

An RNN 循环神经网络(RNN)是一种多层神经网络,它可以将信息存储在上下文节点中,从而学习数据序列并输出数字或其他序列。简而言之,它是一种人工神经网络,其神经元之间的连接包含循环。RNN 非常适合处理输入序列,因为输出会作为记忆反馈到网络中。

循环神经网络框图,其输出作为内存循环回到网络中。

循环神经网络(RNN)会将其输出发送回自身,这赋予了网络记忆功能。

例如,如果任务是预测句子“Do you want a …?”中的下一个词,则网络会按如下方式运行:

  • RNN神经元接收到一个指向句子开头的信号。
  • 网络接收单词“Do”作为输入,并生成一个数字向量。该向量被反馈给神经元,为网络提供记忆。这一步骤帮助网络记住它接收到了“Do”,并且它是第一个输入。
  • 网络对接下来的词语的处理方式类似。它接收词语“你”,然后是“想要”。神经元的状态在接收到每个词语后都会更新。
  • 最后阶段发生在接收到单词“a”之后。神经网络会为每个可能构成句子的英文单词赋予一个概率值。一个训练良好的循环神经网络(RNN)可能会给“café”、“drink”、“burger”以及类似的单词赋予较高的概率。

RNN 的常见用途

  • 帮助证券交易者生成分析报告
  • 检测财务报表中的异常情况
  • 检测信用卡欺诈交易
  • 为图片提供标题
  • 电力 聊天机器人
  • RNN 的标准用途是处理时间序列数据或序列,例如音频录音或文本。

卷积神经网络(CNN)

A CNN 是一个具有独特架构的多层神经网络,旨在……trac卷积神经网络(CNN)通过逐层分析数据中日益复杂的特征来确定输出。CNN非常适合感知任务。

CNN架构包含卷积、ReLU和池化特征学习阶段,随后进行展平、全连接和softmax分类。

通过卷积、ReLU 和池化进行特征学习;通过扁平化、全连接和 softmax 进行分类。

卷积神经网络(CNN)主要用于处理非结构化数据集,例如图像,并且从业者需要进行扩展。trac从中获取信息。

例如,如果任务是预测图像标题:

  • 卷积神经网络(CNN)接收一张图像,例如一张猫的图像。从计算机科学的角度来看,这张图像是由像素组成的集合,通常灰度图像由一层像素构成,彩色图像由三层像素构成。
  • 在特征学习阶段,也就是隐藏层,网络会识别独特的特征,例如猫的尾巴或耳朵。
  • 一旦网络彻底学会了如何识别图像,它就能为已知的每个图像类别给出概率值。概率最高的标签就成为网络的预测结果。

强化学习

强化学习 是机器学习的一个子领域,其中系统通过接收虚拟的“奖励”或“惩罚”进行训练,本质上是通过试错法进行学习。它是一种学习范式,而非网络结构,但其现代算法构建于深度网络之上。 GoogleDeepMind 利用强化学习技术击败了围棋冠军。强化学习也被应用于电子游戏中,通过提供更智能的机器人来提升游戏体验。

一些最著名的算法包括:

  • Q学习
  • 深度Q网络
  • 状态-行动-奖励-状态-行动 (SARSA)
  • 深度确定性策略梯度(DDPG)

下表总结了每种架构的适用情况。

卓越 数据适合 显著特征 典型任务
前馈 固定长度表格输入 没有循环;信息只向前传递。 评分和简单分类
循环神经网络(RNN) 序列和时间序列 上下文节点赋予它内存 文本预测、音频预测、预测
卷积神经网络(CNN) 网格状非结构化数据 卷积和池化示例tract 特征 图像分类与描述
强化学习 一个环境,而非一个数据集 从奖惩中学习 游戏代理、机器人、控制

深度学习应用示例

这些架构已经在截然不同的行业中投入生产使用:

金融领域的人工智能

金融科技行业已经开始利用人工智能来节省时间、降低成本并创造价值。深度学习正通过更强大的信用评分系统改变着贷款行业。信贷决策者可以利用人工智能进行信贷申请,从而更快、更准确地评估风险,并运用机器学习技术将申请人的品行和能力纳入考量。

Underwrite 是一家金融科技公司,为信贷决策者提供人工智能解决方案。underwrite.ai 利用人工智能技术来检测哪些申请人更有可能偿还贷款,该公司称这种方法优于传统的评分卡。

人力资源中的人工智能

Under Armour,一家运动服装公司 revolut借助人工智能,Under Armour 革新了招聘流程,并提升了求职者体验。2012 年,Under Armour 的招聘需求激增,平均每月收到超过 30,000 万份申请。阅读所有申请,然后进行筛选和面试,耗时过长。冗长的招聘和入职流程影响了 Under Armour 零售店的员工配备,使其无法正常运营。

当时,Under Armour 已经拥有所有“必备”的人力资源技术,例如用于招聘、申请等的交易解决方案。 tracUnder Armour 也曾使用过招聘和入职工具,但这些工具本身并不足以解决问题。他们最终选择了 HireVue,一家提供人工智能人力资源解决方案的公司,用于按需和实时面试。结果令人瞩目:该公司表示,招聘周期缩短了 35%,同时提高了员工的质量。

营销中的AI

人工智能是应对客户服务管理和个性化挑战的宝贵工具。应用人工智能技术改进呼叫中心管理和呼叫路由中的语音识别功能,能够为客户带来更加流畅的体验。

例如,通过深度学习分析音频,系统可以评估客户的情绪基调。如果客户对人工智能聊天机器人的反应不佳,系统可以将对话转接给真人客服人员来处理问题。

除了以上三个深度学习的例子之外,人工智能还被广泛应用于其他领域和行业。

深度学习为何重要?

深度学习是一种强大的工具,可以将预测转化为可执行的结果。深度学习尤其擅长模式发现和基于知识的预测。 大数据 是深度学习的燃料。当两者结合时,组织可以在生产力、销售、管理和创新方面获得以前无法企及的成果。

深度学习也能超越传统方法。尤其是在感知问题上,深度网络多年来一直表现出色:图像分类、语音识别和人脸识别等领域都由深度架构主导,人脸识别模型在标准公开基准测试中的准确率接近 99%。这种优势源于网络学习自身的特征,而不是依赖于人工设计的特征。

深度学习的局限性

这些成果是有实际代价的。

数据标签

目前大多数人工智能模型都是通过监督学习进行训练的。这意味着人类必须对底层数据进行标注和分类,这是一项耗时耗力且容易出错的工作。例如,开发人工智能模型的公司……ping 自动驾驶汽车技术公司雇佣数百人手动标注原型车数小时的视频流,以训练这些系统。

获取大量训练数据集

研究表明,深度学习技术(例如卷积神经网络)在某些情况下可以模仿医学及其他领域专家的知识。然而,这波机器学习浪潮需要训练数据集,这些数据集不仅要带有标签,还要足够广泛和通用。

深度学习方法需要数千个观测数据才能使模型在分类任务中表现相对良好,在某些情况下,甚至需要数百万个观测数据才能达到人类的水平。不出所料,深度学习最常用于大型科技公司,这些公司利用大数据积累PB级的数据样本。如此庞大的规模使它们能够创建令人印象深刻且高度精确的深度学习模型。

解释一个问题

大型复杂模型很难用人类的语言解释,例如,为什么会做出某个特定的决定。这也是人们难以接受某些模型的原因之一。 人工智能 工具在需要或确实需要可解释性的应用领域运行缓慢。

此外,随着人工智能应用的扩大,监管要求也可能推动对更多可解释的人工智能模型的需求。

常见问题

古典 机器学习 需要人工设计特征,并且适用于小型表格数据。深度学习可以从原始非结构化数据中自行学习特征,但需要更多的样本和计算资源。

它引入了非线性,因此堆叠层可以对弯曲的决策边界进行建模,而不是简化为一个线性步骤。ReLU 是隐藏层中常用的默认激活函数;sigmoid 和 softmax 函数用于调整输出层的形状。

反向传播算法衡量每个权重对误差的贡献程度,然后沿着梯度反向遍历每一层,使每个权重都朝着降低损失的方向微调。这是模型运行的第二阶段。

一个 epoch 指的是网络对训练数据进行一次完整的遍历。批大小是指网络在更新权重之前所看到的样本数量。学习率控制着每次权重更新的大小。

Transformer 模型于 2017 年推出,它用注意力机制取代了循环,使得每个词元可以同时查看其他所有词元。由于这种并行处理方式,Transformer 的扩展性远胜于循环神经网络 (RNN),如今已在语言和视觉领域占据主导地位。

训练过程主要涉及大型矩阵乘法,而GPU能够以极高的内存带宽并行运行这些运算。将CNN或Transformer模型从CPU迁移到单个训练GPU上,通常可以带来数倍的加速。

神经网络架构搜索和 AutoML 工具会尝试不同的层数、层宽和超参数,然后保留验证效果最佳的候选方案。它们大大减少了人工筛选的工作量,但目标函数和计算预算仍然由人来设定。

GitHub 副驾驶 草案 TensorFlow 和 PyTorch 训练循环由简短提示决定。请自行检查输入形状、损失函数和随机种子,因为系统自动生成的模板代码经常出错。

总结一下这篇文章: