keras之权重初始化方式


Posted in Python onMay 21, 2020

在神经网络训练中,好的权重 初始化会加速训练过程。

下面说一下kernel_initializer 权重初始化的方法。

不同的层可能使用不同的关键字来传递初始化方法,一般来说指定初始化方法的关键字是kernel_initializer 和 bias_initializer

model.add(Dense(64, kernel_initializer=initializers.random_normal(stddev=0.01)))
 
# also works; will use the default parameters.
model.add(Dense(64, kernel_initializer='random_normal'))

几种初始化方法

keras.initializers.Zeros()#全0
keras.initializers.Ones()#全1
keras.initializers.RandomNormal(mean=0.0, stddev=0.05, seed=None))#指定均值和方差的正态分布初始化
keras.initializers.RandomUniform(minval=-0.05, maxval=0.05, seed=None)#指定下边界和上边界的均匀分布初始化
keras.initializers.TruncatedNormal(mean=0.0, stddev=0.05, seed=None)#截尾高斯分布初始化,位于均值两个标准差以外的数据将会被丢弃并重新生成,形成截尾分布

自定义初始化

def my_init(shape, dtype=None):
 return K.random_normal(shape, dtype=dtype)
 
model.add(Dense(64, init=my_init))

补充知识:Keras中权重weight的初始化

Keras 的原始构造模块是模型,最简单的模型称为序贯模型, Keras 的序贯模型是神经网络层的线性管道 ( 堆栈) 。

以下代码段定义了 一个包含 12 个人工神经元的单层 网络,它预计有 8 个输入变量 ( 也称为特征):

from keras.models import Sequential
 
model =Sequential()
model.add(12,input_dim=8,kernel_initializer='random_uniform')

每个神经元可以用特定的权重进行初始化 。 Keras 提供了 几个选择 , 其中最常用的选择如下所示。

random_unifrom:权重被初始化为(-0.5,0.5)之间的均匀随机的微小数值,换句话说,给定区间里的任何值都可能作为权重 。

random_normal:根据高斯分布初始化权重,其中均值为0,标准差为0.05。

zero:所有权重被初始化为0。

以上这篇keras之权重初始化方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 列表(List)操作方法详解
Mar 11 Python
python转换字符串为摩尔斯电码的方法
Jul 06 Python
详解django.contirb.auth-认证
Jul 16 Python
python用win32gui遍历窗口并设置窗口位置的方法
Jul 26 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
python实现的汉诺塔算法示例
Oct 23 Python
python实现大量图片重命名
Mar 23 Python
pytorch 实现打印模型的参数值
Dec 30 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
Jan 19 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
Python中Yield的基本用法
Oct 18 Python
基于PyQT5制作一个桌面摸鱼工具
Feb 15 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 #Python
Python使用os.listdir和os.walk获取文件路径
May 21 #Python
keras 权重保存和权重载入方式
May 21 #Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 #Python
Python通过文本和图片生成词云图
May 21 #Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 #Python
Python 实现敏感目录扫描的示例代码
May 21 #Python
You might like
PHP网站提速三大“软”招
2006/10/09 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
JS 自动安装exe程序
2008/11/30 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
JS中数组重排序方法
2016/11/11 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
移动端点击态处理的三种实现方式
2017/01/12 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
React实现todolist功能
2020/12/28 Javascript
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
对Pandas MultiIndex(多重索引)详解
2018/11/16 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
对python多线程SSH登录并发脚本详解
2019/02/14 Python
python 图像处理画一个正弦函数代码实例
2019/09/10 Python
python hash每次调用结果不同的原因
2019/11/21 Python
python实现视频读取和转化图片
2019/12/10 Python
python爬虫库scrapy简单使用实例详解
2020/02/10 Python
2014年教学管理工作总结
2014/12/02 职场文书
指导教师推荐意见
2015/06/05 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书