深度学习简介

  • 深度学习定义

       深度学习,英文名称为Deep Learning,是近几年人工智能领域的主要研究方向。深度学习的主要任务是通过构建深度卷积神经网络(Deep Neural Network,DNN)和采用大量样本数据作为输入,人们最终会得到一个具有强大分析能力和识别能力的模型,该模型包含了DNN的构成参数以应用于实际工作。

       深度学习是一种基于神经网络的学习方法,和传统·的机器学习方法相比,深度学习模型一般需要更丰富的数据、更强大的计算资源,同时也能拥有更高的准确率。

       在2015年第9期《自然》杂志中,存在与深度学习定义相关的内容:深度学习方法是具有多层次特征描述的特征学习,通过一些简单但非线性的模块将每一层特征描述转化为更高一层的、更为抽象一些的特征描述

  • 深度学习目标:学习样本数据的内在规律和表示层次
  • 深度学习关键:

        这些层次的特征不是由人工设计的,而是使用一种通用的学习步骤从数据中学习获取的(学习得到的)。这些学习过程中获得的信息对文字、图像和声音等数据的解释有很大的帮助。

  • 深度学习应用场景:

        深度学习在很多领域都取得很多成果,例如搜索技术、数据挖掘、机器翻译、多媒体学习、推荐和个性化技术、图像分类与识别、语音识别与合成、视频分类与行为识别、纹理识别、行人检测、场景标记、门牌识别、人脸识别

人脸识别在大规模图像分类问题上也远超传统方法

语音识别也取得了突破性进展

  • 深度学习的优势与挑战:

       深度学习的挑战与困难:深度学习需要大量的数据和计算资源,模型的解释性和泛化能力也是当前面临的主要挑战。

       深度学习的未来发展趋势:随着技术的进步,深度学习将在模型结构、算法优化等方面有更多的创新,有望推动人工智能领域的发展。

  • 计算机视觉的基本任务

  • 计算机视觉的定义:

       计算机视觉是人工智能领域的一个重要分支,专注于使计算机能够从数字图像或视频中获取高层次的理解。计算机视觉的应用非常广泛,涵盖了从零售到医疗、从自动驾驶到工业自动化等多个行业。随着技术的进步,计算机视觉正变得越来越精准和智能化,它不仅能够提高生产效率,还能增强用户体验,并在许多关键领域提供支持和解决方案。

  • 计算机视觉的核心组成部分:
  1.  图像分类:将图像归入预定义的类别,例如区分图片中的狗、猫、花等。这是最基本的任务之一,通常涉及使用机器学习算法来识别和分类图像内容。
  2.  物体检测:在图像中识别出特定物体的实例,并通常给出这些物体的边界框(bounding box)以及类别标签。这比单纯的图像分类更为复杂,因为它涉及到定位物体在图像中的具体位置。
  3. 图像分割:将图像划分为多个区域,并给每个区域分配一个类别标签。这实际上是对图像中的每个像素进行分类,从而实现更细致的理解。
  4.  目标跟踪:在视频序列中追踪一个或多个目标的移动轨迹。这要求系统综合运用图像分类、检测和分割技术来持续地定位移动中的目标。
  5.  场景理解:对整个场景的深入理解,包括场景的三维结构、物体之间的关系以及场景发生的行为模式等。这是一个更加复杂的层面,需要计算机综合多种信息和技术来实现。
  • 计算机视觉的基本任务:

       计算机视觉的基本任务包含图像处理、模式识别或图像识别、景物分析、图像理解等。除了图像处理和模式识别之外,它还包括空间形状的描述,几何建模以及认识过程。实现图像理解是计算机视觉的终极目标

  • 计算机视觉的传统算法:
  1. 缺乏对特征的重视
  2. 图像特征提取需要人力
  3. 依赖特征算子
  • 计算机视觉的主要应用:   
  1. 图像分类:图像分类是深度学习中最常见的应用之一。目标是将图像分到预定义的类别中。深度学习通过多层神经网络来学习图像的抽象特征。这些特征可以从原始像素值或者低级特征(如边缘、纹理等)中提取出来,然后通过多个隐藏层进行非线性组合和转换,最终得到高级语义特征。卷积神经网络(Convolutional Neural Network, CNN):主要用于图像分类和识别任务,包括LeNet、AlexNet、VGG、GoogLeNet、ResNet 。生成对抗网络(Generative Adversarial Network, GAN):用于生成新样本,主要包括GAN、DCGAN、WGAN等
  2. 目标检测:目标检测是机器视觉领域最主要的应用之一。 目标检测是指在图像或视频中识别和定位特定目标的任务。目标可以是人、车辆、动物等。目标检测的目标是找出图像中的目标对象,并给出其位置和范围。 目标检测=分类+定位 。One-Stage目标检测:端到端,速度快。(YOLO、YOLOX) Two-Stage目标检测:速度更慢,最开始提出。(SSD、R-CNN、Faster R-CNN)
  •  自然语言处理

  • 自然语言处理的定义:

       自然语言处理(NLP)是一门研究如何让计算机理解、处理和生成人类语言的学科,它不仅仅是人工智能领域的一个重要分支,也是连接人工智能与语言学的桥梁,它的研究成果广泛应用于各个领域,极大地丰富了人机交互的方式。自然语言处理包含机器理解、解释和生成人类语言的方法,因此,也将它描述为自然语言理解(Natural Language Understanding,NLU)和自然语言生成(Natural Language Generation,NLG)。

  • 自然语言处理的主要研究方向
  1. 语言理解:这包括文本分类、情感分析、实体识别等任务,目的是让计算机能够理解文本的含义和上下文信息。
  2. 语言生成:涉及到生成符合语言规则的句子或段落,如自动写作、聊天机器人等应用。
  3. 机器翻译:将一种语言翻译成另一种语言,这是NLP中一个非常活跃的研究领域。
  4. 语音识别:将语音转换为文本,以及语音合成,即从文本生成语音。
  5. 信息抽取:从大量文本中提取有用的信息,如命名实体、关系、事件等。
  •  自然语言处理的主要任务:
  1. 语言建模:计算一个句子在一个语言中出现的概率。
  2. 中文分词:将中文句子恰当地切分为单个的词。
  3. 句法分析:通过明确句子内两个或多个词的关系来了解整个句子的结构。最终句法分析的结果是一棵句法树。
  4. 情感分析:给出一个句子,判断这个句子表达的情感。
  5. 机器翻译:最常见的是把源语言的一个句子翻译成目标语言的一个句子,最终预测出来的整个目标语言句子必须与给定的源语言句子具有完全相同的含义。
  6. 阅读理解:有许多形式。有时候是输入一个段落,一个问题,生成一个回答,或者在原文中标定一个范围作为回答,有时候是输出一个分类。
  7. 语言生成:通过模型和算法,使计算机能够生成符合语法和语义规则的人类语言。
  8. 信息检索:通过分析和索引大量的文本数据,使计算机能够快速准确地检索相关信息。
  9. 语言理解:通过分析文本和语音,使计算机能够理解人类语言的意义和目的。
  • 深度学习与神经网络发展

  • 现代深度学习

      卷积神经网络(CNN)是一种对人脑比较精准的模拟,是一种深度学习模型,它在计算机视觉领域取得了巨大成功。卷积神经网络的设计灵感来源于生物学中的视觉系统,目的是为了模拟人类的视觉处理方式。卷积神经网络图像识别、目标检测、图像生成等多个领域都取得了显著的进展,是计算机视觉和深度学习研究的重要组成部分。卷积神经网络通过其独特的结构和设计思路,有效地解决了图像处理中的许多问题,成为了当前人工智能领域的一个核心技术。

  • 卷积神经网络的一些关键特点和组成部分:
  1. 局部感受野:CNN的卷积层神经元仅与输入数据的一个局部区域相连接,这模仿了人类视觉系统的工作方式,即只关注视野中的一小块区域。
  2. 权值共享:在卷积层中,所有神经元使用相同的权重参数,这样可以减少模型的复杂性并提高计算效率。
  3. 池化层:池化层用于降低数据的空间尺寸,减少参数数量,同时保留重要的特征信息。
  4. 激活层:激活层如ReLU(修正线性单元)引入非线性,使得网络能够学习复杂的函数映射。
  5. 全连接层:在多个卷积和池化层之后,通常会有一个或多个全连接层,用于最终的分类或回归任务
  • 传统方法与神经网络方法的比较

传统方法适用于特征工程比较成熟、数据较少或易解释性要求高的场景;

神经网络方法适用于数据较大、特征难以手动设计或对模型性能要求较高的场景

  1. 人工参与程度:人的参与程度越来越低,但系统的效果越来越好。这是合乎直觉的,因为人对于世界的认识和建模总是片面的、有局限性的。如果可以将自然语言处理系统的构建自动化,将其基于对世界的观测点(即数据集),所建立的模型和方法一定会比人类的认知更加符合真实的世界。
  2. 可解释性:人工参与程度的降低带来的另一个问题是模型的可解释性越来越低。在理想状况下,如果系统非常有效,人们根本不需要关心黑盒系统的内部构造,但事实是自然语言处理系统的状态离完美还有相当的差距。
  3. 数据量:随着自然语言处理系统中人工参与的程度越来越低,系统的细节就需要更多的信息来决定,这些信息只能来自于更多的数据。
  • 强化学习

  • 强化学习的定义:

       强化学习(Reinforcement Learning, RL)是机器学习的一个领域,它涉及智能体(agent)在环境中通过试错来学习如何达到目标。强化学习与其他机器学习范式(如监督学习和无监督学习)不同,因为它不依赖于预先收集的数据集,而是通过智能体与环境的实时交互来学习。这使得强化学习特别适合于那些难以获取标记数据或环境动态变化的问题。强化学习是一种强大的学习范式,它在许多领域都有广泛的应用,包括游戏、机器人控制、资源管理等。

  • 强化学习的一些关键组成部分和特点:
  1. 智能体(Agent):执行动作的实体,旨在通过学习最佳策略来最大化某种累积奖励。
  2. 环境(Environment):智能体所处并与其交互的外部世界,通常以状态和奖励的形式向智能体提供信息。
  3. 行动:在每一个环境状态中,智能体可以采取的动作即为行动。
  4. 反馈:每到一个环境状态,智能体就有可能会收到一个反馈。
  5. 状态(State):环境的一个具体描述,通常是一个可以观察到的数据结构。
  6. 动作(Action):智能体可以采取的决策变量,动作的选择会影响环境的状态。
  7. 奖励(Reward):对智能体动作的即时评价,反馈给智能体以便进行学习和决策。
  8. 策略(Policy):从状态到动作的映射,定义了在给定状态下应该采取的动作。
  9. 价值函数(Value Function):预测从某一状态开始所能获得的累积奖励的期望值。
  10. Q函数(Q-Function):预测在给定状态下采取特定动作所能获得的累积奖励的期望值。
  • 强化学习四个因素:

          智能体在一系列的时间步骤上与环境交互。 在每个特定时间点,智能体从环境接收一些反馈(观测),并且必须选择一个行动(动作),然后通过某种机制(有时称为执行器)将其传输回环境,最后智能体从环境中获得奖励。 此后新一轮循环开始,智能体接收后续观察,并选择后续操作,依此类推。

  • 监督学习:监督学习是通过带有标签或对应结果的样本训练得到一个最优模型,再利用这个模型将所有输入映射为相应输出,以实现分类。监督学习之所以能发挥作用,是因为在训练参数时,我们为模型提供了一个数据集,其中每个样本都有真实的标签。

  • 非监督学习:非监督学习是在样本的标签未知的情况下,根据样本之间的相似性对样本集进行聚类,使类内差距最小化,学习出分类器。生成对抗性网络(generative adversarial networks): 为我们提供一种合成数据的方法,甚至像图像和音频这样复杂的非结构化数据。 潜在的统计机制是检查真实和虚假数据是否相同的测试。 它是无监督学习的另一个重要而令人兴奋的领域。
  • 强化学习:强化学习是机器学习的一个重要分支,它与非监督学习、监督学习并列为机器学习的三类主要学习方法。强化学习强调如何基于环境行动,以取得最大化的预期利益,所以强化学习可以被理解为决策问题。它是多学科多领域交叉的产物,其灵感来自于心理学的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。

  • 强化学习的特征:

       强化学习是序列学习,时间在强化学习中具有重要意义,智能体的行为会影响以后的所有决策。强化学习是一种侧重于如何在不断变化的环境中做出最佳决策的学习范式。它的核心在于智能体如何在没有明确指导的情况下,通过与环境的交互和反馈来学习。这些特点使得强化学习在游戏、机器人控制、资源管理等领域有着广泛的应用前景。

  1. 无监督学习:强化学习不同于监督学习,它不依赖于标记好的训练数据。相反,智能体通过与环境的交互来学习,其唯一的指导是奖励信号。
  2. 奖励的延迟性:智能体在环境中采取行动后,不会立即收到反馈。反馈通常以奖励的形式出现,并且可能存在延迟,这意味着智能体需要根据过去的经验来预测未来的动作价值。
  3. 时间序列的重要性:强化学习处理的是时序数据,即每个动作和状态都与时间相关联。这与传统的机器学习方法不同,后者通常假设数据是独立同分布的。
  4. 动作对未来的影响:智能体的行为(动作)会影响后续的状态和奖励。这意味着智能体必须考虑其行为对未来状态的长期影响。
  • 强化学习的目标:

       强化学习算法的目标就是获得最多的累计奖励(正反馈)。以“幼童学习走路”为例:幼童需要自主学习走路,没有人指导他应该如何完成“走路”,他需要通过不断的尝试和外界对他的反馈来学习走路。

  • 强化学习的算法简介:
  1. Q学习(Q-Learning):这是一种无模型的强化学习算法,它通过学习一个动作-值函数(Q函数)来指导智能体的行为。Q学习不需要知道环境的模型,即不需要了解状态转换的概率和奖励函数的具体形式。
  2. SARSA:与Q学习类似,SARSA也是一种无模型的算法,但它在更新Q值时使用的是实际采取的动作,而不是最优动作。这使得SARSA在某些情况下比Q学习更加稳健。
  3. 深度Q网络(DQN):DQN结合了Q学习和深度神经网络,能够处理高维度的输入数据,如图像。它在Atari游戏上取得了突破性的成果,展示了深度学习与强化学习结合的强大能力。
  4. 策略梯度(Policy Gradient):这种方法直接学习一个参数化的策略函数,通过梯度上升来优化策略,使得期望的累积奖励最大化。策略梯度方法适用于连续动作空间的问题。
  5. 演员-评论家(Actor-Critic):这种方法结合了策略梯度和价值函数的方法,使用两个模型:一个作为演员(actor)来决定策略,另一个作为评论家(critic)来评估策略。这种方法可以提高学习的稳定性和效率。
  6. 信任区域策略优化(TRPO):TRPO是一种先进的策略梯度方法,它通过约束新旧策略之间的差异来保证学习的稳定性,适用于大规模的问题。
  7. 深度确定性策略梯度(DDPG):DDPG是一种结合了Q学习和策略梯度的方法,它使用深度神经网络来表示策略和Q函数,适用于连续动作空间的问题。
  8. 软件学习(Soft Actor-Critic):SAC是一种基于演员-评论家框架的算法,它通过引入熵正则化来鼓励探索,并且可以在没有外部环境奖励的任务中学习多样和灵活的行为。
  9. 多智体强化学习(Multi-Agent Reinforcement Learning, MARL):当环境中有多个智能体相互作用时,MARL算法被用来找到每个智能体的最优策略。这些算法需要考虑智能体之间的竞争和合作。
  10. 模型预测控制(Model Predictive Control, MPC):MPC是一种基于模型的强化学习方法,它通过在给定的时间范围内优化一个目标函数来控制动作的选择。
  11. 蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS):MCTS是一种用于决策和规划的方法,特别是在棋类游戏中非常成功。它通过构建一个搜索树来模拟可能的行动及其结果。
  12. 时间差分学习(Temporal Difference, TD):TD学习是一种基于预测的方法,它通过结合当前的状态值和未来的状态值来更新当前的估计值。
  • Model-Based和Model-Free

Model-Based算法:agent可以根据模型预测下一步的结果,并提前规划行动路径。但真实模型和学习到的模型是有误差的,这种误差会导致agent虽然在模型中表现很好,但是在真实环境中可能打不到预期结果。

Model-Free算法:Model-Free的算法看似随意,但这恰好更易于研究者们去实现和调整。比如:Q-learning和SARSA

  • 基于概率和基于价值

基于概率的算法:基于概率的算法直接输出下一步要采取的各种动作的概率, 然后根据概率采取行动。每种动作都有可能被选中, 只是可能性不同。基于概率的算法的代表算法为policy-gradient。

基于价值的算法: 基于价值的算法输出的则是所有动作的价值, 然后根据最高价值来选择动作, 相比基于概率的方法, 基于价值的决策部分更为死板——只选价值最高的,而基于概率的, 即使某个动作的概率最高, 但是还是不一定会选到它。基于价值的算法的代表算法为Q-Learning。

  • 强化学习算法的应用

交互性检索是在检索用户不能构建良好的检索式(关键词)的情况下,通过与检索平台交流互动并不断修改检索式,从而获得较准确检索结果的过程。

新闻推荐需要:获取用户请求,召回候选新闻,对候选新闻进行排序,最终给用户推出新闻。        将用户持续浏览新闻的推荐过程看成一个决策过程,通过强化学习学习每一次推荐的最佳策略,提高用户的点击率。

无人驾驶被认为是强化学习短期内能技术落地的一个应用方向,很多公司投入大量资源在无人驾驶上,其中百度的无人巴士“阿波龙”已经在北京、武汉等地展开试运营,自动无人驾驶的行车视野如下图所示。

游戏领域:强化学习在游戏中的应用非常广泛。例如,在电子游戏中,强化学习算法可以训练智能体来学习如何玩游戏,并制定最佳策略来获得高分或战胜对手。AlphaGo就是一个成功的示例,它通过强化学习击败了世界冠军围棋选手。

  • 第一章总结

 本章简要介绍了深度学习的应用领域。 卷积神经网络可以模拟人类处理视觉信息的方式提取图像特征,极大地推动了计算机视觉领域的发展。

自然语言处理是典型的时序信息分析问题,其主要应用包括句法分析、情感分类、机器翻译等。

强化学习强调智能体与环境的交互与决策,具有广泛的应用价值。

通过引入深度学习,模型的函数拟合能力得到了显著的提升,从而可以应用到一系列高层任务中。 本章列出的三个应用领域只是举例,目前还有许多领域在深度学习技术的推动下进行着变革。

更多推荐