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 常用string函数详解
May 30 Python
python spyder中读取txt为图片的方法
Apr 27 Python
Python装饰器原理与用法分析
Apr 30 Python
python 字典有序并写入json文件过程解析
Sep 30 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
Python sqlite3查询操作过程解析
Feb 20 Python
python实现程序重启和系统重启方式
Apr 16 Python
python3通过qq邮箱发送邮件以及附件
May 20 Python
Python使用pyexecjs代码案例解析
Jul 13 Python
python判断元素是否存在的实例方法
Sep 24 Python
Numpy中np.max的用法及np.maximum区别
Nov 27 Python
Python anaconda安装库命令详解
Oct 16 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下读取文本文件的代码
2008/07/02 PHP
用PHP实现读取和编写XML DOM代码
2010/04/07 PHP
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
2014/04/10 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
php使用curl详细解析及问题汇总
2016/08/11 PHP
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
React组件的三种写法总结
2017/01/12 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python中operator模块的操作符使用示例总结
2016/06/28 Python
Python的语言类型(详解)
2017/06/24 Python
Python数据结构之哈夫曼树定义与使用方法示例
2018/04/22 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
python 列表降维的实例讲解
2018/06/28 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
Django logging配置及使用详解
2019/07/23 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
Python学习之os模块及用法
2020/06/03 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
创建服务型党组织实施方案
2014/02/25 职场文书
个人优缺点总结
2015/02/28 职场文书
vue引入Excel表格插件的方法
2021/04/28 Vue.js