深度学习常用知识梯度下降学习率和反向传播

简介: 深度学习常用知识梯度下降学习率和反向传播

1 梯度下降

梯度下降法主要用于单个参数的取值。假如损失函数是一座山,我们从山上一个任意点开始往山下走,山坡的坡度越大,我们的垂直高度下降的越快。当我们到达某一个点是,我们往任意方向前进多都会升高使,我们就到达了最低点。准确来说是局部最低点。但是如果损失函数是个凸函数,那么这个局部最优解就是整体最优解。


c916965698354f999140de2c539a1c87.png


梯度下降


说到这我们就要提到微分方程了。对损失函数求导,导数就是我们所谓的梯度:

345c43ea94a74609aed4adc626eb6e9a.png


此处的是数据集的数目。符号代表对所有训练数据集中的特征和标签进行处理并求和,这是已经推导出来的求梯度的具体步骤。如果不熟悉导数(也就是对损失函数的微分)的演算也没有什么影响。因为梯度的计算过程都已经封装在各种机器学习框架中,并不用我们自己写代码实现。我们的目的是不断更新参数以使得损失函数最小化。


那这里的α是什么?α是我们给参数的变化加上一个权重,也即是学习率。我们以此来控制参数的变化速度。为什么我们要使用学习率呢?


2 学习率

从上面的公式我们不难发现,我们加入学习率就是希望在参数更新缓慢的时候加快它的更新,在参数跟新跨度太大使减弱它的更新。那么如何选择合适的学习率呢?


3fc2c6690a5d67c069a09c5174fdcded.png


小学习率和大学习率的影响


7f6e4b03dd754c78a740612f5db37205.png


如图左所示,如果学习率太小,那么我们每次训练之后得到的效果都太小,这无疑增大了我们的无谓的时间成本。如果如图右所示,学习率太大,那我们有可能直接跳过最优解,进入无限的训练中。所以解决的方法就是,学习率也需要随着训练的进行而变化。

Tensorflow提供了一种灵活的学习率设置—指数衰减法。先从一个较大的学习率开始快速得到一个比较优的解,然后随着迭代的继续逐步减小学习率:

current_learning_rate = \
learning_rate * decay_rate ^ (global_step / decay_steps)

current_learning_rate: 当前使用的学习率

learning_rate: 初始学习率

decay_rate: 衰减系数

decay_steps: 衰减步幅

global_step: 训练总步数


3 反向传播

反向传播法是神经网络训练中非常重要的算法,可以帮助我们在所有参数上使用梯度下降法,通过反向传播更新参数,从而使损失函数更小。


1f2419af79f685d4d40ccd2e8bd2cfef.png


前向传播与反向传播


x和y作为输入经过训练变成输出z传给下一层,我们计算得到误差函数L,并对x和y求导,得出x和y对于误差的影响,然后据此更新x和y。在实际应用中我们计算参数对于误差的影响,然后反向更新参数。


目录
相关文章
|
7天前
|
机器学习/深度学习 数据采集 人工智能
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】随着人工智能的发展,深度学习技术正逐步应用于教育领域,特别是个性化学习系统中。通过分析学生的学习数据,深度学习模型能够精准预测学生的学习表现,并为其推荐合适的学习资源和规划学习路径,从而提供更加高效、有趣和个性化的学习体验。
44 9
|
26天前
|
机器学习/深度学习 传感器 人工智能
深度学习之自主学习和任务规划
基于深度学习的自主学习和任务规划,是指通过深度学习算法使人工智能(AI)系统能够自主地从环境中学习,并根据特定的目标和任务,规划出有效的解决方案。
43 3
|
2月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:理解神经网络与反向传播算法
【9月更文挑战第20天】本文将深入浅出地介绍深度学习中的基石—神经网络,以及背后的魔法—反向传播算法。我们将通过直观的例子和简单的数学公式,带你领略这一技术的魅力。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你打开深度学习的大门,让你对神经网络的工作原理有一个清晰的认识。
|
15天前
|
机器学习/深度学习 调度 计算机视觉
深度学习中的学习率调度:循环学习率、SGDR、1cycle 等方法介绍及实践策略研究
本文探讨了多种学习率调度策略在神经网络训练中的应用,强调了选择合适学习率的重要性。文章介绍了阶梯式衰减、余弦退火、循环学习率等策略,并分析了它们在不同实验设置下的表现。研究表明,循环学习率和SGDR等策略在提高模型性能和加快训练速度方面表现出色,而REX调度则在不同预算条件下表现稳定。这些策略为深度学习实践者提供了实用的指导。
27 2
深度学习中的学习率调度:循环学习率、SGDR、1cycle 等方法介绍及实践策略研究
|
17天前
|
机器学习/深度学习 存储 自然语言处理
深度学习之少样本学习
少样本学习(Few-Shot Learning, FSL)是深度学习中的一个重要研究领域,其目标是在只有少量标注样本的情况下,训练出能够很好地泛化到新类别或新任务的模型。
14 2
|
22天前
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习中的迁移学习技术
【10月更文挑战第11天】 本文探讨了深度学习中的迁移学习技术,并深入分析了其原理、应用场景及实现方法。通过实例解析,展示了迁移学习如何有效提升模型性能和开发效率。同时,文章也讨论了迁移学习面临的挑战及其未来发展方向。
|
27天前
|
机器学习/深度学习 算法 TensorFlow
深度学习笔记(五):学习率过大过小对于网络训练有何影响以及如何解决
学习率是深度学习中的关键超参数,它影响模型的训练进度和收敛性,过大或过小的学习率都会对网络训练产生负面影响,需要通过适当的设置和调整策略来优化。
205 0
深度学习笔记(五):学习率过大过小对于网络训练有何影响以及如何解决
|
7天前
|
安全 搜索推荐 机器学习/深度学习
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】在人工智能的推动下,个性化学习系统逐渐成为教育领域的重要趋势。深度学习作为AI的核心技术,在构建个性化学习系统中发挥关键作用。本文探讨了深度学习在个性化推荐系统、智能辅导系统和学习行为分析中的应用,并提供了代码示例,展示了如何使用Keras构建模型预测学生对课程的兴趣。尽管面临数据隐私和模型可解释性等挑战,深度学习仍有望为教育带来更个性化和高效的学习体验。
28 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习之复杂推理与逻辑学习
基于深度学习的复杂推理与逻辑学习是当前人工智能领域中的一个前沿研究方向,旨在结合深度学习与传统逻辑推理的优势,使机器能够在处理复杂任务时具备更强的推理能力。
30 2
|
23天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习之生物启发的学习系统
基于深度学习的生物启发学习系统(Biologically Inspired Learning Systems)旨在借鉴生物大脑的结构和学习机制,设计出更高效、更灵活的人工智能系统。
14 0