第五章.与学习相关技巧—权重初始值(随机初始值,Xavier初始值,He初始值)

news2024/11/18 6:29:37

第五章.与学习相关技巧

5.2 权重初始值

本节将介绍权重初始值的推荐值,并通过实验确认神经网络的学习是否会快速进行。

1.权值衰减

  • 权值衰减就是一种以减少权重参数的值为目的进行学习的方法,通过减少权重参数值来抑制过拟合的情况发生。

2.权重初始值不可设为相同值的原因

  • 在误差反向传播法中,所有权重值都会进行相同的更新(乘法节点的反向传播原理),权重被更新为相同的值,这使得神经网络拥有许多不同的权重的意义就丧失了,为了防止权重均一化,必须随机生成初始值。

3.权重初始值的设置方法

1).随机初始值:

  • 示例:

    观察权重初始值是如何影响隐藏层的激活函数的分布:向一个5层神经网络(激活函数使用sigmoid函数)传入随机生成的输入数据,用直方图绘制各层激活值的数据分布(神经网络权重标准差设置为0.01或1的高斯分布情况)

  • 各层激活值分布图:[标准差为1/0.01的高斯分布]

    • 标准差为1的高斯分布

      图像描述:各层的激活值呈偏向0/1的分布,这里使用的sigmoid是S型函数,随着输出不断的靠近0/1,它的导数值逐渐接近0,因此偏向0和1的数据分布会造成反向传播中梯度的值不断变小,最后消失,这个问题称为梯度消失
      在这里插入图片描述

    • 标准差为0.01的高斯分布

      图像描述:这次集中在0.5附近的分布,不会像刚才的例子偏向0/1,所以不会出现梯度消失的问题,但是激活值的分布有所偏向,会出现“表现力受阻”的问题
      在这里插入图片描述

  • 各层激活值的分布特点:
    各层激活值的分布都要求有适当广度的原因:通过在各层间传递多样性的数据,神经网络可以进行高效学习。反过来,如果传递的是有所偏向的数据,就会出现梯度消失或者表现力受阻的问题,导致学习可能无法顺利进行。

2).Xavier初始值:

  • 示例:

    观察权重初始值是如何影响隐藏层的激活函数的分布:向一个5层神经网络传入随机生成的输入数据,用直方图绘制各层激活值的数据分布(神经网络权重标准差设置为1/√n的高斯分布情况)

  • 各层激活值分布图:[标准差为1/√n的高斯分布]

    • 激活函数:sigmoid
      在这里插入图片描述

    • 激活函数:tanh
      在这里插入图片描述

  • 图像描述:
    sigmoid激活函数后面的层分布呈稍微歪斜的形状,如果是tanh激活函数,这个稍微倾斜的问题就会得到改善。众所周知,用作激活函数的函数最好具有关于原点对称的性质。[tanh函数:关于原点(0,0)对称的S型曲线;sigmoid函数:关于(x,y)=(0,0.5)对称的S型曲线]

  • 结论:
    如果前一层的节点数为n,则初始值使用标准差为1/√n的分布。

3).He初始值:(ReLU激活函数专用初始值)

  • 示例:

    观察权重初始值是如何影响隐藏层的激活函数的分布:向一个5层神经网络传入随机生成的输入数据,用直方图绘制各层激活值的数据分布(神经网络权重标准差设置为√(2/n)的高斯分布情况)

  • 各层激活值分布图:[标准差为√(2/n)的高斯分布]

    • 激活函数:ReLU
      在这里插入图片描述
  • 图像描述:
    当初始值为He初始值时,各层中分布的广度相同,即使层加深,数据的广度也能保持不变,因此逆向传播时,也会传递合适的值。

  • 结论:
    如果前一层的节点数为n,则初始值使用标准差为√(2/n)的分布。

4).总结

  • 激活函数为ReLU时:权重初始值使用He初始值。
  • 激活函数为sigmoid/tanh等S型曲线函数时:权重初始值使用Xavier初始值。

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

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

相关文章

表现良好的最长时段[前缀和思想子数组]

前缀和与最长子数组前言一、表现良好的最长时间段二、前缀和思想&子数组1、前缀和&map2、前缀和&单调栈总结参考文献前言 对于子数组/子串问题,紧密连续前缀和/滑动窗口/单调栈;挖掘内在规律,可以简化代码,降低时空复…

Python多进程同步——文件锁

多个进程共享同一份资源(共享内存、文件等)时,会涉及到资源竞争问题。为了解决这种问题,一般采取的措施是进程在访问资源前加锁保护,避免多个进程同时读写。本文介绍的Python文件锁可以用来解决多进程的同步问题。 目录…

天荒地老修仙功-第六部第二篇:Spring Cloud Eureka自我保护机制

Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%,如果低于 85%,Eureka Server 会将这些实例保护起来,让这些实例不会过期,但是在保护期内如果服务刚好这个服务提供者非正常下线了,此时服务消…

[SCTF2019]babyre 题解

对未来的真正慷慨,是把一切献给现在。 ——加缪 目录 1.查壳 2.处理花指令,找到main函数 这一操作过程可以参考下面的视频: 3.静态分析第一部分,psword1 4.静态分析第二部分,psword2 5.静态分析第五部分,psword3 6.根据ps…

国产Linux操作系统读写RFID、NFC、IC卡示例源码

Windows系统应该是我们接触最多、最为熟悉的电脑端操作系统。Windows操作系统只能安装在x86指令集的CPU电脑中,x64是x86的升级版,Intel、Amd是x86指令集CPU最大的2个生产商。Windows系统下,外设接口驱动一般都封装成DLL动态库内,通…

基于springboot开发众筹平台前后台管理系统【完整源码+数据库+运行指导】

一、项目简介 本项目是一套基于springboot开发众筹平台前后台管理系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。 项目都经过严格调试&#…

2023csoj寒假训练10

csoj寒假训练10 A 并查集 两个黑球之间距离不够这个白球通过的话,视为一个集合 考虑怎样维护这样两两之间的关系,我们使用并查集 同时黑球与直线的关系也要做一次维护 最后可以直接判断是否上下两条直线是否在一个集合里面 如果在一个集合里面说明…

Spring容器演示——采用Spring配置文件管理Bean

一、创建Maven项目 创建Maven项目 - SpringDemo,设置项目位置以及组ID 修改项目的Maven配置 二、添加Spring依赖 在Maven仓库里查找Spring框架(https://mvnrepository.com) 查看Spring Core 选择版本 - 5.3.25 添加到pom.xml文件的元…

盘点程序员都不一定知道的小众网站!建议收藏,java编程必备!

俗话说的好,有一个趁手的工具解决了80%的疑虑。作为智慧物种的新新人类,手上掌握一两个不为人知的好用网站已经是件稀疏平常的事情。 今天我们就一起来看看,有哪些小众网站是程序员必备的! 业内人士都知道,一直劈里啪…

windows下面安装Python和pip终极教程

Python的语言风格很nice,但是这门语言对于windows并不算很友好,因为如果是初学者在windows环境下安装,简直是折磨人,会遇到各种蛋疼的情况。本文希望提供傻瓜式的教程,能够令读者成功安装Python和pip。 第一步&#xf…

什么是push通知栏消息?

我是3y,一年CRUD经验用十年的markdown程序员👨🏻‍💻常年被誉为职业八股文选手 今天继续更新Austin,给Austin新增一个发送渠道(PUSH通知栏推送) Push通知栏消息是非常常见的,几乎每…

【elementUI】自定义封装el-upload上传内容

文章目录为实现如图所示功能&#xff0c;点击第一步弹出模态框&#xff0c;第二部将所有文件导入&#xff0c;第三步点击确定的时候上传到后台接口&#xff0c;封装一个组件 1.搭建template <div style"display: inline-block; margin-left: 10px;"><el-bu…

leaflet 设置多个marker,导出为一个geojson文件(066)

第066个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中使用L.marker设置多个markers, 通过数据重组,导出为geojson文件。 这里面 ayer instanceof L.Marker 是一个很重要的判断条件,可以灵活地去运用。 直接复制下面的 vue+openlayers源代码,操作2分钟即可…

Ubuntu20.04LTS设置DNS解析(解决系统重启DNS不生效的问题)

文章目录背景介绍解决方案背景介绍 近期买了一台戴尔的工作站&#xff0c;搭建的是Ubuntu20.04系统&#xff0c;使用时发现Ubuntu20.04系统上网经常卡顿&#xff08;上网方式是有线网&#xff0c;使用的千兆网口和千兆网线&#xff09;。 使用网速测试工具speedtest-cli进行了…

redis五大数据结构

目录1.1 Redis数据结构-动态字符串1.2 Redis数据结构-intset1.3 Redis数据结构-Dict1.4 Redis数据结构-ZipList1.5 Redis数据结构-ZipList的连锁更新问题1.6 Redis数据结构-QuickList1.7 Redis数据结构-SkipList1.8 Redis数据结构-RedisObject2.0 Redis数据结构-String2.1 Redi…

前端性能优化的整理笔记

&#x1f6b4; 前言大厂面试题分享 面试题库后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★地址&#xff1a;前端面试题库&#x1f3c4;利用碎片化的时间&#xff0c;系统的整理&#xff0c;性能优化的知识点。&#x1f3af; 前端性能优化&#xf…

初识网络原理,关于网络编程的基础

一.网络的重要性对于程序员而言&#xff0c;几乎所程序都依赖于网络&#xff0c;对于公司来说&#xff0c;几乎所有产品也是依赖于网络&#xff0c;这些产品不仅包括面向用户的产品&#xff0c;公司内部的一些服务也是基于公司内网来进行相互调用的。二.组网方式①基于网线直连…

每日学术速递2.15

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.YOWOv2: A Stronger yet Efficient Multi-level Detection Framework for Real-time Spatio-temporal Action Detection 标题&#xff1a;YOWOv2&#xff1a;用于实时时空动作检测的…

Jenkins构建项目和tomcat项目发布脚编写本详细教程jenkins 2.361版本

jenkins部署教程可查看上一篇文档jenkins部署指定任意版本和配置详细教程 jenkins 2.361版本示例_争取不加班&#xff01;的博客-CSDN博客Jenkins服务器去拉取代码&#xff0c;所以要下载git客户端 yum -y install git jenkins服务器下载下面就是构建发布任务测试可以性测试使用…

第一个Python程序-HelloWorld与Python解释器

数据来源 01 第一个Python程序-HelloWorld 1&#xff09;打开cmd&#xff1a; windows R 打开运行窗口输入cmd 2&#xff09;进入Python编写页面 输入&#xff1a;python 3&#xff09;然后输入要写的Python代码然后回车 print("Hello World!!!") print() …