【机器学习】名词整理

机器学习名词整理

  • 一、基础名词
    • 1.1 batch_size/批尺寸
    • 1.2 epoch
    • 1.3 iteration
    • 1.4 learning rate/学习率
    • 1.5 loss/损失函数
    • 1.6 梯度下降法
    • 1.7 优化器
    • 1.8 kernel/内核
    • 1.9 filter/滤波器
    • 1.10 padding/填充
  • 二、激活函数
    • 2.1 Softmax函数
    • 2.2 Relu函数
  • 三、优化器/优化算法
    • 3.1 SGD/随机梯度下降
    • 3.2 Adagrad
    • 3.4 RMSprop
  • 四、上采样
    • 4.1 基础定义

一、基础名词

1.1 batch_size/批尺寸

  1. 定义:单次传递给模型用以训练的数据(样本)个数;

  2. 影响:模型的优化程度和速度;GPU内存的使用情况

  3. 例子:如若一共有1000个数据,设置batch_size=200,则每次传入200(batch_size)个数据用于训练,一共传递5(iterations)次(1000=200*5)

  4. 用处:
    1)Batch_Size的正确选择是为了在内存效率和内存容量之间寻找最佳平衡
    2)适当batch_size使得梯度下降方向更加准确
    3)减少内存的使用;对训练数据集分块训练,单次训练量变小

  5. 隐患:
    1)batch_size过小,会造成训练中的梯度值有较大的波动,训练数据难以收敛
    2)batch_size过大,为达到同样的准确度,要求epoch增加,epoch增加也会导致耗时

  6. 用法:需要选取合适的大小

类型 情况
没有batch_size(GD) 梯度准确,只适用于小样本数据库;基于整个数据库训练,梯度准确但耗时
batch_size=1(在线学习) 梯度变化大,网络很难收敛;减小开销并大限度利用GPU内存
batch_size>1(批梯度下降法/Mini-batches Learning) 选择合适的batch_size令梯度变准确;增加到一定量时,梯度不再更加准确,此时为最适batch_size,不应再增大(再增加batch_size,为保证准确度,会导致epoch的增大,增加训练量)

1.2 epoch

  1. 含义:对整个数据集进行n次遍历,即对数据集中的所有数据进行n次正向计算与反向传播

1.3 iteration

  1. 含义:完成一次epoch一共需要喂入的batch_size大小的子数据集数量
  2. 计算:iteration=数据集总个数/batch_size
  3. 例子:如若一共有1000个数据,设置batch_size=200,则每次传入200(batch_size)个数据用于训练,一共传递5(iterations)次

1.4 learning rate/学习率

  1. 含义:优化算法中的一个调优参数,它在每次迭代中确定步长,同时向损失函数的最小值移动。
  2. 作用:控制每次根据估计误差对模型权重更新的多少
  3. 影响
    1)过大:每步太大,虽然收敛速度很快,但可能跨过或忽略了最小值,导致一直来回震荡而无法收敛
    2)过小:每步太小,下降速度太慢

1.5 loss/损失函数

  1. 含义:表现预测与实际数据的差距程度。

1.6 梯度下降法

  1. 梯度:梯度向量的方向是当前点增长达到最快的方向,模长为增长速度。
  2. 方法:损失函数朝着梯度的负方向去变化
  3. 原理:由于梯度方向是增长最快的,所以梯度的负方向就是下降最快的。在模型更新参数时,朝着梯度的负方向去变化,可以使得损失函数Loss降低较快。

1.7 优化器

  1. 含义:管理并更新模型中可学习参数的值,使得模型输出更接近真实标签。
  2. 作用:通过损失函数的数值表现,根据一定的方法更新模型中的参数,使得损失函数逐步降低
    3.功能:
    1)管理:可学习的权值和偏置
    2)更新:通过一些优化策略(比如梯度下降法)更新管理的参数

1.8 kernel/内核

  1. 含义:内核是一个2维矩阵,长 × 宽
  2. 作用:通常用2D于卷积运算

1.9 filter/滤波器

  1. 含义:滤波器是一个三维的立方体,由多个(深度)长宽相同的内核组成,长x宽x深
  2. 作用:提取图像的特定的特征单元
  3. 关系:多张长宽相同的kernel 组成一个filter
  4. kernel的个数:由输入的通道个数决定,输入多少特征,则filter包含多少张kernel。

1.10 padding/填充

  1. 用法:在卷积之前,有时要向输入数据的周围填入固定的数据。
  2. 作用:调整输出的大小,保留边缘的信息

二、激活函数

2.1 Softmax函数

  1. 算法:该元素的指数与所有元素指数和的比值
    在这里插入图片描述
    【机器学习】名词整理_第1张图片

  2. 作用:对于长度为K的任意实向量,Softmax函数可以将其压缩为长度为k且值在[0,1]范围内,并且向量中元素的总和为1的实向量。

  3. 特点:
    1)在零点不可微
    2)负输入的梯度为零;对于该区域的激活,权重不会在反向传播期间更新,因此会产生永不激活的死亡神经元。

  4. 区分max、softmax和k个二元分类器

函数名 特点
max 输出的是最大概率项,是一个确定的变量
k个logistic 分类项之间不互斥,即一个样本仅可能被打上多个类别标签
softmax 输出的是每个分类项被取到的概率,且分类项之间互斥,即一个样本仅可能被打上一个类别标签

2.2 Relu函数

  1. 算法:
    在这里插入图片描述
    【机器学习】名词整理_第2张图片
  2. 优点:
    1)计算量小
    2)缓解梯度消失和梯度爆炸问题
    3)缓解了过拟合问题,增加网络稀疏性
  3. 缺点:输入激活函数值为负数时,输出0,使得w一直是0,该神经元报废。
  4. 缺点优化:一些对Relu的改进,如ELU、PRelu、Leaky ReLU等,给负数区域一个很小的输出,不让其置0,从某种程度上避免了使部分神经元死掉的问题。

三、优化器/优化算法

3.1 SGD/随机梯度下降

  1. 方法:通过每个样本来迭代更新一次,以损失很小的一部分精确度和增加一定数量的迭代次数为代价,换取了总体的优化效率的提升。
  2. 缺点:
    1)对于参数比较敏感,选择合适的learning rate比较困难
    2)容易陷入局部极小值
    3)当数据较多时,训练时间长
    4)迭代一步,都要用到训练集所有的数据

3.2 Adagrad

  1. 方法:将每一个参数的每一次迭代的梯度取平方累加再开方,用基础学习率除以这个数,来做学习率的动态更新。学习率与梯度挂钩,实现了自适应学习率
  2. 设置:只需要设置初始学习率,后面学习率会自我调整,越来越小
  3. 优点:
    1)避免手动调节学习率
    2)适合处理稀疏梯度,压制常常变化的参数,突出稀缺的更新。能够更有效地利用少量有意义样本。
  4. 缺点:网络学习的后期,更新能力越来越弱,因为学习率会变得极其小
    【机器学习】名词整理_第3张图片

3.4 RMSprop

  1. 方法:是Adagrad和Adadelta的一种变体;针对 AdaGrad 算法在迭代后期由于学习率过小的问题。
  2. 优点:
    1)适合处理非平稳目标(与时间相关)
    2)对于RNN效果很好

四、上采样

4.1 基础定义

  1. 作用:放大原图像,显示更高分辨率
  2. 主流的两种类别:
    1)线性插值:最近邻算法、双线性插值算法、双三次插值算法
    2)可学习:转置卷积、PixelShuffle(亚像素卷积,CVPR2016)、DUpsampling(亚像素卷积,CVPR2019)、Meta-Upscale(任意尺度缩放,CVPR2019)、CAPAFE(内容关注与核重组,思路新颖,ICCV2019)

你可能感兴趣的:(深度学习,机器学习,深度学习,人工智能)