神经网络与深度学习(二)——性能优化

性能优化

  • 1.常用技巧
    • 1.1模型初始化
    • 1.2训练数据与测试数据
    • 1.3欠拟合与过拟合
    • 1.4权重衰减(L2正则化)
    • 1.5暂退(Dropout)
  • 2.动量法
    • 2.1病态曲率
    • 2.2动量法
  • 3.自适应梯度算法
    • 3.1AdaGrad
    • 3.2RMSProp
    • 3.3Adam
  • 4.总结

1.常用技巧

1.1模型初始化

  • 简单的考虑,把所有权值在[-1,1]区间内按均值或高斯分布
    进行初始化。
  • Xavier初始化:为了使得网络中信息更好的流动,每一层输
    出的方差应该尽量相等。因此需要实现下面的均匀分布:
    在这里插入图片描述

1.2训练数据与测试数据

  • 数据包括

  • 训练数据

  • 验证数据

  • 测试数据

  • 通常,三者比例为 70 70%,15%,15%70 或 60 60%,20%,20%60,当数据很多时,训练和验证数据可适当减少

  • K 折交叉验证

  • 原始训练数据被分成 K 个不重叠的子集。 然后执行 K 次模型训练和验证,每次在 K−1 个子集上进行训练, 并在剩余的一个子集(在该轮中没有用于训练的子集)上进行验证。 最后,通过对 K 次实验的结果取平均来估计训练和验证误差。

1.3欠拟合与过拟合

  • 欠拟合:误差一直比较大;
  • 过拟合:在训练数据集上误差小而在测试数据集上误差大。
    在这里插入图片描述

1.4权重衰减(L2正则化)

  • 为防止过拟合和权值震荡,加入新的指标函数项:
    在这里插入图片描述
  • 第二项约束了权值不能过大。在梯度下降时,导数容易计算:
    在这里插入图片描述

1.5暂退(Dropout)

  • 在整个训练过程的每一次迭代中,标准暂退法包括在计算下一层之前将当前层中的一些节点置零。
    在这里插入图片描述

2.动量法

2.1病态曲率

  • 1.图为损失函数轮廓。在进入以蓝色标记的山沟状区域之前随机开始。颜色实际上表示损失函数在特定点处的值有多大,红色表示最大值,蓝色表示最小值。我们想要达到最小值点,为此但需要我们穿过山沟。这个区域就是所谓的病态曲率。

在这里插入图片描述

  • 2.梯度下降沿着山沟的山脊反弹,向极小的方向移动较慢。这是因为脊的表面在W1方向上弯曲得更陡峭。
    在这里插入图片描述

2.2动量法

  • 1.对比
  • 如果把原始的 SGD 想象成一个纸团在重力作用向下滚动,由于质量小受到山壁弹力的干扰大,导致来回震荡;或者在鞍点处因为质量小速度很快减为 0 00,导致无法离开这块平地。
  • 动量方法相当于把纸团换成了铁球;不容易受到外力的干扰,轨迹更加稳定;同时因为在鞍点处因为惯性的作用,更有可能离开平地。
  • 动量法更新公式
  • 公式
    在这里插入图片描述
    在这里插入图片描述

3.自适应梯度算法

3.1AdaGrad

  • 1.Adaptive Gradient:自适应梯度
  • 参数自适应变化:具有较大偏导的参数相应有一个较大的学习率,而具有小偏导的参数则对应一个较小的学习率;
  • 具体来说,每个参数的学习率会缩放各参数反比于其历史梯度平方值总和的平方根。
  • 用于处理稀疏的梯度
  • 2.算法 - AdaGrad
    在这里插入图片描述
  • 3.问题
  • 学习率是单调递减的,训练后期学习率过小会导致训练困难,甚至提前结束;
  • 需要设置一个全局的初始学习率。

3.2RMSProp

  • 1.Root Mean Square Prop

  • RMSProp 解决 AdaGrad 方法中学习率过度衰减的问题;

  • RMSProp 使用指数衰减平均以丢弃遥远的历史,使其能够快速收敛;此外,RMSProp 还加入了超参数 ρ控制衰减速率。

  • 具体来说(对比 AdaGrad 的算法描述),即修改 r 为:
    在这里插入图片描述

  • 处理非稳态数据

  • 2.RMSProp 算法
    在这里插入图片描述

3.3Adam

  • 1. Adaptive Moment Estimation

  • Adam 在 RMSProp 方法的基础上更进一步:
    除了加入历史梯度平方的指数衰减平均 r 外,
    还保留了历史梯度的指数衰减平均 s ,相当于动量。

  • Adam 行为就像一个带有摩擦力的小球,在误差面上倾向于平坦的极小值。

  • 用于解决机器学习中的大数据量,高特征纬度的优化问题。

  • 2. Adam 算法:
    在这里插入图片描述

4.总结

  • 训练中常用技巧包括样本选择、权重衰减、暂退等;
  • 动量法可有效改善收敛速度,以及避免一些陷入局部极小值;
  • AdaGrad 及 Adam 等算法可自适应调节学习速率,加速收敛。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CSS常见样式

字体相关的样式 <style>div{/* 斜体 */font-style: italic;/* 加粗 100-900*/font-weight: 900;/* 字体大小 */font-size: 20px;/* 声明字体格式 */font-family: "微软雅黑";}</style> div内部文字垂直居中 只需要将行高设为其height的大小即可。 div{…

反转链表 II(leetcode)

题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 分享两道解题思路&#xff1a; 第一个&#xff1a; 将left~right之间的节点翻转&#xff0c;首先left前的节点的next置为空&#xff0c;right的指针置为空&#xff0c; 然后拼接 p1指的是left前面的一个 p1-…

静电场概述

什么是静电场 静电场是由特殊的电荷引起场。 这个特殊的电荷指&#xff1a;相对于观察者静止、且电量不随时间改变的电荷。 库仑定律 指在无限大的真空中&#xff0c;当两个静止的小带电体之间的距离远远大于本身的几何尺寸时&#xff0c;该两带电体之间的作用力。 如图所示…

Open CASCADE学习|统计形状拓扑数量

边界表示法&#xff08;Boundary Representation&#xff0c;简称B-Rep&#xff09;是几何造型中最成熟、无二义的表示法。它主要用于描述物体的几何信息和拓扑信息。在边界表示法中&#xff0c;一个实体&#xff08;Solid&#xff09;由一组封闭的面&#xff08;Face&#xff…

手机基带电路设计20问(1)

原文来自微信公众号&#xff1a;工程师看海&#xff0c;与我联系&#xff1a;chunhou0820 看海原创视频教程&#xff1a;《运放秘籍》 大家好&#xff0c;我是工程师看海&#xff0c;原创文章欢迎点赞分享&#xff01; 1 小电压和小电流供电是不是可以减小大部分功耗&#xff1…

如何升级ccache的版本 || 安装ccache

由于一些原因之前用的是3.7的ccache&#xff0c;但是遇到了一个bug。 ccache: error: Recursive invocation (the name of the ccache binary must be "ccache")经过查找&#xff0c;这个bug在4版本的时候被修复了&#xff0c;所以就要升级版本。 ccache的文件比较…

K6 性能测试教程:入门介绍,环境搭建和编写第一个 K6 测试脚本

K6 性能测试教程&#xff1a;入门介绍&#xff0c;环境搭建和编写第一个 K6 测试脚本 这篇文章将带您进入 K6 性能测试的世界。博文内容涵盖了 K6 性能测试的入门知识、环境搭建步骤&#xff0c;以及如何编写您的第一个测试脚本。无论您是初学者还是有经验的性能测试专业人员&…

express接口请求的几种方式分析总结

导语 在用express做接口开发的时候&#xff0c;我们要处理post,get,put,delete等请求&#xff0c;以及jsonp的方式&#xff0c;这篇文章记录下结合ajax&#xff0c;实现处理这些请求方式的过程 实现过程 上代码&#xff0c;主要演示post,get及jsonp的请求 <!DOCTYPE htm…

ctfshow web入门 php特性 web123--web139

web123 必须传CTF_SHOW&#xff0c;CTF_SHOW.COM 不能有fl0g 在php中变量名字是由数字字母和下划线组成的&#xff0c;所以不论用post还是get传入变量名的时候都将空格、、点、[转换为下划线&#xff0c;但是用一个特性是可以绕过的&#xff0c;就是当[提前出现后&#xff0c;…

Golang——方法

一. 方法定义 Golang方法总是绑定对象的实例&#xff0c;并隐式将实例作为第一实参。 只能为当前包内命名类型定义方法参数receiver可以任意命名。如方法中未曾使用&#xff0c;可省略参数名参数receiver类型可以是T或*T。基类型T不能是接口或指针类型(即多级指针)不支持方法重…

【Error】Uncaught TypeError: Cannot read properties of undefined (reading ‘get’)

报错原因&#xff1a; 返回值为undefined 解决&#xff1a; vue3可用&#xff1f;

HarmonyOS时区和语言设置-使用相关api实现系统语言和地区设置

介绍 本示例展示了i18n&#xff0c;intl&#xff0c;resourceManager在eTS中的使用&#xff0c;使用相关api实现系统语言和地区设置、时间和时区设置&#xff0c;展示了区域格式化示例。 效果预览 使用说明 1.启动应用&#xff0c;进入应用&#xff0c;首页分为三个按钮&…

谷歌DeepMind发布Gecko:专攻检索,与大7倍模型相抗衡

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 Gecko 是一种通用的文本嵌入模型&#xff0c;可用于训练包括文档检索、语义相似度和分类等各…

JavaScript(三)-Web APIS

文章目录 DOM事件进阶事件流事件流与两个阶段说明事件捕获事件冒泡阻止冒泡解绑事件 事件委托其他事件页面加载事件元素滚动事件页面尺寸事件 元素尺寸与位置 DOM事件进阶 事件流 什么是事件流 事件流指的是事件完整执行过程中的流动路径 事件流与两个阶段说明 捕获与冒泡 …

正确使用@Autowired

目录 一、前言二、跟着官方文档&#xff0c;学习正确使用Autowired0、实验环境1、通过构造方法进行注入1.1 问题1&#xff1a;那万一没有这个CustomerPreferenceDao对象&#xff0c;会报错吗&#xff1f; 2、通过setter方法注入3、通过方法注入&#xff08;这个方法可以是任意名…

iOS 开发中上传 IPA 文件的方法(无需 Mac 电脑

引言 在 iOS 开发中&#xff0c;将 IPA 文件上传到苹果开发者中心是一个重要的步骤。通常情况下&#xff0c;我们需要使用 Mac 电脑上的 Xcode 或 Application Loader 工具来完成这个任务。然而&#xff0c;如果你没有 Mac 电脑&#xff0c;也没有关系&#xff0c;本文将介绍一…

【安全工具】信息收集——ENScan_GO

1.初次使用 运行命令生成配置文件 ./enscan -v 2.配置cookie 参考介绍 wgpsec/ENScan_GO: 一款基于各大企业信息API的工具&#xff0c;解决在遇到的各种针对国内企业信息收集难题。一键收集控股公司ICP备案、APP、小程序、微信公众号等信息聚合导出。 (github.com) 3.友情提…

element-ui 在Popover弹框中使用Select选择器,Vue3

bug描述&#xff1a; 当选择完select的时候,popover也会退出。 解决&#xff1a; popover组件的的关闭是当点击组件外的元素时会关闭&#xff0c;select虽然是写在组件内的&#xff0c;但是select有一个默认属性teleported“true” 会把它默认插到 body 元素&#xff0c;我…

JavaScript模块化开发的前世今生

一个兜兜转转&#xff0c;从“北深”回到三线城市的小码农&#xff0c;热爱生活&#xff0c;热爱技术&#xff0c;在这里和大家分享一个技术人员的点点滴滴。欢迎大家关注我的微信公众号&#xff1a;果冻想 前言 现代化的编程语言&#xff0c;基本都支持模块化的开发&#xff…

嵌入式会越来越卷吗?

当谈及嵌入式系统时&#xff0c;我们探究的不仅是一种科技&#xff0c;更是一个日益多元与普及的趋势。嵌入式系统&#xff0c;作为一种融入更大系统中的计算机硬件和软件&#xff0c;旨在执行特定功能或任务。但这个看似特定的系统概念&#xff0c;却在发展中展现出了惊人的灵…