当前位置: 首页 > news >正文

Day 4 学习优化方法

学习优化方法

SGD

代码演示

class SGD: def __init__(self,lr=0.01): self.lr=lr def update(self,params,grads): for key in params.keys(): params[key]-=self.lr*grads[key]

SGD的缺点

动量法(Momentum)

数学原理

代码演示

class Momentum: #初始化 def __init__(self,lr=0.01,momentum=0.9): self.lr=lr self.momentum=momentum self.v=None #更新方法 def update(self,params,grads): #对v进行初始化 if self.v is None: self.v={} for key , val in params.items(): self.v[key]=np.zeros_like(val) #按公式进行参数更新 for key in params.keys(): self.v[key]=self.momentum * self.v[key] - self.lr *grads[key] params[key] += self.v[key]

学习率衰减

等间隔衰减

每隔固定训练周期,学习率按一定比例下降

指定间隔衰减

在指定的训练周期,学习率按一定系数衰减

指数衰减

学习率按指数函数进行衰减

AdaGrad

数学原理

代码演示

class AdaGrad: #初始化 def __init__(self,lr=0.01): self.lr=lr self.h=None #更新方法 def update(self,params,grads): #对h进行初始化 if self.h is None: self.h={} for key,val in params.items(): self.h[key]=np.zeros_like(val) #更新参数 for key in params.keys(): self.h[key]+=grads[key]*grads[key] params[key]-=self.lr*(grads[key]/np.sqrt(self.h[key]+1e-8))

RMSProp

数学原理

代码演示

只需对之前的数学公式部分稍加更改即可

Adam

数学原理

是偏差修正,用来增加训练初期的启动速度。

代码演示

class Adam: #初始化 def __init__(self,lr=0.01,alpha1=0.9,alpha2=0.999): self.lr=lr self.alpha1=alpha1 self.alpha2=alpha2 self.v=None self.h=None self.iter=0 #更新方法 def update(self,params,grads): #对每个v和h进行初始化 if self.v is None: self.v,self.h={},{} for key,val in params.items(): self.v[key]=np.zeros_like(val) self.h[key] = np.zeros_like(val) self.iter+=1 #按照公式改变学习率参数 a=self.lr*np.sqrt(1-self.alpha2**self.iter)/(1-self.alpha1**self.iter) #按照公式更新参数 for key in params.keys(): self.v[key]=self.alpha1*self.v[key]+(1-self.alpha1)*grads[key] self.h[key] = self.alpha2 * self.h[key] +(1 - self.alpha2) * (grads[key]**2) params[key]-=a*self.v[key]/(np.sqrt(self.h[key])+1e-8)
http://www.jsqmd.com/news/762167/

相关文章:

  • WebOperator:基于树搜索算法的智能网页自动化框架
  • 实战演练:使用ysoserial的CB1链与TomcatCmdEcho内存马复现致远M3漏洞
  • 2026年高性价比的女式睡衣工厂排名,靠谱的在这里 - mypinpai
  • Ubuntu自动化配置脚本实践:从环境搭建到桌面定制
  • 基于大语言模型的开发者翻译工具:nextai-translator 架构解析与实战
  • 【PHP 8.9 GC深度优化白皮书】:20年核心开发者亲授5大内存泄漏终结策略
  • 新手别纠结!Qt项目到底用qmake还是CMake?看完这篇保姆级对比就懂了
  • 知识图谱与LLM融合:Wikontic项目实践解析
  • FastAPI+SQLAlchemy+asyncpg异步Web API架构与生产实践
  • Spacedesk旧版已失效?别急,手把手教你用最新版把安卓平板变成Windows 11的免费副屏
  • AI辅助开发新场景:让快马AI成为你的未来免费正版图库智能管家
  • 别再手动导FBX了!用Unity FBX Exporter插件一键同步3DMax 2024模型(附常见MAXScript报错修复)
  • BetterNCM安装器:一键为网易云音乐PC版注入插件生态
  • 推荐靠谱的3D线材成型机厂家? - mypinpai
  • Go语言高性能Web框架zcf:轻量级设计与工程实践指南
  • 如何轻松实现全网视频下载?VideoDownloadHelper完整指南为您解答
  • 别再乱用智能UV了!Blender 2.9+ 手动整理UV全流程:从拆解模型到完美贴图
  • MeLE Quieter4C无风扇迷你主机评测:静音与多屏4K体验
  • 效率倍增:基于快马与OpenClaw构建高并发稳健数据抓取管道
  • 让AI当你的网络架构师:用快马平台描述需求,智能生成与优化ensp园区网配置
  • 2026年盛利膜结构费用多少,价格透明无隐形消费 - mypinpai
  • PHP支付安全加固必做7件事:防重放、验签、幂等、回调校验、敏感信息脱敏、HTTPS强制、日志审计全落地
  • 简历石沉大海?风控建模岗简历“镀金”指南:如何量化你的项目成果
  • 基于MCP协议与SQLite的轻量化AI记忆系统设计与实践
  • 实战Vue电商项目:基于快马AI一键生成商品列表与复杂筛选组件
  • AI赋能three.js开发:让快马平台智能生成千级粒子系统性能优化代码方案
  • VGG-T3:线性复杂度的大规模三维重建技术解析
  • 饥荒Mod开发避坑指南:AddRecipe2参数全解析,从角色专属配方到分解配方一次搞懂
  • 解放双手:用快马ai为ubuntu服务器生成高效自动化运维脚本
  • 俄语NLP优化:T-pro 2.0混合推理框架的技术突破