代码编织梦想

自适应学习率

        由于在训练时,随着参数更新,损失越来越小,但是却总会在临界点之前卡住,并不会得到理想结果。为了解决这一点,引入自适应学习率(adaptive learning rate)的方法,例如 AdaGrad、RMSProp 和 Adam。

        AdaGrad (Adaptive Gradient)能够根据梯度大小自动调整学习率,在参数梯度较大时学习率减小,参数梯度较小时学习率放大。由此便可做到缩短训练过程并提高模型性能。

        RMSProp (Root Mean Squared propagation)在 AdaGrad 的基础上引入了指数衰减机制,能在同一个参数的同个方向动态调整学习率,可以动态调整过去梯度的重要性,由此可以更加灵敏地适应梯度变化,能够得到更好的效果。

         Adam(Adaptive moment estimation) 可以看作RMSprop加上动量,其结合了动量和自适应学习率,使得 Adam 能够适应多种环境,成为目前最常用的优化算法之一。

学习率调度

        尽管自适应学习率算法可以有效提高训练效率,但在某些情况下仍可能出现问题。例如,AdaGrad 在训练后期可能出现“爆炸”现象,即学习率过大导致参数更新过快,从而影响模型性能。

        通过学习率调度(learning rate scheduling)可以解决这个问题。常见的调度方法包括学习率衰减(learning rate decay)和学习率预热。这两种方法都是将学习率调整与时间结合起来。

        学习率衰减随着训练过程的进行让学习率逐渐减小,有助于模型参数更加平缓精确地更新。

        学习率预热随着训练过程的进行让学习率先变大后变小,运用于多种知名模型的训练。

优化总结

        优化算法经过长期进化,从最原始的梯度下降到最终的学习率调度,逐渐变得更加复杂和高效。

                    

    

        其中mit是动量。
        这个版本里面有动量,其不是顺着某个时刻算出的梯度方向来更新参数,而是把过去所有算出梯度的方向做一个加权总和当作更新的方向。接下来的步伐大小为mitσit。最后通过ηt来实现学习率调度。

        除了Adam之外,还有许多变体,他们之间的区别主要在于 mit 和 σit 的计算方式,或者学习率调度的策略。优化器的选择往往需要根据具体问题进行实验与调整。

分类

        分类与回归是深度学习中最常见的两种问题。回归是预测连续值,而分类是预测离散值。

        在分类问题中,往往会加上softmax函数。该函数会使大值和小值之间差距更大。

        做分类时往往会有损失,选均方误差的时候,需要选择一个良好的优化器,即使如此,优化过程也会非常困难。总之,改变损失函数可以改变优化的难度。

实验

        按照任务中的指示一步步完成,结果如下

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_74216549/article/details/141760053

datawhale x 李宏毅苹果书 ai夏令营 学习笔记(二)-爱代码爱编程

自适应学习率 我们梯度下降在参数更新上,公式是 W t

datawhale x 李宏毅苹果书 ai夏令营 学习笔记(一)-爱代码爱编程

局部极小值与鞍点 在优化过程中,模型可能会遇到局部极小值(local minima)或鞍点(saddle point),这些位置梯度为零,使得模型停止进步或训练缓慢。 局部极小值是损失函数的局部最低点,而鞍点则是梯度为零但

datawhale x 李宏毅苹果书 ai夏令营task1笔记-爱代码爱编程

本章主要介绍深度学习常见的一些概念,方便我们从不同的角度来更好地优化神经网络。 1.局部极小值与鞍点 1.1临界点及其种类 在神经网络的训练过程中,我们可能会遇到不管我们怎么update我们的参数,损失都降不下来的情况。 这时,我们就会猜想,我们走到了一个地方,这个地方对参数的微分为0,因此梯度下降法就没有办法update参数了,损失就不会下降

“datawhale x 李宏毅苹果书 ai夏令营”深度学习入门笔记task1-爱代码爱编程

机器学习基础知识 基础概念 机器学习(Machine Learning,ML):让机器具备找一个函数的能力,这个函数可以用来声音识别,图像识别等功能 深度学习(Deep Learning,DL):深度学习是一种模拟人类大脑神经网络工作方式的算法 机器学习的类别:根据要找的函数的不同,把机器学习分为不同的类别,例如回归(根据之前的数据预测未来的数据,

关于人工智能(ai)的研究报告-爱代码爱编程

《关于人工智能(AI)的研究报告》 一、引言 在当今科技飞速发展的时代,人工智能(Artificial Intelligence,简称 AI)已经成为了全球范围内最受关注的领域之一。从智能手机中的语音助手到自动驾驶汽车,从医

【大模型理论篇】rope旋转位置编码底层数学原理分析-爱代码爱编程

1. 位置编码对于NLP模型的作用                 位置编码(Positional Encoding)在大模型(例如Transformer架构)中起到了非常重要的作用。没有位置编码的信息,模型会丧失序列的顺序信息,导致模型退化成一个简单的“词袋模型”(Bag of Words model)。         在Transformer中,

datawhale x 李宏毅苹果书ai夏令营 学习笔记-爱代码爱编程

学习日志 日期: 2024年8月30日 今日学习内容: 今天,我继续学习了深度学习中的优化算法,并且着重理解了如何利用动量法、RMSProp以及Adam等高级优化器来提高模型训练的效率和效果。 1. 动量法的理解: 我学习了动量法如何通过在参数更新时考虑之前的梯度方向,使得模型能够更快地朝着全局最优解的方向前进。动量法可以有效防止模型陷入局部最小

datawhale x 李宏毅苹果书 ai夏令营 学习笔记-爱代码爱编程

1.2.2Task1 1.1 局部极小值和鞍点 1.1.1 临界点及其种类   提到梯度为零的时候,大家最先想到的可能就是局部极小值(local minimum)但其实损失不是只在局部极小值的梯度是零,还有其他可能会让梯度是零的点,比如鞍点(saddle point)。鞍点其实就是梯度是零且区别于局部极小值和局部极大值(localmaximum)

datawhale x 李宏毅苹果书ai夏令营 学习笔记2-爱代码爱编程

Datawhale X 李宏毅苹果书AI夏令营 学习笔记2 本节新概念较多,建议多RTFM,STFW (待完善) 线性模型 滞后性。对于已知的数据拟合较好,对于未知的数据误差却比较大。 因此,需要修改模型。这主要取决

datawhale x 李宏毅苹果书ai夏令营 学习笔记1-爱代码爱编程

Datawhale X 李宏毅苹果书AI夏令营 学习笔记1 一、机器学习的定义——“找函数” 机器学习就是让机器具备找一个函数的能力。 假设要找的函数的输出是一个数值,一个标量(scalar),这种机器学习的任务称为回

datawhale x 李宏毅苹果书 ai夏令营 学习笔记(一)-爱代码爱编程

局部极小值与鞍点 临界点及其种类         在对模型进行优化时,模型可能会收敛于局部极小值(local minima)或鞍点(saddle point),由于这些位置梯度为零,也就是参数对损失微分为零的时候,参数无法更新,训练和优化便会停滞,无法进行下去。         局部极小值和鞍点都是临界点(critical point),在这个点梯度

设备上的实时自定义手势识别-爱代码爱编程

这篇论文的标题是《On-device Real-time Custom Hand Gesture Recognition》,主要研究了如何在移动设备上实时识别自定义手势。以下是论文的主要内容概述: 摘要: 论文指出现有的手势识别系统大多限于预定义的手势集,但用户和开发者通常希望识别新的、未见过的手势。提出了一个用户友好的框架,允许用户轻松定制和部署自己

datawhale x 李宏毅苹果书 ai夏令营 机器学习笔记-爱代码爱编程

概念 机器学习 机器学习(machine learning),顾名思义,机器具备有学习的能力。具体来讲,机器学习就是让机器具备找一个函数的能力。 机器学习的类别 随着要找的函数不同,机器学习有不同的类别。 回归:假设要找的函数的输出是一个数值,一个标量(scalar),这种机器学习的任务称为回归(regression)。 分类:要找的函数的输出