【Datawhale X 李宏毅苹果书 AI夏令营】Task1笔记

第三章:深度学习基础

3.1 局部极小值与鞍点

临界点,即梯度为零的点,包含局部极小值(local minimum)和鞍点(saddle point)。

梯度下降算法在接近鞍点的时候会变得非常慢,阻碍了继续优化的进程。所以我们需要判断这个临界点是不是鞍点,以及如果是、应该怎么离开它。

判断鞍点

通过泰勒级数近似、海森矩阵等数学方法进行判断。

  1. 计算一阶偏导数,如果同时为零,则可能是极值点或鞍点。

  2. 计算二阶偏导数,构造Hessian矩阵。

  3. 判断Hessian矩阵:如果特征值有正有负,就是鞍点;如果所有特征值都是正的,是局部最小值点;如果都是负的,是局部最大值点。

逃离鞍点的方法

低维度空间中的局部极小值点,在更高维的空间中往往是鞍点。

  1. 批量梯度下降(BGD)和随机梯度下降(SGD):3.2介绍。

  2. 动量(Momentum):3.2介绍。效果通常比SGD要好一些。

  3. 自适应学习率(Adagrad、Rmsprop、Adadelta):3.3介绍。效果会更好、更稳健,不用考虑习率的设置。

参考:

https://www.zhihu.com/question/273702122/answer/447549439

3.2 批量和动量

批量(BGD和SGD)

批量梯度下降算法(BGD:在一个大批量中同时处理所有样本,这需要大量时间,而且有些例子可能是多余的且对参数更新没有太大的作用。

随机梯度下降算法(SGD:在每次迭代时使用一个样本来对参数进行更新(mini-batch size =1)。当遇到局部极小值或鞍点时,SGD会卡在梯度为0处。

小批量梯度下降(MBGD):大多数用于深度学习的梯度下降算法介于以上两者之间,使用一个以上而又不是全部的训练样本。MGBD需要随着时间的推移逐渐降低学习率:在梯度下降初期,能接受较大的步长(学习率),以较快的速度进行梯度下降;当收敛时,让步长小一点,并且在最小值附近小幅摆动。但因为噪音的存在,学习过程会出现波动。

参考:

https://zhuanlan.zhihu.com/p/72929546

动量

动量,也就是梯度……

在物理的世界里,一个球如果从高处滚下来,就算滚到鞍点或鞍点,因为惯性的关系它还是会继续往前走。如果球的动量足够大,甚至翻过小坡继续往前走。

3.3 自适应学习率

调整学习率(步长)是很重要的。步长太大,一下子就跨过了最优解;步长太小,要走很久很久才能到达。

就像《小马过河》一样:河水对老牛来说很浅,对松鼠来说很深。不同的参数也需要不同的学习率(而不是固定不变的):如果在某一个方向上梯度值很小(非常平坦),我们会希望学习率调大一点;如果在某一个方向上非常陡峭(坡度很大),我们会希望学习率可以设得小一点。

自适应梯度算法AdaGrad(Adaptive Gradient)

具体而言,AdaGrad在每次更新时对每个参数的学习率进行缩放,使得学习率对于梯度较大的参数较小,而对于梯度较小的参数较大。

均方根传递RMSprop(Root Mean Squared propagation)

注意这个不是均方根误差RMSERoot Mean Square Error)!

RMSE对标的是MSE(Mean Square Error)均方误差

这是对AdaGrad的改进,旨在解决AdaGrad在训练后期学习率迅速下降的问题。AdaGrad在算均方根的时候,每一个梯度都有同等的重要性,但RMSprop 可以自己调整当前梯度的重要性。

Adam(Adaptive moment estimation)

Adam 可以看作 RMSprop 加上动量,使用动量作为参数更新方向,并且能够自适应调整学习率。

参考:

https://blog.csdn.net/fengguowuhen0230/article/details/130205653

https://blog.csdn.net/ljd939952281/article/details/141470620

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/410375.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习:K-means算法(内有精彩动图)

目录 前言 一、K-means算法 1.K-means算法概念 2.具体步骤 3.精彩动图 4.算法效果评价 二、代码实现 1.完整代码 2.结果展示 3.步骤解析 1.数据预处理 2.建立并训练模型 3.打印图像 四、算法优缺点 1.优点 2.缺点 总结 前言 机器学习里除了分类算法&#xff0…

如何使用ssm实现计算机科学与技术学习网站的设计与开发

TOC ssm248计算机科学与技术学习网站的设计与开发jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化&…

尝试给OpenHarmony4.0增加可以在动态库中使用的日志模块

尝试给OpenHarmony4.0增加可以在动态库中使用的日志模块 前言一、资源来源二、实践步骤1.修改OH内核并编译2.动态库增加welog打印3.设备验证打完收工 总结参考 前言 最近在搞OpenHarmony4.0蓝牙模块的适配,最主要的工作就是在libbt_vendor.z.so这个库的编写修改&am…

AWS 使用 Amazon EC2 控制台安装和配置 CloudWatch 代理以添加其他指标如内存

默认情况下,Amazon CloudWatch 提供基本指标(例如 CPUUtilization 和 NetworkIn)用于监控 Amazon EC2 实例。要收集其他指标,您可以在 EC2 实例上安装 CloudWatch 代理,然后将该代理配置为发出所选指标。您可以使用 Am…

网络安全售前入门04——审计类产品了解

目录 1.前言 2.数据库审计介绍 2.1产品架构功能 2.2应用场景 2.3部署形式 2.4产品价值 2.5选型依据 1.前言 为方便初接触网络安全售前工作的小伙伴了解网安行业情况,我制作一系统售前入门(安全产品,安全服务,法律法规等)文章介绍,希望能给初进网安职场的小伙伴提供…

【Qt】Qt系统 | Qt事件 | 定时器

文章目录 定时器QTimerEventQTimer获取系统日期及时间 定时器 Qt 中在进行窗口程序的处理过程中,经常要周期性的执行某些动作,或者制作一些动画效果,使用定时器可以实现这些需求。 定时器,会在间隔一定时间后,执行某一…

Git下载安装配置

Git的下载与安装 Git是一种分布式版本控制系统,用于跟踪文件和文件夹的变化。它最初由Linus Torvalds开发,用于管理Linux内核的源代码。Git的设计目标是:速度快、开发效率高、数据完整性和可靠性强。 Git通过创建一个存储库(rep…

【FESCO福利专区-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

什么领域/方向的产品经理既有发展前景又能做的长久

前几天我在知乎上回答了一道“目前什么领域的产品经理比较有发展前景?有推荐的课程吗?”的问题,讲得还比较实在,于是在这里也顺便分享一下。 TOP1.商业产品经理 之所以这个方向能排在第1,我认为有3点理由。 第1点&a…

国产游戏技术能否引领全球?

国产游戏技术:引领全球还是任重道远? 近年来,伴随着中国科技和经济的迅猛发展,国产游戏行业也呈现出蓬勃发展的态势。从《原神》到《黎明杀机手机版》,多款国产游戏在国际市场上崭露头角。而国产游戏在画面渲染、物理…

基于layui实现简单的万智牌生命计数器页面

对照手机App“旅法师营地”的万智牌生命计数器窗口(如下图所示),使用layui、jQuery等实现简单的万智牌生命计数器页面。   主要实现的功能如下:   1)点击左右两侧的-1、1、-5、5区域更新左右两侧生命值&#xff1…

短视频SDK解决方案,代码逻辑结构清晰,接入便捷

美摄科技凭借其在多媒体处理领域的深厚积累,推出了高效、易用的短视频SDK解决方案,为开发者及内容创作者提供了一站式的短视频创作与编辑工具,让每一份灵感都能轻松转化为引人入胜的视觉盛宴。 一、技术领先,打造极致体验 美摄科…

DNS详解

DNS详解 DNS 是一个域名系统,它主要用于将人类容易记忆的域名转换成ip地址。 默认情况下,设备会自动从网络供应商获取DNS服务器地址,并使用DNS服务器对域名进行解析。 此外,你也可以手动设置DNS服务器,具体操作系统…

反射机制简单基础

前序 在我们没有学习框架之前我们都是通给new来创建对象,如:创建一个我们已知的对象 Car carnew Car(); 调用类中的成员变量和成员方法都是对象直接调用。 在学习了mybatis框架后,我们了解到可以通过类名,能动态得到类中定义的…

基于x86 平台opencv的图像采集和seetaface6的静默活体功能

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、开发流程3.1 编写测试3.2 配置资源文件3.3 验证功能一、概述 本文档是针对x86 平台opencv的图像采集和seetaface6的静默活体功能,opencv通过摄像头采集视频图像,将采集的视频图像送给seetaface6的静默活体模块从而实现…

量化四大邪术之一:般若波罗蜜

网络相传亚洲有四大邪术,日本化妆,韩国整容,泰国变X,Z国PS。 这些都是让人在颜值上看起来很美,类似地,在量化交易领域,也有四大邪术能让净值曲线看起来很美,今儿个来说量化四大邪术当…

一文弄懂MySQL中的锁

MySQL中的锁概述 MySQL中的锁机制是数据库管理系统用于控制并发操作的一种手段,主要用于保证数据的一致性和完整性。当多个事务同时操作同一数据时,锁机制可以防止数据冲突和确保事务的隔离性。 在MySQL中,锁可以分为三大类:全局…

前端自动导入依赖

前言 开发中通常会有很多导入语句&#xff0c;如何确保一些通用的api和hook无需每次手动导入即可使用。 <script setup lang"ts"> import { ref, reactive } from "vue" import { useRoute, useRouter } from "vue-router" import { log…

在多云生态下,如何实现跨云的自动化身份管理?

在多云环境下实现跨云的自动化身份管理是一个重要的课题&#xff0c;因为这可以帮助企业确保用户和应用程序能够在不同云服务提供商之间无缝地访问资源&#xff0c;同时保持高度的安全性和合规性。以下是一些关键技术和实践方法&#xff0c;用于实现跨云环境下的自动化身份管理…

Go学习笔记(一)语法

标准库文档&#xff1a;Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国 B站课程&#xff1a;8小时转职Golang工程师(如果你想低成本学习Go语言) 课程作者语雀&#xff08;首页有更多内容&#xff09;&#xff1a;8小时转职Golang工程师 语雀 代码仓…