72 优化算法【动手学深度学习v2】

news2024/11/17 11:43:27

72 优化算法【动手学深度学习v2】

深度学习学习笔记
学习视频:https://www.bilibili.com/video/BV1bP4y1p7Gq/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=75dce036dc8244310435eaf03de4e330

  • 优化问题

优化问题一般是最小化f(x) 。C 是可以限制的,具体的优化里面有不同的版本,深度学习常用将C 不设限。
在这里插入图片描述

  • 局部最小vs全局最小

全局最小是说x* 比 C 中所有的 x还要小,局部最小x* 是指存在一个 s 使得 x* 与所有的 x 直接绝对值差小于等于 s。
一般迭代算法只能保证找到局部最小值。
在这里插入图片描述

  • 凸集

特例,凸集就是在区域中任选两个点相连,相连的那条线一定在区域里面。
在这里插入图片描述

  • 凸函数

在函数上任意取两点,函数值一定在两点连线值的下面。
在这里插入图片描述

  • 凸函数优化

如果一个代价函数,f 是个凸函数,限制集合也是凸的,那么就是凸优化问题,那么优化函数找到的最小值一定是全局的最小值。
严格凸优化问题有唯一的全局最小值。
在这里插入图片描述

  • 凸和非凸例子

机器学习中绝大多数是非凸的,只有两个是凸函数 线性回归和Softmax回归。

卷积本身是线性的,但加上激活函数后就不是了。
在这里插入图片描述

  • 梯度下降

梯度下降是最简单的迭代求解算法,每次选取一个开始点x0,然后对每个时间t在当前点求梯度,当前点减去 学习率乘以梯度。
在这里插入图片描述

  • 随机梯度下降

当你有n个样本时 f(x) 是所有样本上的损失的平均,那么样本很多的时候求梯度是很贵的,所有通常是用的随机梯度下降。
随机梯度下降是说在时间t的时候随机选一个样本ti,在ti上计算梯度来近似整个数据上的梯度,因为导数是线性可加的,随机取的和整体上的期望是差不多的。
在这里插入图片描述

  • 小批量随机梯度下降

真实用的是小批量随机梯度下降,是由于计算的原因。

随机梯度下降用单样本算梯度,单样本随机梯度下降很难完全利用硬件资源,因为CPU/GPU都是多线程,单样本的计算量不足以占据整个硬件的资源,所以用多个样本算梯度,这样并行度就提高了。

小批量随机梯度下降是说在时间t采样一个样本子集,样本子集大小是b(批量大小),对采样的b个样本都算梯度并取平均值 作为近似整个样本的梯度,期望没有变,好处是降低了方差(在方向上的抖动性变好了一点)。

随机梯度下降比梯度下降慢是因为每次算一个样本用不了硬件的并行度。
在这里插入图片描述

  • 冲量法

冲量法是说使用一个平滑过的梯度对权重进行更新,在真实数据中的loss函数是比较不平滑的,所以冲量法维护一个惯性(比较平滑的改变方向)。假设在样本上算的梯度是gt,vt是冲量,再更新权重时减去 学习率 乘以 vt。
展开vt的计算公式 实际上vt并不完全取决于上一个时刻的梯度,β 是小于 0的值,随着过去的gti 成指数级减小。
在这里插入图片描述

  • Adam

最多使用的优化算法。Adam 未必比SGD+冲量法好,好处是对学习率没那么敏感(它是一个非常平滑的SGD,它做了非常多的平滑)一旦很平滑对学习率那么敏感,如果你没有太多时间去调参的话,Adam是个很好的选择。

Adam 为记录一个vt,公式中β1是不需要调的,通常取0.9 (冲量法中β是需要调的)。
在这里插入图片描述
Adam 还要记录一个st,gt^2 是每个元素的平滑,β2通常等于0.999,计算后重新调整gt。

整理来讲Adam是比较稳定的。
在这里插入图片描述

QA:

  1. faster RCNN 或者Yolo是自己实现好,还是直接用开源的好?
    当然如果自己能够实现一遍就很好,但是会难一点。建议自己实现一个简单的版本,然后去看开源的实现的细节(因为开源的细节处理会好很多)。
  2. 大数据集用相对大的模型,小数据集用相对于小的模型。相对的对应效果会好一些。
  3. 写代码写不出来没关系,最重要的是能看懂,能用别人的代码。

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

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

相关文章

怎么样可以查看系统的内存和显示您硬盘中文件和文件夹的分布情况——SpaceSniffer

一、找内存 (1)右击此电脑,点击属性,即可看到如下 (2)或者可以打开电脑桌面,右击任务栏,如下 然后打开任务管理器 二、搜索各个盘的文件 SpaceSniffer是一个可以显示您硬盘中文…

防火墙有关iptables的知识点

基本概念 什么是防火墙 在计算中,防火墙是基于预定安全规则来监视和控制传入和传出网络流量的网络安全系统。该计算机流入流出的所有网络通信均要经过此防火墙。防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机…

MySQL——索引视图练习题

学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score)…

大白话高并发(三)

背景 高并发得第三篇,讲一讲压测吧,因为我的目的是模拟100万人同时来秒杀。 是不是真的要找100万个人 没必要 ,你就算100万人掐着表在同一毫秒内把请求请求某一台机器,服务器也不可能在同一时间处理那么多请求,因为…

同步辐射XAFS表征方法的应用场景分析

X射线吸收精细结构XAFS表征方法是一种用于研究物质结构和化学环境的分析技术。XAFS 使用 X 射线照射到物质表面,并观察由此产生的 X 光吸收谱。 ​XAFS 技术通常应用于研究高分子物质、生物分子、纳米结构和其他类型的物质。例如,XAFS 可以用来研究高分子…

使用git上传项目到GitHub教程

文章目录一、安装Git二、上传本地文件到git上。1.创建本地版本库2.通过命令git init把这个文件夹变成Git可管理的仓库3、使用git commit -m "XXX"命令提交4、在Github上创建一个Git仓库5、执行git remote add origin xxxxxxxx.git6、使用$ git push -u origin master…

35、基于51单片机自动灭火避障智能小车 消防灭火小车系统设计

摘要 智能作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。智能小车就是其中的一个体现,本次设计的多功能智能灭火避障小车&#…

MySQL番外篇-硬件优化概述

备注:测试数据库版本为MySQL 8.0 硬件优化概述 MySQL的硬件有: CPU内存硬盘网络资源 对于硬件的选择与调优,在系统上线前就需要考虑起来。 当然我们都知道: 好的CPU,可以让SQL语句解析得更快,进而加快SQL语句的执行速度。大的内存&#…

GEE学习笔记 八十七:python版GEE动态加载地图方法

在Google Earth Engine的python版API更新后,之前使用folium动态加载地图的代码就不能在正常运行,因为整个Google Earth Engine的地图加载服务的URL发生了更新,所以我们也需要更新相关绘制方法。下面我会讲解一种新的绘制方法,大家…

【深度学习】激活函数

上一章——认识神经网络 新课P54介绍了强人工智能概念,P55到P58解读了矩阵乘法在代码中的应用,P59,P60介绍了在Tensflow中实现神经网络的代码及细节,详细的内容可以自行观看2022吴恩达机器学习Deeplearning.ai课程,专…

NVIDIA Tesla V100部署与使用

在先前的实验过程中,使用了腾讯云提供的nvidia T4GPU,尽管其性能较博主的笔记本有了极大提升,但总感觉仍有些美中不足,因此本次博主租赁了nvidia V100 GPU,看看它的性能表现如何。 和先前一样,只需要将服务…

2023美赛A题思路数据代码分享

文章目录赛题思路2023年美国大学生数学建模竞赛选题&论文一、关于选题二、关于论文格式三、关于论文提交四、论文提交流程注意不要手滑美赛A题思路数据代码【最新】赛题思路 (赛题出来以后第一时间在CSDN分享) 最新进度在文章最下方卡片,加入获取一手资源 202…

医学图象分割常用损失函数(附Pytorch和Keras代码)

对损失函数没有太大的了解,就是知道它很重要,搜集了一些常用的医学图象分割损失函数,学习一下! 医学图象分割常见损失函数前言1 Dice Loss2 BCE-Dice Loss3 Jaccard/Intersection over Union (IoU) Loss4 Focal Loss5 Tvesky Loss…

学生投票系统-课后程序(JAVA基础案例教程-黑马程序员编著-第三章-课后作业)

【案例3-4】学生投票系统 记得 关注,收藏,评论哦,作者将持续更新。。。。 【案例介绍】 案例描述 某班级投票竞选班干部,班级学生人数为100人,每个学生只能投一票。 本任务要求,编程实现一个投票程序&…

2023美赛赛题和数据公布啦~【附中文翻译版】

2023美赛赛题和数据公布啦~ 加2023年的美国大学生数学建模竞赛 数学建模竞赛是一项在全球范围内非常受欢迎的竞赛,旨在鼓励学生运用数学知识和建模技能解决实际问题。这项竞赛不仅对学生的数学能力提出了很高的要求,还对他们的创造性、团队协作和沟通能…

经典算法题---链表奇偶重排(好题)双指针系列

我听别人说这世界上有一种鸟是没有脚的,它只能够一直的飞呀飞呀,飞累了就在风里面睡觉,这种鸟一辈子只能下地一次,那一次就是它死亡的时候。——《阿甘正传》这一文章讲解链表的奇偶排序问题,这是一道不难但是挺好的链…

凹凸贴图(Bump Mapping)

凹凸贴图是什么? 我们首先来看low-poly(多边形数较少)mesh和high-poly(多边形数量较多)mesh之间的不同。首先,最明显的不同就是high-poly能够表现出更多细节,但high-poly有比较大的性能开销。有…

springboot下@transcation使用基本介绍

springboot下transcation基本使用的几种可能 普通常使用的几种可能(事务的传播行为默认值Propagation.REQUIRED): transcation只在使用方法A上,A内无调用其他方法,事务正常方法A和方法B在同一个类下,transc…

net6中使用FluentValidation做实体验证(批量注册)

实体验证-FluentValidation 首先明白两个概念 自动验证:就是在请求进入到控制器前FluentValidation就自行完成实体的验证并做错误返回, 优点:简单 少一些手动调用的代码缺点:灵活性差,不好控制,不支持异步…

智慧校园电子班牌系统

智慧电子班牌区别于传统电子班牌,智慧校园电子班牌系统更加注重老师和学生的沟通交流和及时数据交互。学校为每个教室配置一台智能电子班牌,一般安装于教室门口,用来实时显示学校通知、班级通知,可设置集中分布式管理,…