CNN应用Relu激活函数时设计权重初始值设置方法
CNN应用Relu激活函数时,根据√(2/n)设计权重初始值
学习《深度学习入门(基于Python的理论与实现)》时,设计DeepConvNet,需要应用Relu激活函数,使用了ReLU的情况下推荐的初始值√(2/n),n为各层的神经元平均与前一层的几个神经元有连接
根据: 用filter的卷积运算连接关系.
由于权值/filter共享原则,输出数据只与输入数据的部分神经元节点(通过滤波器/卷积核)相连,连接数量即为filter_num * filter_size
"""网络结构如下所示conv - relu - conv- relu - pool - conv - relu - conv- relu - pool -conv - relu - conv- relu - pool - affine - relu - dropout - affine - dropout - softmax"""def __init__(self, input_dim=(1, 28, 28),conv_param_1={'filter_num': 16, 'filter_size': 3, 'pad': 1, 'stride': 1},conv_param_2={'filter_num': 16, 'filter_size': 3, 'pad': 1, 'stride': 1},conv_param_3={'filter_num': 32, 'filter_size': 3, 'pad': 1, 'stride': 1},conv_param_4={'filter_num': 32, 'filter_size': 3, 'pad': 2, 'stride': 1},conv_param_5={'filter_num': 64, 'filter_size': 3, 'pad': 1, 'stride': 1},conv_param_6={'filter_num': 64, 'filter_size': 3, 'pad': 1, 'stride': 1},hidden_size=50, output_size=10):# 初始化权重===========# 各层的神经元平均与前一层的几个神经元有连接# 按照滤波器卷积运算,由于权值/filter共享原则,输出数据只与输入数据的部分神经元节点(通过滤波器/卷积核)相连,连接数量即为filter_num * filter_sizepre_node_nums = np.array([1 * 3 * 3, 16 * 3 * 3, 16 * 3 * 3, 32 * 3 * 3, 32 * 3 * 3, 64 * 3 * 3, 64 * 4 * 4, hidden_size])wight_init_scales = np.sqrt(2.0 / pre_node_nums) # 使用ReLU的情况下推荐的初始值√(2/n)self.params = {}pre_channel_num = input_dim[0] # 初始通道数为输入数据的通道数for idx, conv_param in enumerate([conv_param_1, conv_param_2, conv_param_3, conv_param_4, conv_param_5, conv_param_6]):self.params['W' + str(idx + 1)] = wight_init_scales[idx] * \np.random.randn(conv_param['filter_num'], pre_channel_num,conv_param['filter_size'], conv_param['filter_size'])self.params['b' + str(idx + 1)] = np.zeros(conv_param['filter_num'])pre_channel_num = conv_param['filter_num'] # 每次卷积后滤波器个数传递给输出数据的通道数self.params['W7'] = wight_init_scales[6] * np.random.randn(64 * 4 * 4, hidden_size) # Affine1层的权值初始化self.params['b7'] = np.zeros(hidden_size)self.params['W8'] = wight_init_scales[7] * np.random.randn(hidden_size,output_size) # Affine2层的权值初始化 self.params['b8'] = np.zeros(output_size)
CNN应用Relu激活函数时设计权重初始值设置方法相关推荐
- python权重初始值设置_pytorch自定义初始化权重的方法
在常见的pytorch代码中,我们见到的初始化方式都是调用init类对每层所有参数进行初始化.但是,有时我们有些特殊需求,比如用某一层的权重取优化其它层,或者手动指定某些权重的初始值. 核心思想就是构 ...
- python权重初始值设置_如何查看初始权重(即训练前)?
@Chris_K给出的答案应该有效-model.get_weights()在调用fit之前打印正确的初始化权重.尝试运行此代码作为健全性检查-它应该打印两个非零的矩阵(对于两个层),然后打印两个零的矩 ...
- 关于神经网络权重初始值的设置的研究
关于神经网络权重初始值的设置的研究 一.权重初始值 二.权重初始值会影响隐藏层的激活值分布 三.Xavier初始值 四.He初始值 五.基于MNIST数据集的权重初始值的比较 一.权重初始值 权值衰减 ...
- DL之DNN优化技术:采用三种激活函数(sigmoid、relu、tanh)构建5层神经网络,权重初始值(He参数初始化和Xavier参数初始化)影响隐藏层的激活值分布的直方图可视化
DL之DNN优化技术:采用三种激活函数(sigmoid.relu.tanh)构建5层神经网络,权重初始值(He参数初始化和Xavier参数初始化)影响隐藏层的激活值分布的直方图可视化 目录
- DL之DNN优化技术:自定义MultiLayerNet【5*100+ReLU】对MNIST数据集训练进而比较三种权重初始值(Xavier参数初始化、He参数初始化)性能差异
DL之DNN优化技术:自定义MultiLayerNet[5*100+ReLU]对MNIST数据集训练进而比较三种权重初始值(Xavier参数初始化.He参数初始化)性能差异 导读 #思路:观察不同的权 ...
- DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程
DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程 目录 输出结果 设计思路 核心代码 更多输出 相关文章: ...
- 基于MNIST数据集的不同权重初始值的比较
上一篇文章(绘制隐藏层的激活值的分布[直方图])我们知道权重的初始值对激活层的值影响很大,也直接关系到神经网络学习是否顺利的至关重要的一环. 现在通过MNIST数据集的实例来比较下,直观感受不同的初始 ...
- linux的root用户默认密码,Linux下root初始密码设置方法
Ubuntu刚安装后,不能在terminal中运行su命令,因为root没有默认密码,需要手动设定. 以安装ubuntu时输入的用户名登陆,该用户在admin组中,有权限给root设定密码. 给roo ...
- Antd Vue range-picker 日期初始值设置 与 重置日期踩坑总结
一.业务场景: 1.用form表单包裹,用的是 Antd Vue range-picker链接 2.创建时间初始值设置为当天的 00:00:00-23:59:59:如下截图: 2.日期选择器如下截图: ...
最新文章
- [原创]Javascript类成员的作用域
- python爬虫百科-Python爬虫之requests库介绍(一)
- python怎么安装numpy库-python怎么安装numpy库
- 用pkg给手机装linux,pkg-config的使用方法
- Bzoj3309-DZY Loves Math【莫比乌斯反演,线性筛】
- 美团大脑 | 知识图谱的建模方法及其应用
- 最牛ai波士顿动力上台阶_波士顿动力的位置如何使美国成为人工智能的关键参与者...
- 英伟达显卡gtx和gt的区别
- 银行卡,身份证,驾驶证识别
- Linux加入Windows域
- 织梦CMS插件-支持dedeCMS各大主题
- wmp 11安装方法
- SAP中导出物料评估类对应关系清单
- java gui论文_毕业设计论文-基于JAVA GUI的电子邮件客户端软件的设计与实现.doc
- 每日算法----929. 独特的电子邮件地址----2022/06/04
- Python入门第7课——tuple变量(只读课堂)
- 计算机与汽车的论文,汽车计算机网络技术论文
- java从github下载项目_在github下载的java项目通过idea打开(全流程图文,傻瓜式)
- 适用于自助设备的rk3568安卓主板配置详解
- first path segment in URL cannot contain colon
热门文章
- 工行银企互联接入详解(2)--下载证书
- 闫刚 nuttx的posix的定时器原理
- 2022亲测狮子鱼16.7.0小程序源码+独立版交易组件
- 十八般武艺之Nginx踩坑总结
- zookeeper源码解析--从节点
- 赫斯曼三层交换机组建车身车间虚拟局域网
- Linux 驱动开发 四十六:Linux MISC驱动实验
- php图库管理,学校图库管理程序(PHP版),毕业论文设计,答辩ppt,开题报告,外文翻译,硕士研究生...
- ORACLE数据库服务器导出DMP格式提示没有权限访问解决解决办法
- 10000个微信红包封面,免费领取,人人有份