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激活函数时设计权重初始值设置方法相关推荐

  1. python权重初始值设置_pytorch自定义初始化权重的方法

    在常见的pytorch代码中,我们见到的初始化方式都是调用init类对每层所有参数进行初始化.但是,有时我们有些特殊需求,比如用某一层的权重取优化其它层,或者手动指定某些权重的初始值. 核心思想就是构 ...

  2. python权重初始值设置_如何查看初始权重(即训练前)?

    @Chris_K给出的答案应该有效-model.get_weights()在调用fit之前打印正确的初始化权重.尝试运行此代码作为健全性检查-它应该打印两个非零的矩阵(对于两个层),然后打印两个零的矩 ...

  3. 关于神经网络权重初始值的设置的研究

    关于神经网络权重初始值的设置的研究 一.权重初始值 二.权重初始值会影响隐藏层的激活值分布 三.Xavier初始值 四.He初始值 五.基于MNIST数据集的权重初始值的比较 一.权重初始值 权值衰减 ...

  4. DL之DNN优化技术:采用三种激活函数(sigmoid、relu、tanh)构建5层神经网络,权重初始值(He参数初始化和Xavier参数初始化)影响隐藏层的激活值分布的直方图可视化

    DL之DNN优化技术:采用三种激活函数(sigmoid.relu.tanh)构建5层神经网络,权重初始值(He参数初始化和Xavier参数初始化)影响隐藏层的激活值分布的直方图可视化 目录

  5. DL之DNN优化技术:自定义MultiLayerNet【5*100+ReLU】对MNIST数据集训练进而比较三种权重初始值(Xavier参数初始化、He参数初始化)性能差异

    DL之DNN优化技术:自定义MultiLayerNet[5*100+ReLU]对MNIST数据集训练进而比较三种权重初始值(Xavier参数初始化.He参数初始化)性能差异 导读 #思路:观察不同的权 ...

  6. DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程

    DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程 目录 输出结果 设计思路 核心代码 更多输出 相关文章: ...

  7. 基于MNIST数据集的不同权重初始值的比较

    上一篇文章(绘制隐藏层的激活值的分布[直方图])我们知道权重的初始值对激活层的值影响很大,也直接关系到神经网络学习是否顺利的至关重要的一环. 现在通过MNIST数据集的实例来比较下,直观感受不同的初始 ...

  8. linux的root用户默认密码,Linux下root初始密码设置方法

    Ubuntu刚安装后,不能在terminal中运行su命令,因为root没有默认密码,需要手动设定. 以安装ubuntu时输入的用户名登陆,该用户在admin组中,有权限给root设定密码. 给roo ...

  9. Antd Vue range-picker 日期初始值设置 与 重置日期踩坑总结

    一.业务场景: 1.用form表单包裹,用的是 Antd Vue range-picker链接 2.创建时间初始值设置为当天的 00:00:00-23:59:59:如下截图: 2.日期选择器如下截图: ...

最新文章

  1. [原创]Javascript类成员的作用域
  2. python爬虫百科-Python爬虫之requests库介绍(一)
  3. python怎么安装numpy库-python怎么安装numpy库
  4. 用pkg给手机装linux,pkg-config的使用方法
  5. Bzoj3309-DZY Loves Math【莫比乌斯反演,线性筛】
  6. 美团大脑 | 知识图谱的建模方法及其应用
  7. 最牛ai波士顿动力上台阶_波士顿动力的位置如何使美国成为人工智能的关键参与者...
  8. 英伟达显卡gtx和gt的区别
  9. 银行卡,身份证,驾驶证识别
  10. Linux加入Windows域
  11. 织梦CMS插件-支持dedeCMS各大主题
  12. wmp 11安装方法
  13. SAP中导出物料评估类对应关系清单
  14. java gui论文_毕业设计论文-基于JAVA GUI的电子邮件客户端软件的设计与实现.doc
  15. 每日算法----929. 独特的电子邮件地址----2022/06/04
  16. Python入门第7课——tuple变量(只读课堂)
  17. 计算机与汽车的论文,汽车计算机网络技术论文
  18. java从github下载项目_在github下载的java项目通过idea打开(全流程图文,傻瓜式)
  19. 适用于自助设备的rk3568安卓主板配置详解
  20. first path segment in URL cannot contain colon

热门文章

  1. 工行银企互联接入详解(2)--下载证书
  2. 闫刚 nuttx的posix的定时器原理
  3. 2022亲测狮子鱼16.7.0小程序源码+独立版交易组件
  4. 十八般武艺之Nginx踩坑总结
  5. zookeeper源码解析--从节点
  6. 赫斯曼三层交换机组建车身车间虚拟局域网
  7. Linux 驱动开发 四十六:Linux MISC驱动实验
  8. php图库管理,学校图库管理程序(PHP版),毕业论文设计,答辩ppt,开题报告,外文翻译,硕士研究生...
  9. ORACLE数据库服务器导出DMP格式提示没有权限访问解决解决办法
  10. 10000个微信红包封面,免费领取,人人有份