【深度学习】李宏毅2021/2022春深度学习课程笔记 - Deep Learning Task Tips

news2024/10/5 21:23:34

文章目录

  • 一、深度学习步骤回顾
  • 二、常规指导
  • 三、训练过程中Loss很大
    • 3.1 原因1:模型过于简单
    • 3.2 原因2:优化得不好
    • 3.3 原因1 or 原因2 ?
  • 四、训练过程Loss小。测试过程Loss大
    • 4.1 原因1:过拟合 Overfitting
    • 4.2 原因2:Mismatch
  • 五、N折交叉验证
  • 六、When gradient is small ...
    • 6.1 Batch
    • 6.2 Momentum
  • 七、Adaptive Learning Rate


一、深度学习步骤回顾

在这里插入图片描述


二、常规指导

在这里插入图片描述


三、训练过程中Loss很大

3.1 原因1:模型过于简单

原因分析

如果你的设计的模型(函数表达式)过于简单,可能会拟合不出复杂的函数,导致预测误差较高

解决方案

解决方法也很简单,就是增加模型的复杂度。如上一节课(【深度学习】李宏毅2021/2022春深度学习课程笔记 - Deep Learning Introduction)所讲的,我们可以将原本简单的线性表达式转化为复杂的非线性表达式,这样就可以拟合出更多复杂的函数,从而为减小误差提供可能。

在这里插入图片描述

3.2 原因2:优化得不好

原因分析

以当前模型确实存在一组参数使得Loss较低,但是由于优化算法的效果不好,没办法找到可以使得Loss较低的参数

解决方案

更换效果更好的优化算法

在这里插入图片描述

3.3 原因1 or 原因2 ?

这一节会讲述,我们应该怎么判断到底是原因1导致的训练过程Loss过高,还是原因2导致的

尝试不同的模型,对比不同模型下,训练过程的Loss。如下图所示,56层的模型的Loss反而比20层的模型还要大,说明应该是原因2导致的训练过程Loss过高

在这里插入图片描述


四、训练过程Loss小。测试过程Loss大

4.1 原因1:过拟合 Overfitting

原因分析

在大部分情况下,训练数据只是数据全集的一小部分,甚至有可能存在部分噪声数据,所以如果模型对训练数据学习得过于深入,有可能学到噪声,导致模型的泛化性变差

解决方案

  • 使用更多的训练数据(当然更多,也要是正确的训练数据多才行噢),减少噪声的影响,增加训练数据的全面性,让模型可以更好地拟合真实函数

在这里插入图片描述

其他解决方案

  • 使用更少参数的模型
  • 使用更少的特征数量
  • 提早停止 Early Stopping
  • 正则化
  • Dropout

在这里插入图片描述

4.2 原因2:Mismatch

还是看上一节课讲的案例,2/26是星期五,按照以往的规律,星期五一般学习Deep Learning的人数都是比较少的,所以模型也认为2/26日播放量应该比较少,然而事实是,2/26反而是播放量最多的一天。

这是一种反常的现象,称之为 mismatch。即机器遇到了反常的现象,即测试数据体现出的规律和训练资料体现出的规律有很大不同

在这里插入图片描述

下面例子,体现了Mismatch的产生原因,训练数据和测试数据体现的规律有很大不同

在这里插入图片描述


五、N折交叉验证

为了判断当前模型是否出现过拟合现象,我们需要从原始训练数据中,分出一部分作为验证集,然后选出在验证集上Loss最小的模型作为最终模型

在这里插入图片描述


六、When gradient is small …

下面只讨论,当Optimization失败时,怎么把梯度下降做得更好

人们对于Optimization失败时,有如下图所示的猜想,认为模型被优化到了一个使得梯度非常接近0的点,导致优化无法继续。这一类点通常是局部最小值点或者鞍点。

在这里插入图片描述
那么,如果卡在局部最小值或者鞍点时,应该怎么办呢?下面会介绍解决这个问题的办法。

6.1 Batch

Batch 指的是每次更新参数时,只用训练数据中的一小批数据进行参数更新

在这里插入图片描述

如下图所示,一般来说,较小的 Batch Size 可能会得到更好的结果

在这里插入图片描述

6.2 Momentum

在介绍 Momentum 之前,先来回顾一下,传统的梯度下降是怎么更新参数的。如下图所示,每到一个点,就按照梯度的反方向更新参数

在这里插入图片描述

接下来看看,加上 Momentum 之后的参数更新是什么样的。如下图所示,所谓 Momentum 就是考虑了上一步移动的方向,相当于给参数的更新加上了惯性,让参数的更新不止是根据梯度,还要根据上一步移动的方向进行更新参数,这样有利于跳出局部最优点和鞍点

在这里插入图片描述


七、Adaptive Learning Rate

下图展示了固定学习率的缺点。如果学习率太大,会导致最终模型可能在最优解附近来回震荡,但始终无法收敛至最优点。如果学习率太小,又会导致模型需要迭代很多次,收敛速度很慢

在这里插入图片描述

针对上面提到的,采用固定学习率带来的缺点,我们认为,可以给不同的参数设置不同的参数更新权重,且这个权重是随着迭代进行自适应变化的,进而提高模型迭代的效率与质量

在这里插入图片描述

下面给出了 Learing rate 的更新方法,参数更新权重是根据历史梯度计算的

在这里插入图片描述

以上,还不是关于学习率优化的最终版本。我们还希望,对于同一个参数的学习率,它对于不同时期的历史梯度信息的权重应该是不一样的,于是就有了 RMSProp , 它用 α 来控制当前梯度和历史梯度的权重

在这里插入图片描述

综上所述,就有了很强的优化器, Adam !

在这里插入图片描述

让我们来看看用了自适应学习率之后的寻优路线,如下图所示。我们可以看到,在接近最优点的时候,在竖直方向上发生了较大幅度的震荡,这是由于自适应学习率是考虑了历史上所有梯度的,而最开始时竖直方向的梯度较大,所以导致其会发生竖直震荡

在这里插入图片描述

为了解决上面的震荡问题,我们可以采用 根据迭代次数而自适应变化的学习率,称之为 Learning Rate Scheduling

下面采用了 学习率随迭代次数递减的策略,可以看到,震荡现象就消失了

在这里插入图片描述

除了学习率递减策略,还有一个常用策略是 Warm Up 策略 , 学习率先逐渐上升,然后到一个阈值后,再逐渐下降到一个阈值

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows 10 HBase保姆级安装教程

安装HDFS 将下载好的hadoop-2.6.5.zip解压到自己的磁盘文件,将解压后的文件夹hadoop-2.6.5重命名为hadoop; 解压hadoopbin.zip,将解压后的文件夹打开,里面的文件复制到上一步的hadoop文件夹下的bin文件,直接覆盖同名文…

蓝牙模块HC-05使用指南

概述 HC-05蓝牙模块是一种基于蓝牙协议的简单无线通信设备。该模块基于BC417单芯片蓝牙IC,符合蓝牙v2.0标准,支持UART和USB接口。 具有两种工作模式:命令响应工作模式和自动连接工作模式。 当模块处于命令响应工作模式(或者AT模…

文件传输利器Croc

概述 一般而言,Linux系统是没有用户界面的,所有操作都是在命令行里。 然后在安装搭建集群,如分布式的Hadoop集群时,经常需要在多个Server之间传输文件。两个server之间的文件传输,一般会想到FTP或SSH两种方式。使用F…

监控系列(二)Dem对接Prometheus+grafana显示

一、概括 本篇不涉及达梦数据库搭建以及Dem的搭建,操作环境需提前准备prometheus以及grafana的搭建,请跳转到前文查看整体的对接流程如图所示 二、Dem对接prometheus 前提 需确保当前Dem,已有集群纳入监管 配置Dem的监控机器数据指标 prome…

第十九章 Bellman-Ford算法(由SPFA算法逆推BF,独特解读,超级详细)

第十九章 Bellman-Ford算法一、SPFA算法回顾:二、Bellman-Ford算法1、算法推导:1、算法模板:三、例题:1、问题:2、模板:3、分析:一、SPFA算法回顾: 我们在第18章中利用dijkstra算法…

【多数据源动态切换】Spring Boot中实现多数据源动态切换效果(1):通过继承AbstractRoutingDataSource类实现

在Spring Boot中,可以通过多种方式实现多数据源的动态切换效果,本篇介绍第一种实现方案。 一 AbstractRoutingDataSource Spring Boot提供了org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource 这个类,其中#determineC…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java校园花卉销售系统ef5ox(1)

做毕业设计一定要选好题目。毕设想简单,其实很简单。这里给几点建议: 1:首先,学会收集整理,年年专业都一样,岁岁毕业人不同。很多人在做毕业设计的时候,都犯了一个错误,那就是不借鉴…

redis之作为分布式锁使用

写在前面 本文一起看下redis作为分布式锁使用的相关内容。 1:怎么算是锁或没锁 锁和没锁本身其实就是用一个变量的值来表示,比如变量lock,当值为1时代表处于上锁状态,当值为0时表示没有锁,那么多线程想要获取锁的话…

【网络工程】8、实操-万达酒店综合项目(二)

接上篇《7、实操-万达酒店综合项目(一)》 之前我们讲解了酒店网络项目的整体需求文档,包括项目背景、总体架构设计以及网络功能域划分、配置标准、路由规划等。本篇我们就来按照项目要求进行模拟拓扑的构建实操。 一、总体架构效果 按照之前…

力扣 1827. 最少操作使数组递增

题目 给你一个整数数组 nums (下标从 0 开始)。每一次操作中,你可以选择数组中一个元素,并将它增加 1 。 比方说,如果 nums [1,2,3] ,你可以选择增加 nums[1] 得到 nums [1,3,3] 。 请你返回使 nums 严…

2.10.0 以太网 传统STP生成树简介、STP工作方式简单介绍

2.10.0 以太网 传统STP生成树(简介、工作方式) 作用: STP(Spanning Tree Prortoco)生成树协议,它的出现解决了交换机网络环路的问题。 交换机网络中收到BUM帧的时候,将会进行泛洪的操作&…

HCIA 以太网的帧

一、前言 网络经常会遇到一些词汇,比如包、报文、帧,其概念如下: 1)帧(frame):数据链路层的协议数据单元,它包括三部分:帧头、数据部分、帧尾。其中,帧头和…

vector容器模拟实现(上)

1.1:模板设置 因为不能与库已经有的vector冲突,首先定义命名空间namespace my 使用类模板。 1.2:成员变量 vector有size,capacity,同时也要进行扩容操作和缩容(shrink to fit)操作,所以需要3个迭代器。 p…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java杨柳农贸市场摊位管理系统qr3ri

大四计算机专业的同学们即将面临大学4年的最后一次考验--毕业设计。通过完成毕业设计来对过去4年的大学学习生活做一个总结,也是检验我们学习成果的一种方式,毕业设计作品也是我们将来面试找工作的一个敲门砖。 选题前先看看自己掌握哪些技术点、擅长哪…

mysql首次安装error 1045 28000解决

mysql首次安装error 1045 28000解决 首先找到了这个教程,按其操作一步一步来,发现到登录输入密码这一步,怎么样都报错 2021MySql-8.0.26安装详细教程(保姆级) 然后按照这篇操作,但还是不行 MySQL安装1045错…

[附源码]Python计算机毕业设计Djangoospringboot作业管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

通过窗口看世界之 界面制作如此简单-带你制作旅游观光系统界面-----效果图展示

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏 玩归玩闹归闹,别拿java开玩笑 ⭐旅游管理系统部分效果图展示⭐ 文章目录⭐旅游管理系统部分效果图…

持久化的配置都不知道,也敢说精通Redis?

前言 所谓持久化可以简单理解为将内存中的数据保存到硬盘上存储的过程。持久化之后的数据在系统重启或者宕机之后依然可以进行访问,保证了数据的安全性。一键获取最先java文档。 Redis有两种持久化方案,一种是快照方式(SNAPSHOTTING&#xff…

前端 | 前端设计设计及代码收集

全部来源于Github,侵权删! 1.Maxime Euzire 2.Shubham Singh | Resume 3.Natasha Theodora Petrus 4.Ana Mara Martnez Gmez 5.bagussona.github.io 6.leodevbro.github.io 7.yuanlinping.github.io 8.Dr.Q 9.sureshmurali.github.io 10.Chandrika Deb | Software…

常见的接口测试面试题

1、按你的理解,软件接口是什么? 答: 就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。 2、HTTP和HTTPS协议区别? 答: https协议需要到CA(Certificate Authority,证…