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读写excel的方法
Nov 18 Python
python单例模式实例分析
Apr 08 Python
python实现计算倒数的方法
Jul 11 Python
Python中死锁的形成示例及死锁情况的防止
Jun 14 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
Jul 25 Python
Python类和对象的定义与实际应用案例分析
Dec 27 Python
pymongo中聚合查询的使用方法
Mar 22 Python
python 多进程并行编程 ProcessPoolExecutor的实现
Oct 11 Python
python飞机大战pygame游戏背景设计详解
Dec 17 Python
Python 日期与时间转换的方法
Aug 01 Python
python如何爬取动态网站
Sep 09 Python
python中 Flask Web 表单的使用方法
May 20 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数组无限分级数据的层级化处理代码
2012/12/29 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
python备份文件的脚本
2008/08/11 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
python使用rpc框架gRPC的方法
2018/08/24 Python
Django框架基础模板标签与filter使用方法详解
2019/07/23 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
Python+OpenCV实现实时眼动追踪的示例代码
2019/11/11 Python
Python count函数使用方法实例解析
2020/03/23 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
临床医学大学生求职信
2013/09/28 职场文书
解除租赁合同协议书
2016/03/21 职场文书
Python 用户输入和while循环的操作
2021/05/23 Python
7个关于Python的经典基础案例
2021/11/07 Python