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

【ML】类神经网络训练不起来怎么办 5

【ML】类神经网络训练不起来怎么办 5

    • 1. Saddle Point V.S. Local Minima(局部最小值 与 鞍点)
    • 2. Tips for training: Batch and Momentum(批次与 动量)
      • 2.1 Tips for training: Batch and Momentum
      • 2.2 参考文献:
      • 2.3 Gradient Descent
      • 2.4 Concluding Remarks(前面三讲)
    • 3. Tips for training: Adaptive Learning Rate ,Error surface is rugged ...
      • 3.1 凸优化 使用 同意的learning rate 可能出现的问题
      • 3.1.2 Warm Up
      • 3.2 Different parameters needs different learning rate(客制化 learning rate)
      • 3.3 RMSProp 是一种自适应学习率优化算法,它可以根据梯度的均方根来调整每个参数的学习率。
      • 3.4 Adam: RMSProp + Momentum
      • 3.5 Summary of Optimization
    • 4. Loss 影响

1. Saddle Point V.S. Local Minima(局部最小值 与 鞍点)

Optimzation Fails,Why?
gradient is close to zero , 2 situation : local minima or saddle point ,we call this critical point.

在这里插入图片描述
如何判断 是 local minima or saddle point中的哪一种情况呢?
我们采用Taylor的展开来求解:
在这里插入图片描述
求零点附近的Hessian矩阵,根据Hessian矩阵判断是哪一种情况

在这里插入图片描述
实现步骤如下:
在这里插入图片描述在这里插入图片描述

举例说明:
在这里插入图片描述
在这里插入图片描述
saddle point 在训练过程中出现该怎么处理 hessian matrix 处理Saddle Point 逃离
在这里插入图片描述

站在更高的维度去处理解决问题:
在这里插入图片描述
在这里插入图片描述

2. Tips for training: Batch and Momentum(批次与 动量)

2.1 Tips for training: Batch and Momentum

同一个数据集合 :做batch 然后shuffle这些batch
在这里插入图片描述
Small Batch v.s. Large Batch 优缺点对比
在这里插入图片描述

在这里插入图片描述
不考虑 并且运算的情况下 Epoch 大的跑的快
在这里插入图片描述
在这里插入图片描述
大的batch 结果好的原因是什么?
在这里插入图片描述
上面这个问题下面给出答案:

Small Batch v.s. Large Batch
Smaller batch size has better performance
“Noisy” update is better for training.

在这里插入图片描述

Small batch is better on testing data!

在这里插入图片描述
在这里插入图片描述
Small Batch v.s. Large Batch: 详细的优势掠食 对比,在并行情况下,速度持平,除非,大的batch特别大
但是大的batch在update的时候比较快(优势);小的batch 的优化洁后果和泛化性能更好;

Batch size is a hyperparameter you have to decide.
在这里插入图片描述

2.2 参考文献:

Have both fish and bear’s paws?

  1. Large Batch Optimization for Deep Learning: Training BERT in 76 minutes (https://arxiv.org/abs/1904.00962)
  2. Extremely Large Minibatch SGD: Training ResNet-50 on ImageNet in 15 Minutes (https://arxiv.org/abs/1711.04325)
  3. Stochastic Weight Averaging in Parallel: Large-Batch Training That Generalizes Well (https://arxiv.org/abs/2001.02312)
  4. Large Batch Training of Convolutional Networks
    (https://arxiv.org/abs/1708.03888)
  5. Accurate, large minibatch sgd: Training imagenet in 1 hour
    (https://arxiv.org/abs/1706.02677)

2.3 Gradient Descent

在这里插入图片描述
在这里插入图片描述
考虑过去 Gradient 过去的总和:
在这里插入图片描述
Gradient Descent + Momentum 一大好处就是Gradient Descent退化时候,依然可以继续优化步骤,而不是导致优化停止。

相关文章:

  • C语言:指针进阶
  • MySQL数据库高阶语句②
  • Golang案例开发之gopacket抓包三次握手四次分手(3)
  • C语言UNIX域套接字CS模型
  • 全局UI方法-弹窗六-自定义弹窗
  • Flask 与小程序 的图片数据交互 过程及探讨研究学习
  • 如何在群晖NAS搭建bitwarden密码管理软件并实现无公网IP远程访问
  • Install Docker
  • 【机器学习】代价函数
  • #Linux(make工具和makefile文件以及makefile语法)
  • spark: 从pulsar中读取数据
  • tcpdump 抓包
  • 基于STELLA系统动态模拟技术及在农业、生态及环境科学中的应用教程
  • WINDOWS设置代理链chain
  • 一文整合工厂模式、模板模式、策略模式
  • php的引用
  • 【mysql】环境安装、服务启动、密码设置
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • canvas 五子棋游戏
  • CSS 提示工具(Tooltip)
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • IndexedDB
  • Java,console输出实时的转向GUI textbox
  • Linux快速复制或删除大量小文件
  • node-glob通配符
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • 老板让我十分钟上手nx-admin
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 思考 CSS 架构
  • 微信支付JSAPI,实测!终极方案
  • 译自由幺半群
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • ​ArcGIS Pro 如何批量删除字段
  • ​ubuntu下安装kvm虚拟机
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • # 数据结构
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (4)logging(日志模块)
  • (C语言)fread与fwrite详解
  • (poj1.2.1)1970(筛选法模拟)
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (转)setTimeout 和 setInterval 的区别
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .Net IE10 _doPostBack 未定义
  • .net 提取注释生成API文档 帮助文档
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • /var/spool/postfix/maildrop 下有大量文件
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [BUG] Authentication Error
  • [C++]运行时,如何确保一个对象是只读的
  • [codevs 1296] 营业额统计