SGD(Stochastic Gradient Descent): 随机梯度下降

随机梯度下降(Stochastic Gradient Descent,简称SGD)是一种常用于训练机器学习模型的优化算法,特别在深度学习中广泛应用。SGD的主要思想是通过迭代更新模型参数以最小化损失函数,以使模型能够更好地拟合训练数据。

以下是SGD算法的关键步骤和工作原理:

  1. 初始化参数:首先,为模型的参数(通常是权重和偏置)分配初始值,通常是随机初始化。

  2. 迭代更新参数:SGD使用以下迭代步骤来更新模型参数:

    1. 随机抽取训练样本:每次迭代中,从训练数据中随机选择一个训练样本。

    2. 计算梯度:对于选定的训练样本,计算损失函数对于每个参数的梯度。梯度表示损失函数的变化率,指示了参数应该如何调整以减小损失。

    3. 更新参数:使用计算得到的梯度和学习率,通过以下公式来更新模型的参数:

    \(\theta_{t+1} = \theta_t - \eta \cdot \nabla L(\theta_t; x, y)\)

    其中:

    • \(\theta_{t+1}\) 是更新后的参数值。
    • \(\theta_t\) 是当前参数值。
    • \(\eta\) 是学习率(learning rate):它控制了参数更新的步长。
    • \(\nabla L(\theta_t; x, y)\) 是损失函数对参数的梯度,表示损失函数在当前参数下的变化率。
    • \(x\) 是训练样本的特征。
    • \(y\) 是训练样本的标签。
  3. 重复迭代:SGD会重复执行上述迭代步骤,每次选择一个不同的训练样本,然后更新模型参数,直到达到预定的迭代次数或损失收敛到某个阈值。

SGD的优点包括简单、易于实现和在大规模数据集上有效。由于它每次只使用一个训练样本来计算梯度,因此在处理大型数据集时可以节省内存。此外,SGD具有一种随机性,可以帮助跳出局部极小值,有助于逃脱损失函数的局部最小值。

然而,SGD也有一些缺点,例如不稳定的更新路径和慢收敛。因此,为了解决这些问题,研究人员提出了许多SGD的变种,包括小批量梯度下降(Mini-batch Gradient Descent)和带动量的SGD(Momentum SGD),这些变种在深度学习中更常用。

Adam(Adaptive Moment Estimation): 自适应学习率优化算法

Adam(Adaptive Moment Estimation)是一种自适应学习率优化算法,用于训练神经网络和其他机器学习模型。Adam结合了梯度下降的思想和自适应学习率的特性,旨在解决传统梯度下降算法中学习率固定和难以选择的问题。它在深度学习中广泛使用,通常能够加速模型的训练和提高性能。

以下是Adam算法的主要思想和关键步骤:

  1. 初始化参数:首先,为模型的参数(权重和偏置)分配初始值,通常是随机初始化。

  2. 初始化累积梯度和累积平方梯度:Adam维护两个累积变量,一个是梯度的指数移动平均(通常称为动量或一阶矩),另一个是梯度的平方的指数移动平均(通常称为RMSprop或二阶矩)。这两个变量分别初始化为零。

  3. 计算梯度:使用训练数据的损失函数计算当前梯度,表示损失函数对于每个参数的变化率。

  4. 更新动量和RMSprop累积:在每次迭代中,Adam使用指数移动平均方法来更新梯度的动量和RMSprop累积,以捕捉梯度变化的趋势。这有助于适应不同参数的尺度和梯度的变化情况。

  5. 修正偏差:由于动量和RMSprop的累积在初始时会出现偏差,Adam引入了修正偏差项,以修正这些偏差。

  6. 计算学习率:Adam引入了自适应学习率,即每个参数具有不同的学习率。学习率的计算基于动量和RMSprop的累积,并通过修正偏差项来校正。

  7. 更新参数:使用计算得到的学习率,根据以下公式来更新模型的参数:

    \(\theta_{t+1} = \theta_t - \eta \cdot \frac{m_t}{\sqrt{v_t} + \epsilon}\)

    其中:

    • \(\theta_{t+1}\) 是更新后的参数值。
    • \(\theta_t\) 是当前参数值。
    • \(\eta\) 是学习率。
    • \(m_t\) 是动量的累积。
    • \(v_t\) 是RMSprop的累积。
    • \(\epsilon\) 是一个小的常数,通常用来防止分母为零。

Adam的优点包括自适应学习率、速度较快的收敛和较好的性能。然而,需要谨慎选择学习率和其他超参数,以免过拟合。Adam是深度学习中常用的优化算法之一,通常能够在模型训练中表现出色。

Rmsprop(Root Mean Square Propagation): 均方根传播

RMSprop(Root Mean Square Propagation)是一种优化算法,用于训练神经网络和其他机器学习模型。它是一种自适应学习率算法,旨在解决传统梯度下降算法中学习率固定的问题。RMSprop的主要目标是通过自动调整每个参数的学习率,来加速模型的收敛并提高性能。

以下是RMSprop算法的工作原理和关键步骤:

  1. 初始化参数:首先,为模型的参数(权重)分配初始值,通常是随机初始化。

  2. 计算梯度:使用训练数据的损失函数计算梯度,表示损失函数对于每个参数的变化率。

  3. 初始化累积平方梯度:RMSprop维护一个累积平方梯度的移动平均值,通常初始化为零。

  4. 更新累积平方梯度:在每次迭代中,计算当前梯度的平方,并使用指数移动平均方法将其添加到累积平方梯度中。这有助于捕捉梯度的变化趋势。

  5. 计算学习率:RMSprop引入了一个自适应的学习率,该学习率是根据累积平方梯度来计算的。它用于调整每个参数的学习率,以便在梯度变化大时降低学习率,从而减小参数的更新幅度,而在梯度变化小时增加学习率,从而更快地收敛。

  6. 更新参数:使用计算得到的学习率,根据以下公式来更新模型的参数:

    \(\theta_{t+1} = \theta_t - \frac{\eta}{\sqrt{E[g^2] + \epsilon}} \cdot g\)

    其中:

    • \(\theta_{t+1}\) 是更新后的参数值。
    • \(\theta_t\) 是当前参数值。
    • \(\eta\) 是学习率。
    • \(E[g^2]\) 是平方梯度的指数移动平均。
    • \(\epsilon\) 是一个小的常数,通常用来防止分母为零。

RMSprop的关键优点是它可以自动调整学习率,因此对于不同参数和不同时间步的梯度变化具有良好的适应性。这有助于加速收敛,尤其是在具有稀疏梯度或不同尺度的参数时。然而,需要注意的是,RMSprop不具有二阶信息(Hessian矩阵),因此在某些情况下,可能会受到局部极小值的影响。

RMSprop是深度学习中常用的优化算法之一,通常与其他自适应学习率算法如Adam一起使用,以提高模型的性能和收敛速度。

对比

SGD(随机梯度下降),Adam,和RMSprop都是用于优化机器学习模型的梯度下降算法的变种。它们各自有不同的优点和缺点,适用于不同的场景。

  1. SGD(随机梯度下降):

    优点:

    • 简单易实现,计算速度快。
    • 适用于大规模数据集,因为每次只使用一个样本。
    • 具有随机性,可以帮助跳出局部极小值。

    缺点:

    • 收敛速度相对较慢,特别是在损失函数具有强烈非凸性的情况下。
    • 参数更新的路径较不稳定,可能导致震荡。

    适用场景:

    • 大规模数据集。
    • 当计算资源有限或需要快速原型设计时。
    • 在随机性有助于逃脱局部极小值的问题上。
  2. RMSprop(Root Mean Square Propagation):

    优点:

    • 自适应学习率,能够加速收敛。
    • 对于非平稳性目标函数(损失函数变化较快)更稳定。
    • 相对容易调整参数。

    缺点:

    • 仍可能需要手动调整学习率和其他超参数。
    • 有时可能受到局部极小值的困扰。

    适用场景:

    • 大多数深度学习任务。
    • 当需要加速收敛并提高性能时。
  3. Adam(Adaptive Moment Estimation):

    优点:

    • 自适应学习率,结合了动量和RMSprop。
    • 通常能够快速收敛,并在实践中表现良好。
    • 不需要手动调整学习率。

    缺点:

    • 可能对超参数敏感,需要仔细调整。
    • 有时可能陷入局部极小值。

    适用场景:

    • 深度学习任务中常用。
    • 当需要自适应学习率和良好的性能时。

总的来说,选择合适的优化算法取决于您的具体问题和数据。一般而言,Adam是一个通用性较强的优化算法,适用于大多数深度学习任务。RMSprop也是一个不错的选择,特别适用于非平稳性目标函数。SGD通常在大规模数据集或计算资源受限的情况下使用。在实际应用中,往往需要通过交叉验证和实验来确定哪种算法最适合您的问题。此外,超参数调整也是非常重要的,包括学习率、动量、和正则化等。

结构

Embeding

Self-Attention

Add & Norm

Feed Forward

Multi-Head Attention

输入A对应多个Attention, 得到多个输出O1, O2, O3... 然后将输出concat起来,通过一个linear层,转换为最终的输出。

意义为,每个注意力头可能关注的是不同的部分,然后将这些部分的信息融合起来。

参考

基础参数

learning rate: 学习率

步长,用来控制参数更新的幅度。 每次训练更新参数时,参数的更新幅度为:learning rate * gradient。 学习率用于控制参数更新的幅度,如果学习率过大,可能会导致参数更新过大,导致模型无法收敛;如果学习率过小,可能会导致参数更新过小,导致模型收敛速度过慢。

例如:有3个点 A, B, C。之间间隔是0.01, B点为最优解,但是如果学习率太高,步长太长,可能会直接跳过B,直接到达C。

gradient: 梯度

目标函数的偏导数,用来表示参数更新的方向。

iteration: 迭代次数

epoch: epoch

周期,一次完整的训练过程,包括前向传播、反向传播、参数更新。

batch size: batch size

每次训练的样本数。

weight: 权重

矩阵中的每个元素,用来表示输入和输出之间的关系。

bias: 偏置

阅读全文 »

范例(Paradigms)

监督学习(Supervised Learning)

提供带有标签的数据集进行训练,常用于分类和回归问题。

  • 线性回归(Linear Regression)
  • 逻辑回归(Logistic Regression)
  • 朴素贝叶斯(Naive Bayes)
  • 决策树(Decision Tree)
  • Ensemble
    • 随机森林(Random Forest)
    • AdaBoost
    • Gradient Boosting
  • k-近邻(k-Nearest Neighbors)
  • 支持向量机(Support Vector Machine)
  • 人工神经网络(Artificial Neural Network)

无监督学习(Unsupervised Learning)

训练时候不提供标签,让模型自己归纳、提取特征。常用于聚类问题。

常见算法和模型:

  • k均值聚类(k-Means Clustering)
  • 霍夫菲尔德网络(Hopfield Network)
  • Boltzmann机(Boltzmann Machine)
  • 自编码器(Autoencoder)
  • VAE(Variational Autoencoder)

半监督学习(Semi-Supervised Learning)

也被称为弱监督学习(Weakly Supervised Learning)

真实情况下,不会有那么多已经标好的数据进行训练,所以需要使用半监督学习的方式,将无标签的数据和有标签的数据一起进行训练。

自监督学习 (Self-supervised Learning)

是一种半监督学习的方式,通过自身的输入数据来学习,不需要标签。自动学习出有用的特征,从而为后续的监督学习提供有用的特征表示。

常用于图像分类、语音识别等。

例如:将无标记的图像进行旋转,加噪点,遮挡,镜像等方式,生成一组具有相似性的数据,让模型提取出这些数据的共性,从而学习到有用的特征。CLIP模型就是使用类似的方法, 输入文本和图像,让模型自己学习出文本和图像之间的关系,从而实现图像和文本的相互转换。

  • 对比学习(Contrastive Learning): 对比正样本和负样本,让模型学习出正样本和负样本之间的差异。
  • 非对比学习(Non-Contrastive Learning): 只使用正样本,不使用负样本。

强化学习 (Reinforcement Learning)

给定一个环境(env),和一些行动(action),让模型在环境中进行行动,每次行动后,环境会给出一个奖励(reward),重复步骤,让模型学习如何在环境中获得最大的奖励。

阅读全文 »

模型

MLP(Multi Layer Perceptron): 多层感知机

Multi-layer perceptron 是由多层全连接层组成的神经网络,每一层的输入都是上一层的输出,最后一层的输出就是网络的输出。

阅读全文 »

mango支持远端用户连接(创建用户)

> use target_db

> db.createUser({
user: 'userName',
pwd: 'secretPassword',
roles: [
{ role: 'dbAdmin', db:'target_db'},
{ role: 'readWrite', db:'target_db'},
]
})
阅读全文 »

名称 作者 打分 状态 类型
别闹了,费曼先生 费曼 Reading 传记
量子和粒子物理学何以解释一切 ⭐️⭐️⭐️⭐️ Reading 科普
微积分的力量 ⭐️⭐️⭐️⭐️⭐️ Reading 科普
货币战争 James Rickards ⭐️⭐️⭐️ Finished 科普
费曼讲物理:相对论 费曼 ⭐️⭐️⭐️ Finished 科普
丰乳肥臀 莫言 ⭐️⭐️⭐️⭐️⭐️ Finished 小说
时间秩序 Finished 科普
白鹿原 陈忠实 ⭐️⭐️⭐️⭐️⭐️ Finished 小说
南京大屠杀 ⭐️⭐️⭐️⭐️⭐️ Finished 历史
谷歌方法 ⭐️⭐️⭐️ Finished 传记
明朝那些事 ⭐️⭐️⭐️⭐️⭐️ Finished 历史
房思琪的初恋乐园 ⭐️⭐️⭐️ Finished 小说
邓小平传 ⭐️⭐️⭐️⭐️ Finished 传记
三体 刘慈欣 ⭐️⭐️⭐️⭐️⭐️ Finished 小说
美国陷阱 [法] 弗雷德里克·皮耶鲁齐 / [法] 马修·阿伦 ⭐️⭐️⭐️⭐️ Finished 政治
球状闪电 刘慈欣 ⭐️⭐️⭐️⭐️ Finished 小说
顺势而为:雷军传 ⭐️⭐️⭐️ Finished 传记
从一到无穷大 ⭐️⭐️⭐️⭐️ Finished 科普
万历十五年 黄仁宇 ⭐️⭐️⭐️ Finished 历史
曾国藩传 张宏杰 ⭐️⭐️⭐️⭐️ Finished 传记
显微镜下的大明 马伯庸 ⭐️⭐️⭐️⭐️ Finished 历史
Mysterious child hepatitis continues to vex researchers
After Roe v. Wade: US researchers warn of what’s to come Finished
How common is long COVID? Why studies give different answers Finished
Nature Index Annual Tables 2022: China’s research spending pays off Finished
How months-long COVID infections could seed dangerous new variants Reading
Learn from COVID: Gates’s pandemic prescription
COVID and smell loss: answers begin to emerge Ready to Start
Opinion: Destroy All Samples of the Smallpox Virus Finished
COVID death tolls: scientists acknowledge errors in WHO estimates Finished
NASA’s Perseverance rover begins key search for life on Mars Reading
The number of researchers with dual US–China affiliations is falling Finished
‘Unsustainable’: how satellite swarms pose a rising threat to astronomy Finished
Epigenome Editing Decreases Alcohol Seeking and Anxiety in Rats Finished
HHMI to Award More than $1 Billion to Promote Equity in Research ⭐️ Finished
Salmonella Injection Helps the Mouse Immune System Kill Tumors Finished
Eight Weeks of Meditation Doesn’t Change the Brain, Study Finds ⭐️⭐️⭐️ Finished
Making the most of media interviews ⭐️⭐️⭐️ Finished
What’s the Evidence for Fluvoxamine in COVID-19? ⭐️⭐️⭐️⭐️ Finished
What to Know About the Defamation Trial Between Johnny Depp and Amber Heard As It Resumes ⭐️ Finished
LOVE-DEATH-ROBOTS Finished
One Million Americans Have Died From COVID-19. Here Are Some of Their Stories ⭐️ Finished
US Case Adds to Unusual Monkeypox Outbreak ⭐️⭐️ Finished
More than 3,000 potentially harmful chemicals found in food packaging ⭐️ Finished
Link between COVID-19 and Parkinson’s disease risk grows with new findings ⭐️ Finished

# git status 乱码
git config --global core.quotepath false
# git log 乱码
git config --global i18n.logOutputEncoding utf-8
git config --global i18n.commitEncoding utf-8
0%