深度学习-学习率调度,正则化,dropout

news2024/11/24 21:08:07

正如前面我所说的,各种优化函数也依赖于学习率,保持学习率恒定总是有所限制,在执行梯度下降过程中,我们可以使用各种方法来调节训练过程的学习率,这里只是稍微介绍一下,不会写代码实现的。同时,顺便几种其他的手段防止过拟合。


1.学习率调度

(1).幂调度,学习率随着迭代次数下降,而下降的指数为幂指数,幂指数可以为1

\eta=\eta_0/(1+t/s)^c

c就是幂指数,一般取1,t代表迭代次数,s是超参数,\eta_0代表初始的学习率

(2).指数调度

\eta(t)=\eta_00.1^{t/s}

随着迭代的输出减少

(3)分段恒定调度

对一些轮数使用一个固定的学习率,到了另外一些使用较小的学习率

(4).性能调度

没N次查看一次误差,当误差下降的时候,减少学习率

(5)一周期调度1

在最开始的训练周期中,将学习率线性提高,然后再线性降低到原来的学习率,在后面的几个轮次中降低几个数量级。

在tensorflow中都有相应的方法


2.正则化

如果懂得线性回归,这个就很容易理解,使用L1正则化和L2正则化在线性回归中很常见,分别式LOASS回归和岭回归。神经网络一样有这两种正则化方式,用来限制Omega的调整范围,L1正则化用来稀疏模型,他会使得参数为0。L2正则化会使参数很小。L1正则化适合做特征选择,模型剪枝,L2正则化适合提升模型泛化。


 

3.dropout

这种方法目前没有合理的解释,深度学习的很多理论好像本来无法解释,所以不要在意这些了,在一些先进的网络里面用这个技术,也很得到不错的提升。

这个算法很简单,就是在每个训练迭代过程中,每次都"删除"一些神经元,每个神经元被删除的概率为p,删除之后,就没有信号从它这里流过去了,但是下一次它可能又会出现。

这个算法只会在训练过程中使用,在预测的适合,所有的神经元都要处于活动状态。

有一个问题,预测过程中,每个神经元都承担了平时1/p的信号量,那么相对的,就要在训练结束后,让他们的输入参数乘以p,或者输出参数乘以1/p,两者效果等价。


还有两个比较小众的方法写在下面,一个式蒙特卡洛dropout,一个是最大正则化。

(1)蒙特卡洛dropout会在测试期间使得dropout继续运行,对测试集多次重复预测,得到一个结果,然后除以重复的次数,就能得到一个预测概率和置信区间,这么看确实比较合理,可以用来做风险评估。

(2).最大正则化算法是使用L2正则化,限制传入连接的权重w,使得||w||_2\leq r,r是你设定的常数,这个算法不会使用到误差函数更新,而是将每次的传入权重进行缩放,使之满足条件。

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

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

相关文章

python基于轻量级卷积神经网络模型GhostNet开发构建养殖场景下生猪行为识别系统

养殖业的数字化和智能化是一个综合应用了互联网、物联网、人工智能、大数据、云计算、区块链等数字技术的过程,旨在提高养殖效率、提升产品质量以及促进产业升级。在这个过程中,养殖生猪的数字化智能化可以识别并管理猪的行为。通过数字化智能化系统&…

分布式微服务架构中的关键技术解析

分布式微服务架构是构建现代应用的理想选择,它将复杂系统拆分成小而自治的服务,每个服务都能独立开发、测试和部署。在实际的开发过程中,如何实现高效的分布式微服务架构呢?下面笔者根据自己多年的实战经验,浅谈实战过…

Linux shell编程学习笔记3:查询系统中已安装可以使用的shell

〇、更新记录 20230926 编写 一、前言 目前可以在Linux系统上运行的shell有许多种:sh、bash、cshell、tcsh、zsh……但是对一台具体的系统来说,未必包括上面列的所有这些shell,很可能包括其中两三个。 那么我们如何查询系统中已经安装有哪…

阿里巴巴Java开发编程规约(整理详细版)

目录 前言 1.编程规约 1.1 命名风格 1.2 常量定义 1.3 代码格式 1.4 OOP 规约 1.5 日期时间 1.6 集合处理 1.7 并发处理 1.8 控制语句 1.9 注释规约 1.10 前后端规约 1.11 其他 前言 规约依次分为【重要】、【建议】、【参考】,整理开发规范的目的在于写出更加…

Linux内核学习笔记

这个跟考试一毛钱关系没有 纯个人爱好 考试党划走 Linux 8086映像 3.1Intel 8086寄存器 INTEL处理器通常有十六个寄存器 他们之间可以相互做运算 3.2 8086的内存访问 内存的数据交换 内存和寄存器通过16根地址线建立数据的交换,数据线的宽度和寄存器的宽度相等 注…

最新ChatGPT网站系统源码+支持GPT4.0+支持AI绘画Midjourney绘画+支持国内全AI模型

一、SparkAI创作系统 SparkAi系统是基于很火的GPT提问进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT系统?小编这里写一个详细图文教程吧&a…

博客无限滚动加载(html、css、js)实现

介绍 这是一个简单实现了类似博客瀑布流加载功能的页面&#xff0c;使用html、css、js实现。简单易懂&#xff0c;值得学习借鉴。&#x1f44d; 演示地址&#xff1a;https://i_dog.gitee.io/easy-web-projects/infinite_scroll_blog/index.html 代码 index.html <!DOCT…

Visual Code 开发web 的hello world

我以前做过&#xff0c;后来忘了怎么做了&#xff0c;所以还是要做个记录。 本文介绍visual code 开发web 的hello world 参考&#xff1a; Exercise - Set up the structure of your web app - Training | Microsoft Learn 打开Visual Code &#xff0c; 打开目录Open fol…

skywalking源码本地编译运行经验总结

前言 最近工作原因在弄skywalking&#xff0c;为了进一步熟悉拉了代码下来准备debug&#xff0c;但是编译启动项目我就费了老大劲了&#xff0c;所以准备写这篇&#xff0c;帮兄弟们少踩点坑。 正确步骤 既然是用开源的东西&#xff0c;那么最好就是按照人家的方式使用&…

算法-位运算-数字范围按位与

算法-位运算-数字范围按位与 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/bitwise-and-of-numbers-range/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 逐个按位与运算 2.1 思路 最简单的就是直接挨个做与运算&#xff0c;…

华为云智能化组装式交付方案 ——金融级PaaS业务洞察及Web3实践的卓越贡献

伴随信息技术与金融业务加速的融合&#xff0c;企业应用服务平台&#xff08;PaaS&#xff09;已从幕后走向台前&#xff0c;成为推动行业数字化转型的关键力量。此背景下&#xff0c;华为云PaaS智能化组装式交付方案闪耀全场&#xff0c;在近日结束的华为全联接大会 2023上倍受…

DTDX991A 61430001-UW 自由IOT引入人工智能功能

DTDX991A 61430001-UW 自由IOT引入人工智能功能 人工智能功能可以在不利的机器和过程条件发生灾难性后果之前通知用户和其他系统。 这个被广泛采用的软件平台的最新版本还包括一个强大的自助视频库。这使用户能够在闲暇时浏览所有的特性和功能&#xff0c;同时促进整个工厂用…

redis系列之——高可用(主从、哨兵)

redis系列之——高可用&#xff08;主从、哨兵、集群&#xff09; 所谓的高可用&#xff0c;也叫HA&#xff08;High Availability&#xff09;&#xff0c;是分布式系统架构设计中必须考虑的因素之一&#xff0c;它通常是指&#xff0c;通过设计减少系统不能提供服务的时间。…

【RV1103】RTL8723bs (SD卡形状模块)驱动开发

文章目录 前言硬件分析Luckfox Pico的SD卡接口硬件原理图LicheePi zero WiFiBT模块总结 正文Kernel WiFi驱动支持Kernel 设备树支持修改一&#xff1a;修改二&#xff1a; SDK全局配置支持 wifi全局编译脚本支持编译逻辑拷贝rtl8723bs的固件到文件系统的固定目录里面去 上电后手…

网络安全人才发展史

1958年&#xff0c;我国第一台电子数字计算机诞生 1994年&#xff0c;互联网正式进入中国 网络安全工程师从此诞生 在6到14岁的懵懂孩童阶段&#xff0c;他们开始逐渐了解这个世界&#xff0c;接触网络生活。他们对于未知的世界充满了好奇但又对诸多危险因素没有正确判断能力。…

Java8实战-总结36

Java8实战-总结36 重构、测试和调试调试查看栈跟踪使用日志调试 小结 重构、测试和调试 调试 调试有问题的代码时&#xff0c;程序员的兵器库里有两大老式武器&#xff0c;分别是&#xff1a; 查看栈跟踪输出日志 查看栈跟踪 程序突然停止运行&#xff08;比如突然抛出一个…

Win10 cmd如何试用tar命令压缩和解压文件夹

环境&#xff1a; Win10 专业版 Microsoft Windows [版本 10.0.19041.208] 问题描述&#xff1a; Win10 cmd如何试用tar命令压缩和解压文件夹 C:\Users\Administrator>tar --help tar(bsdtar): manipulate archive files First option must be a mode specifier:-c Cre…

ElementUI之首页导航+左侧菜单->mockjs,总线

mockjs总线 1.mockjs 什么是Mock.js 前后端分离开发开发过程当中&#xff0c;经常会遇到以下几个尴尬的场景&#xff1a; - 老大&#xff0c;接口文档还没输出&#xff0c;我的好多活干不下去啊&#xff01; - 后端小哥&#xff0c;接口写好了没&#xff0c;我要测试啊&#x…

知识图谱(6)基于KG构建问答系统

问答系统概述 问答系统是人类从机器中获取数据与知识的主要形式&#xff0c;问答系统包括NLP的多种应用&#xff1a;语义理解&#xff0c;知识图谱&#xff0c;推理&#xff0c;文本生成。问答系统是检验机器智能的一种方式&#xff08;图灵测试&#xff09;。 图灵测试&#…

C++ 继承详解

目录 C 继承介绍 继承中的特点 public 继承 protected 继承 private 继承 在类里面不写是什么类型&#xff0c;默认是 private 的 如果继承时不显示声明是 private&#xff0c;protected&#xff0c;public 继承&#xff0c;则默认是 private 继承&#xff0c;在 struct …