• [笔记] 深度学习的部分专业名词


    深度学习的部分专业名词

    最近输入有点多,输出太少了,整个文档记录一些小知识点,以后可能还会加一些

    来源于沐神的动手学深度学习的前言

    参数:类比旋钮,旋钮的转动可以调整程序的行为

    模型:任一调整参数后的程序

    模型族:通过操作参数而生成的所有不同程序(输入-输出映射)的集合

    学习算法:使用数据集来选择参数的元程序

    训练模型

    1. 从一个随机初始化参数的模型开始,这个模型基本没有“智能”;
    2. 获取一些数据样本(例如,音频片段以及对应的是或否标签);
    3. 调整参数,使模型在这些样本中表现得更好;
    4. 重复第(2)步和第(3)步,直到模型在任务中的表现令人满意。

    机器学习组件

    1. 可以用来学习的数据(data);
    2. 如何转换数据的模型(model);
    3. 一个目标函数(objective function),用来量化模型的有效性;
    4. 调整模型参数以优化目标函数的算法(algorithm)。

    维数

    当每个样本的特征类别数量都是相同的时候,其特征向量是固定长度的,这个长度被称为数据的维数(dimensionality)。 固定长度的特征向量是一个方便的属性,它可以用来量化学习大量样本。

    (深度学习的一个主要优势是可以处理不同长度的数据。)

    数据要正确

    目标函数:在机器学习中,我们需要定义模型的优劣程度的度量,这个度量在大多数情况是“可优化”的,这被称之为目标函数(objective function)。

    损失函数:我们通常定义一个目标函数,并希望优化它到最低点。 因为越低越好,所以这些函数有时被称为损失函数(loss function,或cost function)。 但这只是一个惯例,我们也可以取一个新的函数,优化到它的最高点。

    优化算法:它能够搜索出最佳参数,以最小化损失函数。深度学习中,大多流行的优化算法通常基于一种基本方法–梯度下降(gradient descent)。 简而言之,在每个步骤中,梯度下降法都会检查每个参数,看看如果仅对该参数进行少量变动,训练集损失会朝哪个方向移动。 然后,它在可以减少损失的方向上优化参数。

    任何有关“有多少”的问题很可能就是回归问题。

    分类:二项分类、多项分类;层次分类

    检索、推荐系统、序列学习

    无监督可解决的问题:聚类、主成分分析、因果关系和概率图模型、生成对抗性网络

    强化学习:与环境交互并采取行动

    层:线性和非线性处理单元的交替,通常称为(layers)

    • 新的容量控制方法:dropout (Srivastava et al., 2014),有助于减轻过拟合的危险。这是通过在整个神经网络中应用噪声注入 (Bishop, 1995) 来实现的,出于训练目的,用随机变量来代替权重。

    • 注意力机制解决了困扰统计学一个多世纪的问题:如何在不增加可学习参数的情况下增加系统的记忆和复杂性。研究人员通过使用只能被视为可学习的指针结构 (Bahdanau et al., 2014) 找到了一个优雅的解决方案。不需要记住整个文本序列(例如用于固定维度表示中的机器翻译),所有需要存储的都是指向翻译过程的中间状态的指针。这大大提高了长序列的准确性,因为模型在开始生成新序列之前不再需要记住整个序列。

    • 多阶段设计。例如,存储器网络 (Sukhbaatar et al., 2015) 和神经编程器-解释器 (Reed and De Freitas, 2015)。它们允许统计建模者描述用于推理的迭代方法。这些工具允许重复修改深度神经网络的内部状态,从而执行推理链中的后续步骤,类似于处理器如何修改用于计算的存储器。

    • 另一个关键的发展是生成对抗网络 (Goodfellow et al., 2014) 的发明。传统模型中,密度估计和生成模型的统计方法侧重于找到合适的概率分布(通常是近似的)和抽样算法。因此,这些算法在很大程度上受到统计模型固有灵活性的限制。生成式对抗性网络的关键创新是用具有可微参数的任意算法代替采样器。然后对这些数据进行调整,使得鉴别器(实际上是一个双样本测试)不能区分假数据和真实数据。通过使用任意算法生成数据的能力,它为各种技术打开了密度估计的大门。驰骋的斑马 (Zhu et al., 2017) 和假名人脸 (Karras et al., 2017) 的例子都证明了这一进展。即使是业余的涂鸦者也可以根据描述场景布局的草图生成照片级真实图像( (Park et al., 2019) )。

    • 在许多情况下,单个GPU不足以处理可用于训练的大量数据。在过去的十年中,构建并行和分布式训练算法的能力有了显著提高。设计可伸缩算法的关键挑战之一是深度学习优化的主力——随机梯度下降,它依赖于相对较小的小批量数据来处理。同时,小批量限制了GPU的效率。因此,在1024个GPU上进行训练,例如每批32个图像的小批量大小相当于总计约32000个图像的小批量。最近的工作,首先是由 (Li, 2017) 完成的,随后是 (You et al., 2017) 和 (Jia et al., 2018) ,将观察大小提高到64000个,将ResNet-50模型在ImageNet数据集上的训练时间减少到不到7分钟。作为比较——最初的训练时间是按天为单位的。

    • 并行计算的能力也对强化学习的进步做出了相当关键的贡献。这导致了计算机在围棋、雅达里游戏、星际争霸和物理模拟(例如,使用MuJoCo)中实现超人性能的重大进步。有关如何在AlphaGo中实现这一点的说明,请参见如 (Silver et al., 2016) 。简而言之,如果有大量的(状态、动作、奖励)三元组可用,即只要有可能尝试很多东西来了解它们之间的关系,强化学习就会发挥最好的作用。仿真提供了这样一条途径。

    • 深度学习框架在传播思想方面发挥了至关重要的作用。允许轻松建模的第一代框架包括CaffeTorchTheano。许多开创性的论文都是用这些工具写的。到目前为止,它们已经被TensorFlow(通常通过其高级API Keras使用)、CNTKCaffe 2Apache MXNet所取代。第三代工具,即用于深度学习的命令式工具,可以说是由Chainer率先推出的,它使用类似于Python NumPy的语法来描述模型。这个想法被PyTorch、MXNet的Gluon APIJax都采纳了。

  • 相关阅读:
    最小生成树算法
    两台Linux服务器之间传送文件
    vs 插件下载慢的解决方法
    CSS详细基础(六)边框样式
    GPIO子系统编写LED驱动
    Turtlebot3-burger入门教程#foxy版#-雷达测试
    nginx 详细的使用教程
    介绍ClickHouse重要特性——系统表
    02_Java基础语法
    一台服务器最大能支持多少条TCP连接
  • 原文地址:https://blog.csdn.net/qq_43661601/article/details/133342720