当前位置: 首页 > news >正文

论正确初始化深度学习模型参数的重要性

遇到的问题:在一般的深度学习训练过程中,我们建立好模型以后,程序就有自动的初始化一些模型的参数,比如全连接层中每一个节点的权重等等,在之前的网络训练过程中,我总是事先设下随机种子以后,让模型自己随机初始化参数。但是这个时候就会出现一个问题:如果不加任何约束,模型的有些参数会初始化的非常大,比如某一个权重参数初始化为100,而我们的学习率一般都比较小,比如0.0001,这个时候就会发现模型收敛的非常慢,同时loss值还有可能会异常大,其实一般遇到这种情况的主要问题就是咱们的模型初始化参数设置的不是很好,没有加以约束,导致很多的参数值设置的不是很合理。

解决方法:经过前人的不断努力,目前在Pytorch中其实已经为我们写好了一些非常nice的模型参数初始化的方法,我们在定义完模型以后,只需要直接调用即可。在使用了这些合理的模型参数初始化方法后,我们就会发现我们的模型收敛速度正常了,同时loss值也正常了

一些常见的模型参数初始化方法如init.xavier_uniform_、init.kaiming_uniform_等等。具体的可以参考下面这个链接:

深度学习之参数初始化 - 知乎

http://www.lryc.cn/news/276003.html

相关文章:

  • ALSA学习(5)——ASoC架构中的Machine
  • LeetCode 0447.回旋镖的数量:哈希表
  • 容器相关笔记
  • cissp 第10章 : 物理安全要求
  • 聊一聊 .NET高级调试 内核模式堆泄露
  • 海外代理IP在游戏中有什么作用?
  • 高防ip适合防御网站和游戏类的攻击吗?
  • HTML5和JS实现明媚月色效果
  • Django5+DRF序列化
  • 什么是编译程序和解释程序
  • 文档审阅批注的合并和对比
  • 广义零样本学习综述的笔记
  • java每日一题——输出9x9乘法表(答案及编程思路)
  • Android 车联网——基础简介(一)
  • 自动驾驶货车编队行驶系统功能规范
  • javafx
  • 玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— 编译构建及此过程中的踩坑填坑(3)
  • SQL ORDER BY 关键字
  • 多线程-生产者消费者模型
  • 解压命令之一 gzip
  • 力扣:438. 找到字符串中所有字母异位词 题解
  • QT 高DPI解决方案
  • SLB、DMZ、Nginx、Ingress、Gateway、Kibana和Grafana
  • 【已解决】Invalid bound statement (not found)
  • 汽车信息安全--芯片厂、OEM安全启动汇总(1)
  • 气膜建筑:舒适、智能、可持续
  • 【C语言】一种状态超时阻塞循环查询的办法
  • 【leetcode】力扣热门之回文链表【简单难度】
  • 【MySQL】ALL函数的巧用 以及 排序(order by)巧用 sum(条件表达式) 语法
  • Debezium发布历史49