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实现从web抓取文档的方法
Sep 26 Python
使用Python抓取模板之家的CSS模板
Mar 16 Python
利用pyinstaller或virtualenv将python程序打包详解
Mar 22 Python
关于python pyqt5安装失败问题的解决方法
Aug 08 Python
Python基于辗转相除法求解最大公约数的方法示例
Apr 04 Python
Python堆排序原理与实现方法详解
May 11 Python
python实现批量修改图片格式和尺寸
Jun 07 Python
Flask框架模板继承实现方法分析
Jul 31 Python
简单了解python元组tuple相关原理
Dec 02 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 Python
Python中基础数据类型 set集合知识点总结
Aug 02 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英文字母大小写转换函数小结
2014/05/03 PHP
PHP中mysql_field_type()函数用法
2014/11/24 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
javascript 词法作用域和闭包分析说明
2010/08/12 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
2015/03/26 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
vuejs如何配置less
2017/04/25 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
js实现图片粘贴上传到服务器并展示的实例
2017/11/08 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
监控微信小程序中的慢HTTP请求过程详解
2019/07/05 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
[36:33]Ti4 循环赛第四日 附加赛NEWBEE vs Mouz
2014/07/13 DOTA
vscode 远程调试python的方法
2017/12/01 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
2019/04/11 Python
使用python list 查找所有匹配元素的位置实例
2019/06/11 Python
python__name__原理及用法详解
2019/11/02 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
Python实现PS滤镜中的USM锐化效果
2020/12/04 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
HTML5计时器小例子
2013/10/15 HTML / CSS
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
挪威手表购物网站:Klokker
2016/09/19 全球购物
高山背包:High Sierra
2017/11/23 全球购物
高一军训的心得体会
2014/09/01 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
小学毕业感言200字
2015/07/30 职场文书
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL