【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退化时候,依然可以继续优化步骤,而不是导致优化停止。

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

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

相关文章

【QT】:基本框架

基本框架 一.创建程序二.初识函数1.main2.Widget.h3.Wight.cpp4.Wight.ui5.文件名.pro 三.生成的中间文件 本系列的Qt均使用Qt Creator进行程序编写。 一.创建程序 二.初识函数 1.main 2.Widget.h 3.Wight.cpp 4.Wight.ui 此时再点击编辑,就看到了ui文件的本体了。…

数仓建设实践——58用户画像数仓建设

目录 一、数据仓库&用户画像简介 1.1 数据仓库简介 1.2 数据仓库的价值 1.3 用户画像简介 1.4 用户画像—标签体系 二、用户画像数仓建设过程 2.1 画像数仓—背景&现状 2.2 画像数仓—整体架构 2.3 画像数仓—研发流程 2.4 画像数仓—指标定义 2.5 画像数仓…

【数据库管理操作】Mysql 创建学生数据库及对数据表进行修改

MySQL 创建学生成绩数据库 1.创建数据库 create database studentscore;创建完成之后,如果需要使用该数据,使用use命令 use studentscore;创建表前查看当前数据库中包含的表 show tables; 2.创建bclass表 create table bclass( class_id char(8) …

Sublime 彻底解决中文乱码

1. 按ctrl,打开Console,输入如下代码: import urllib.request,os; pf Package Control.sublime-package; ipp sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHand…

ubuntu之搭建samba文件服务器

1. 在服务器端安装samba程序 sudo apt-get install samba sudo apt-get install smbclient 2.配置samba服务 sudo gedit /etc/samba/smb.conf 在文件末尾追加入以下配置 [develop_share] valid users ancy path /home/ancy public yes writable y…

国内ip切换app,让切换ip变得简单

在数字化快速发展的今天,互联网已经成为我们生活中不可或缺的一部分。然而,随着网络应用的深入,用户对于网络环境的需求也日益多样化。其中,IP地址作为网络中的关键标识,其切换与管理显得尤为重要。为了满足用户对于IP…

每日一题 --- 链表相交[力扣][Go]

链表相交 题目:面试题 02.07. 链表相交 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交**:** 题目数据 保证 整个链式结…

【C语言】Infiniband驱动init_dev_assign函数

一、注释 一个内核模块的初始化函数,用于分配和初始化某些资源。以下是对代码块的逐行中文注释: // 定义一个初始化设备分配的函数 static void init_dev_assign(void) {int i 1;spin_lock_init(&dev_num_str_lock); // 初始化自旋锁if (mlx4_fil…

R: 网状Meta分析进行模型构建及图形绘制

网状meta分析的制作步骤主要包括: 1. 绘制网状证据图 2. 普通Meta分析(两两之间的直接比较) 3. 网状Meta分析(整合直接比较和间接比较的结果,绘制相关图形) 4. 绘制累积概率排序图 5. 三个假设的检验…

江协STM32:点亮第一个LED灯和流水灯

很多单片机都是高电平弱驱动,低电平强驱动,所以这里是低电平有效 点亮一个LED灯 操作STM32的GPIO需要三个操作: 第一个使用RCC开启GPIO的时钟 第二步使用GPIO_Init函数初始化GPIO 第三步使用输出或输入函数控制GPIO 1.使用RCC开启GPIO的时…

游戏开发笔记:游戏海外版本时区问题(解释时区问题,分解为js写法和lua写法来分析记录,整理出对应语言的相关函数方法。)

对于海外游戏而言,与时间相关的功能,都不能忽略时区的计算。根据 ‘ 服务端资源是有限的,客户端资源是无穷无尽的 ’的定义来说,基本上时区包括时间的计算都是由客户端来进行计算,今天内容也是围绕客户端来展开。 时区算法常见的时间描述时区需要计算的点在lua语言中的写…

Docker数据卷挂载

一、容器与数据耦合的问题: 数据卷是虚拟的,不真实存在的,它指向文件中的文件夹 ,属主机文件系统通过数据卷和容器数据进行联系,你改变我也改变。 解决办法: 对宿主机文件系统内的文件进行修改,会立刻反应…

HBase的Python API操作(happybase)

一、Windows下安装Python库:happyhbase pip install happybase -i https://pypi.tuna.tsinghua.edu.cn/simple 二、 开启HBase的Thrift服务 想要使用Python API连接HBase,需要开启HBase的Thrift服务。所以,在Linux服务器上,执行…

Day23:事务管理、显示评论、添加评论

事务管理 事务的定义 什么是事务 事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全执行,要么全放弃执行。 事务的特性(ACID) 原子性(Atomicity):事务是应用中不可再分的最小执行体(事务中部分执行失败就会回滚 。一致性(C…

Windows入侵排查

目录 0x00 前言 0x01 入侵排查思路 1.1 检查系统账号安全 1.2 检查异常端口、进程 1.3 检查启动项、计划任务、服务 0x00 前言 当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时…

6_相机坐标系_相机4个坐标系详述

相机系列文章是用来记录使用opencv3来完成单目相机和6轴机械臂手眼标定。本人吃饭的主职是linux下6轴机械臂相关应用开发。但对于机械臂运动学、相机应用等都非常感兴趣,所以对一些线性代数基础薄弱又想深入了解机械臂内部运算的同志比较有体会。由于是探索性学习&a…

9.windows ubuntu 子系统,centrifuge:微生物物种分类。

上次我们用了karken2和bracken进行了物种分类,这次我们使用centrifuge. Centrifuge 是一种用于快速和准确进行微生物分类和物种鉴定的软件。其主要功能包括: 快速分类和物种鉴定: Centrifuge 可以对高通量测序数据(如 metagenomic 或 RNA-Se…

2018年亚马逊云科技推出基于Arm的定制芯片实例

2018年,亚马逊云技术推出了基于Arm的定制芯片。 据相关数据显示,基于Arm的性价比比基于x86的同类实例高出40%。 这打破了对 x86 的依赖,开创了架构的新时代,现在能够支持多种配置的密集计算任务。 这些举措为亚马逊云技术的其他创…

OSPF-区域间路由计算

一、概述 前面学习了我们学习了Router-LSA和Network-LSA,它们都只能在区域内进行泛洪,而且我们之前一直主要是单区域学习。OSPF的核心是骨干区域Area 0,其它都为非骨干区域。但是在大型网络中,单区域OSPF会存在一定的问题&#xf…

HWOD:九键输入法的转换

一、知识点 A的ASCII码是65,Z的ASCII码是90 a的ASCII码是97,z的ASCII码是122 从z到a的反循环,用26求余数 二、题目 1、描述 九键手机键盘上的数字与字母的对应: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, …