神经网络中常用的权重初始化方法及为何不能全初始化为0

news2024/11/19 8:34:16

1.权重初始化的重要性

  • 神经网络的训练过程中的参数学习时基于梯度下降算法进行优化的。梯度下降法需要在开始训练时给每个参数赋予一个初始值。这个初始值的选取十分重要。在神经网络的训练中如果将权重全部初始化为0,则第一遍前向传播过程中,所有隐藏层神经元的激活函数值都相同,导致深层神经元可有可无,这一现象称为对称权重现象。
  • 为了打破这个平衡,比较好的方法是对每层的权重都进行随机初始化,这样使得不同层的神经元之间有很好的区分性。但是,随机初始化参数的一个问题是如何选择随机初始化的区间。如果权重初始化太小,会导致神经元的输入过小,随着层数的不断增加,会出现信号消失的问题;也会导致sigmoid激活函数丢失非线性的能力,因为在0附件sigmoid函数近似是线性的。如果参数初始化太大,会导致输入状态太大。对sigmoid激活函数来说,激活函数的值会变得饱和,从而出现梯度消失的问题。

2.常用的参数初始化方法

2.1 高斯分布初始化

     参数从一个固定均值(比如0)和固定方差(比如0.01)的高斯分布进行随机初始化。

2.2 均匀分布初始化

      在一个给定的区间[-r,r]内采用均匀分布来初始化参数。超参数r的设置可以按照神经元的连接数量进行自适应的调整。

  • 初始化一个深层神经网络时,一个比较好的初始化策略是保持每个神经元输入和输出的方差一致

2.3 Xavier初始化

  • 当网络使用logistic激活函数时,xavier初始化可以根据每层的神经元数量来自动计算初始化参数的方差。假设第l层神经元的激活函数是logistic函数,对第l-1层到第l层的权重区间r可以设置为:
  • 上式中是第l层神经元个数,是第l-1层神经元个数。
  • 对于tanh函数,r可以设置为:

 

 

2.4  He初始化

   与2.3方法类似.

 

3 神经网络权重为什么不能初始化为0

参见:

神经网络权重为什么不能初始化为0?

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

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

相关文章

深度学习笔记:感知机

感知机(perceptron)为神经网络的起源算法。感知机接受多个输入信号,输出一个信号。感知机信号只有0和1。 在上图的感知机中,x1和x2两个输入信号会分别乘以其对应权重(weight) w1和w2,传入神经元。神经元计算传来信号综…

Disentangled Face Attribute Editing via Instance-Aware Latent Space Search翻译

论文地址 代码地址 摘要 最近的研究表明,生成对抗网络(GAN)的潜空间中存在一组丰富的语义方向,这使得各种面部属性编辑应用成为可能。然而,现有的方法可能会遇到属性变化不好的问题,从而导致在更改所需属…

JS中数组对象使用

文章目录一、创建数组对象二、数组翻转1.检测数组2.翻转数组:三、添加数组元素1.push方法2.unshift方法四、删除数组元素1.pop方法2.shift方法🤘案例1五、数组排序六、数组索引方法1.indexof(数组元素)2.lastIndexOf方法🤟案例2七、数组转化为…

数字验证学习笔记——SystemVerilog芯片验证16 ——约束控制块随机函数

一、约束块控制 一个类可以包含多个约束块。可以把不同约束块用于不同测试。一般情况下,各个约束块之间的约束内容是互相协调不违背的,因此通过随机函数产生随机数时可以找到合适的解 如果子类继承父类,也继承了父类的约束,这个时…

基于蒙特卡诺的电动汽车充电负荷曲线研究(充电开始时间,充电电量,充电功率)(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【C++】 STL-vector模拟实现

文章目录vector源码的内容:成员变量默认构造函数构造函数1-无参构造构造函数2 -使用n个相同的值构造构造函数3-使用迭代器区间构造拷贝构造函数**传统写法**现代写法赋值重载函数opeartor传统写法现代写法析构函数迭代器begin & end任意类型vector容器迭代器通用遍历方式:容…

paddleOCRv3之四: rec识别部分用 tensorRT(C++)部署

文章目录1. 简介:速度测试2. paddle 模型转onnx3. onnx转为tensorRT的engine模型4. tensorRT在vs2017中的配置5. 源码1. 简介: tensorRT是nvdia GPU模型部署的一个框架,似乎只是部分开源,github地址.大多数时候用这个框架去部署模…

十九、Docker容器监控之CAdvisor+InfluxDB+Granfana

1、概述 Docker自带查询容器状态的命令:docker stats,可以看到容器的ID\名称、占用CPU、内存等信息 但是我们不能时时刻刻的盯着这个命令,并且这个都是实时数据不能留痕,如果这个时候某一个容器挂了,我们想查看下当时…

webpack性能优化

splitChunks webpack splitChunks minSize: 只有到目标文件超过这个minSize时才会分包。cacheGroups: 可以对某个第三方包进行单独分离出来 例如: splitChunks: {minSize: 300 * 1024,chunks: all,name: aaa,cacheGroups: {jquery: {name: jquery,test…

SCADA平台在风电场测量的应用,实现风电场的高效管理

一、应用背景 随着煤碳、石油等能源的逐渐枯竭,人类越来越重视可再生能源的利用。风能作为一种清洁的可再生能源日益受到世界各国的重视。中国风能储量大,分布面广,仅陆地上的风能储量就约2.53亿千瓦。我国的风电发展起步较晚,但…

大数据教学实训沙盘介绍

沙盘的作用主要有3个: 1、采集真实数据,解决教学中缺少真实数据的困扰; 2、形成从数据采集、预处理、挖掘建模、模型部署的业务闭环,可以把构建模型发布到沙盘系统上,根据模型产生真实的反馈不断的修正模型精度&#x…

DoIP协议从入门到精通系列——车辆声明

上篇文章对DoIP中物理连接做了说明和描述,介绍了以太网应用到车载网络中重要的两个组织: IEEE;OPEN联盟。本文主要对物理连接后,车辆进行自属信息声明过程做一个完整描述。 一、基础信息 DoIP协议标准由一个或多个DoIP实体实施,具体取决于车辆的网络架构。如下图是车辆网…

SuperMap iServer在不同系统中设置开机自启动--Windows篇

目录前言1.删除已有的 SuperMap iServer 系统服务2.注册 SuperMap iServer 系统服务3.设置 SuperMap iServer 系统服务开机自启动实例作者:kxj 前言 在成功部署SuperMap iServer之后,每次重启电脑都需要手动去启动iServer,如何能让iServer在…

HTML5 Web Worker(多线程处理)

文章目录HTML5 Web Worker(多线程处理)概述简单使用处理复杂数据HTML5 Web Worker(多线程处理) 概述 JavaScript的执行环境是单线程的,也就是一次只能执行一个任务。如果遇到多个任务时,只能排队依次执行。 在HTML5中,可以使用Web Worker创…

小程序集成Three.js,使用npm安装gsap动画库

0.视频演示 three.js集成gsap创建物体动画gsap作为简单易用的补间动画库,获得开发者一致好评。 在小程序中,我们集成了Three.js第三方库,可以创建和加载模型及场景,但是做动画还是需要第三方库的支持。 下面详细说明如何在小程序…

Java SPI机制详解

一、什么是SPI SPI全称Service Provider Interface,是Java提供的一种服务发现机制。实现服务接口和服务实现的解耦。 Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制,实现不修改任何代码的情况下…

不错的一个麦肯锡信任公式

1)可信度:这人是不是专家。 你是否让他人可以相信你这个人。这取决于你解决问题的能力、经验、专业知识、资源等等;这个人的专业能力是否真有别人说的那么出色,是否能够胜任这份工作呢?过往的履历中是否做过足以让我值…

函数指针到底需不需要解引用?类成员函数呢?

1、 普通函数指针 C函数指针有两点比较令人疑惑的做法&#xff1a; 函数名作为实参时&#xff0c;到底要不要取地址&#xff1f;通过函数指针调用函数时&#xff0c;到底要不要解引用&#xff1f; int add(int a, int b) {cout << "common function: " <…

ubuntu18安装、测试YOLOV3记录

官方教程&#xff1a; YOLO: Real-Time Object Detection 一、使用预训练模型进行检测 1、安装Darknet: git clone https://github.com/pjreddie/darknet cd darknet make 2、下载预训练权重https://pjreddie.com/media/files/yolov3.weights&#xff08;打开链接或wget&…