【小笔记】算法训练基础超参数调优思路

news2024/11/25 22:53:53

【学而不思则罔,思维不学则怠】

本文总结一下常见的一些算法训练超参数调优思路(陆续总结更新),包括:

  • batchsize
  • 学习率
  • epochs
  • dropout(待添加)

在这里插入图片描述

Batch_size

2023.9.29

  • 简单来说,较大的bz可以加快训练速度,特别是基于GPU进行模型训练时,应该在显存允许范围内,尽量使用较大的bz。
  • 两个极端:假设内存/显存足够大,每次都是使用全量数据进行梯度计算,此时训练效率最高,但训练极容易陷入鞍点(局部最优)而无法跳出,表现出来就是loss还比较高,但是已经开始收敛了。
  • 但bz不是说越大越好,越大bz意味着用更多的数据来计算梯度,越容易陷入鞍点,但若batch数量较多,则当一个batch的数据使算法陷入鞍点了,另一个batch的数据有机会使算法跳出鞍点。
  • 因此bz尽可能选大一些,同时保证batch数量不太少,最简单的方法就是从GPU显存或CPU内存运行的最大值开始实验,若发现出现了loss过早收敛且比较高时(陷入鞍点),此时则放弃充分利用GPU,而应考虑减少bz,使loss能够继续下降。
  • 结论:从显存/内容利用率角度和防止陷入鞍点两个角度来思考bz。

学习率

2024.1.16

  • lr若太大,则会导致训练波动,不容易收敛,表现出来就是算法的loss在下降一段时间后,又突然增加,然后又下降,然后有增加,就像乒乓球落地上,弹弹弹。loss曲线并不光滑,如锯齿版的下降(就像下图的样子)。甚至始终无法收敛。
  • lr若太小,最大的问题就是需要更长的时间来进行收敛。
  • 对lr的设置除了经验值外,就是观看loss收敛情况。
    在这里插入图片描述

epochs

2024.1.16

  • 它就很简单了,先推荐设置一个较大的值,然后观察能收敛的epoch即可

dropout

待添加

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

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

相关文章

(C++)大数计算问题

文章目录 一、实验目的、内容二、实验程序设计及结构1.需求分析类变量函数 2.设计结构或流程图 三、设计过程四、测试分析第一组第二组实验中出现的bug及解决方案 五、设计的特点和结果 一、实验目的、内容 大数是超过整数表示范围的整数,针对正整数运算&#xff0…

VSCODE使用CMAKE显示命令无法找到

背景:使用了code server,安装CMAKE和CMAKE TOOLS,但是通过ctrlshiftp打开命令面板,运行随便一个cmake指令,都出现了指令无法找到。具体为“命令"CMake: 配置"导致错误 (command ‘cmake.configure’ not fou…

Tomcat10.X部署老版本axis2 webservice项目不生效

目录 一、使用场景 二、问题描述 三、原因排查 四、解决方案 一、使用场景 原来项目是OpenJDK8tomcat9构建,现在需要升级到OpenJDK17tomcat10的组合。原来的webservice项目打包成aar格式,通过axis2部署在tomcat上。 二、问题描述 在配置好jdk和to…

【办公类-21-01】20240117育婴员操作题word合并1.0

背景需求: 最近学校组织老师们学习“育婴员”高级,每周学习2题操作,所以我是把每个学习内容单独做在一个word文件里 上周8套保健操作学完了,需要整理,并将8份Word文件合并 第一步:doc装docx 合并时程序报…

Kafka-消费者-KafkaConsumer分析-ConsumerCoordinator

在前面介绍了Kafka中Rebalance操作的相关方案和原理。 在KafkaConsumer中通过ConsumerCoordinator组件实现与服务端的GroupCoordinator的交互,ConsumerCoordinator继承了AbstractCoordinator抽象类。 下面我们先来介绍AbstractCoordinator的核心字段,如…

mysql 容器化安装(docker)离线和在线

前言:在部署hive或airflow 升级过程中,总需要一个对应的数据库存储元数据,一个轻量级的mysql容器刚刚好。轻量、可快速移植、具有隔离性。 文章目录 1、查看机器版本2、安装 docker3、启动docker 服务4、docker 常用命令docker5、拉取mysql …

更适合3D项目的UI、事件交互!纯国产数字孪生引擎持续升级中!!!

UI和事件交互是3D可视化项目中最常见的模块,主要用于信息添加、展示,用来确保按照用户需求呈现内容并完成交互。 平时工作在进行UI和交互设计时,经常出现以下问题:UI过于复杂导致3D项目内交互效率低下,或者是结合3D项目…

ubuntu18.04 安装mysql(命令)

1.安装MySQL #命令1 sudo apt-get update #命令2 sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 2.2 检查mysql服务状态 systemctl status mysql.service 3.配置远程访问 在Ubuntu下MySQL缺省是只允许本地访问的 3.1 首先用根用户进入…

NR SCell Addition/Modification/Release过程详解

当配置 CA 时,UE 与网络只会有一个RRC 连接。 在 RRC 连接建立/重建/切换时,只有一个serving cell会提供 NAS mobility info,在 RRC connection reestablishment/handover时,同样只有一个serving cell会提供security info&#xf…

关于KT6368A双模蓝牙芯片的BLE在ios的lightblue大数量数据测试

测试简介 关于KT6368A双模蓝牙芯片的BLE在ios的lightblue app大数量数据测试 测试环境:iphone7 。KT6368A双模程序96B6 App:lightblue ios端 可以打开log日志查看通讯流程 测试数据:长度是1224个字节,单次直接发给KT6368A&a…

C++ mapsetOJ

目录 1、138. 随机链表的复制 2、692. 前K个高频单词 3、349. 两个数组的交集 1、138. 随机链表的复制 /* // Definition for a Node. class Node { public:int val;Node* next;Node* random;Node(int _val) {val _val;next NULL;random NULL;} }; */class Solution { pub…

vscode开发java项目

安装java扩展 创建项目 vscode命令行面板搜索java命令行 出现如下提示 No build tools构建项目如下 java项目使用vscode单独打开文件夹(工作区中运行有问题),vscode中可直接点击右上角运行按钮执行 maven中spring boot项目 代码错误可以点…

Chrome 浏览器插件 cookies API 解析

Chrome.cookie 前端开发肯定少不了和 cookie 打交道,此文较详细的介绍下 chrome.cookie 的 API 以及在 popup、service worker、content 中如何获取的 一、权限(Permissions) 如果需使用 Cookie API,需要在 manifest.json 文件…

第90讲:MySQL数据库主从复制集群原理概念以及搭建流程

文章目录 1.MySQL主从复制集群的核心概念1.1.什么是主从复制集群1.2.主从复制集群中的专业术语1.3.主从复制集群工作原理1.4.主从复制中的小细节1.5.搭建主从复制集群的前提条件1.6.MySQL主从复制集群的架构信息 2.搭建MySQL多实例环境2.1.在mysql-1中搭建身为主库的MySQL实例2…

2024年1月中国数据库排行榜: OPOT 组合续写贺新年,达梦、腾讯发力迎升势

2024年开局,墨天轮中国数据库流行度排行火热出炉,292个国产数据库齐聚榜单。整体来看,榜单前十整体变化不大,“O-P-O”格局稳固,前五位名次未发生变动。但新年伊始,各家数据库热度上升迅猛,分数…

Linux下进程子进程的退出情况

进程的退出分为了两大类,一类是正常的退出,另一类是非正常的退出。 正常退出时有五种情况,分别是 ①main函数调用return ②进程调用exit(),标准c库 ③进程调用_exit()或者_Exit(),属于系统调用 ④进程最后一个线程返回 ⑤最…

密码产品推介 | 沃通安全电子签章系统(ES-1)

产品介绍 沃通安全电子签章系统(ES-1)是一款基于密码技术、完全自主研发的商用密码产品,严格遵循国家密码管理局制定的相关标准,可为企业和个人提供安全、合规的电子签章功能服务。产品的主要用途是为各类文书、合同、表单等电子…

Java-NIO 开篇(1)

NIO简介 高性能的Java通信,离不开Java NIO组件,现在主流的技术框架或中间件服务器,都使用了Java NIO组件,譬如Tomcat、 Jetty、 Netty、Redis、RabbitMQ等的网络通信模块。在1.4版本之前, Java IO类库是阻塞式IO&…

如何将信用卡或借记卡关联到您的PayPal账户

第1步:在PayPal控制面板中关联 您在登录到PayPal账户之后,前往顶部菜单条中的 “钱包”,然后点击“关联卡”。 第2步:输入您的信用卡或借记卡详情 第3步:添加新的借记卡或信用卡 使用PayPal绑定信用卡吧,…

Node.js基础---fs文件系统 读取和写入

什么是nodejs? 脚本语言需要一个解析器才能运行,JavaScript是脚本语言,在不同的位置有不一样的解析器,如写入html的js语言,浏览器是它的解析器角色。而对于需要独立运行的JS,nodejs就是一个解析器。 每一种解析器都是…