Datawhale AI 夏令营(第五期) 李宏毅苹果书 Task 1 《深度学习详解(进阶)》

本文主要是介绍Datawhale AI 夏令营(第五期) 李宏毅苹果书 Task 1 《深度学习详解(进阶)》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

纸质版教材指路(享五折优惠~):京东网上商城

李宏毅老师对应视频课程:​请注意文字和视频搭配食用哟~

神经网络训练不起来怎么办(1):局部最小值(:Loacl Minima)与鞍点(Saddle Point)_哔哩哔哩_bilibili神经网络训练不起来怎么办(2):批次(batch)与动量(Momentum)_哔哩哔哩_bilibili

Task 1.1 《深度学习详解》- 3.1 局部极小值与鞍点

隐藏任务①:搜索资料,找到一个优化失败的案例,尝试用自己的话描述一遍情况~

案例: 深度学习模型在训练过程中,损失函数在一段时间后停止下降,并且无法继续收敛。

情况描述

  • 问题出现: 研究人员训练一个深度学习模型进行图像分类任务。在训练初期,损失函数逐渐下降,模型性能不断提高。然而,随着训练的进行,损失函数在某个点停止下降,并且无论怎样调整学习率或参数,都无法让损失函数继续下降。
  • 原因分析
    • 研究人员怀疑模型遇到了局部极小值或鞍点。
    • 局部极小值意味着模型已经到达当前训练空间内的最低点,无法进一步降低损失。
    • 鞍点则意味着模型处于一个“平坦”的区域,周围既有下降的方向,也有上升的方向,梯度为零,导致模型无法继续更新。
  • 解决方案尝试
    • 研究人员尝试了多种方法来逃离这个“陷阱”:
      • 调整学习率: 降低学习率,让模型在损失函数曲面上更加缓慢地移动,试图找到一条通往更低损失的道路。
      • 使用随机初始化: 重新初始化模型的参数,让模型从不同的起点开始训练,尝试找到不同的路径。
      • 使用正则化技术: 添加正则化项,防止模型过拟合,并增加损失函数曲面的平滑度,降低遇到鞍点的可能性。
      • 使用更复杂的优化算法: 例如Adam、SGD with momentum等,这些算法可以更好地处理鞍点,并帮助模型找到更好的路径。
  • 结果
    • 尝试了多种方法后,研究人员发现模型仍然无法逃离这个“陷阱”。
    • 最终,他们不得不放弃这个模型,并重新设计网络结构或选择其他模型。

这个案例说明了深度学习优化过程中可能遇到的挑战。局部极小值和鞍点都可能导致优化失败,需要研究人员采取各种方法来应对。

隐藏任务②:过一遍文档,给自己的理解程度打一个分数,如果低于30%,尝试配合视频食用,另外尝试问问AI,在这条任务下评论找到的参考资料和补充信息!

打分:50%吧。

局部极小值与鞍点:它解释了为什么优化可能会失败,以及如何判断和应对这些情况。

主要内容

  • 临界点及其种类
    • 临界点是梯度为零的点,包括局部极小值、局部极大值和鞍点。
    • 局部极小值是损失函数的局部最低点,鞍点则不是,它在某些方向上损失会上升,在另一些方向上则会下降。
  • 判断临界点种类的方法
    • 通过计算海森矩阵的特征值来判断:
      • 所有特征值为正:局部极小值
      • 所有特征值为负:局部极大值
      • 特征值有正有负:鞍点
    • 文档中通过一个简单的神经网络例子,展示了如何通过海森矩阵判断临界点种类。
  • 逃离鞍点的方法
    • 鞍点在深度学习中很常见,但并非无法逃离。
    • 文档探讨了利用海森矩阵的特征向量找到更新参数的方向,从而逃离鞍点。
    • 但实际中计算海森矩阵的运算量很大,因此需要寻找更高效的方法。
  • 局部极小值与鞍点的常见性
    • 通过经验和实验,发现鞍点比局部极小值更常见。
    • 这意味着在深度学习中,优化失败的原因往往是遇到鞍点,而非局部极小值。

Task 1.2 《深度学习详解》- 3.2 批量和动量
 

批量和动量

批量大小对梯度下降法的影响

  • 批量梯度下降 (BGD): 使用所有训练数据计算梯度,每次更新更稳定、更准确,但计算量大。
  • 随机梯度下降 (SGD): 使用单条数据计算梯度,更新频率高,但引入噪声,更新方向曲折。
  • 小批量梯度下降 (Mini-batch GD): 结合了 BGD 和 SGD 的优点,使用固定大小的数据批量计算梯度,平衡了计算量和更新稳定性。
  • 批量大小的影响:
    • 计算时间: 小批量更新速度快,但回合时间长;大批量回合时间短,但更新速度慢。
    • 优化效果: 小批量容易跳出局部最小值,优化效果更好;大批量更新方向稳定,但容易陷入局部最小值。
    • 泛化能力: 小批量泛化能力更强,大批量容易过拟合。

动量法

  • 原理: 受物理世界惯性启发,将前一步的更新方向与当前梯度方向结合,形成更平滑的更新路径,帮助模型跳出局部最小值或鞍点。
  • 公式$m_t = \lambda m_{t-1} - \eta g_t$,其中$m_t$是动量项,$\lambda$是动量系数,$\eta$ 是学习率,$g_t$是当前梯度。
  • 好处:
    • 避免梯度下降在局部最小值或鞍点停滞不前。
    • 加速收敛,提高训练效率。

自适应学习率

  • 问题: 训练过程中可能会遇到梯度接近零但损失不再下降的情况,即临界点。
  • 原因: 梯度在山谷谷壁间震荡,导致损失无法进一步减小。
  • 解决方法: 使用自适应学习率算法,例如 Adam、RMSprop 等,根据梯度大小动态调整学习率,避免陷入临界点。

总结:批量大小和动量是深度学习中重要的优化技术,它们可以影响模型的训练速度、收敛性和泛化能力。选择合适的批量大小和动量系数需要根据具体任务和数据集进行调整。

这篇关于Datawhale AI 夏令营(第五期) 李宏毅苹果书 Task 1 《深度学习详解(进阶)》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1103901

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文