什么时候可以将神经网络的参数全部初始化为0?
来源:互联网 发布:库里总决赛6场数据 编辑:程序博客网 时间:2024/05/19 16:19
用SGD训练神经网络时, 怎样决定初始化参数的方式? 主要有两个考虑点: 一: 最终是否能得到想要的学习结果, 即是否能得到一个符合预期目标的分类器;二: 训练时间, 好的参数初始化可以有效缩短训练时间, 如预训练.
不加思考时, 将所有参数都初始化为0是最省力的做法. 有些情况下可行, 但大部分情况下会导致学习失败, 得不到可用的模型.
先看最简单的例子: 用逻辑回归算法识别手写数字MNIST. 逻辑回归模型可以算作为一个Single-Layer Perceptron(SLP):
- 28×28=784” role=”presentation” style=”position: relative;”>28×28=78428×28=784
- 10个输出单元, 激活函数为softmax” role=”presentation” style=”position: relative;”>softmaxsoftmax
它由两组参数组成: W” role=”presentation” style=”position: relative;”>WW的bias 列向量.
现将它们全部初始化为0,分析一下学习过程: - 第一次forward过程中, 输出层的所有输出为0.5. 反向时, 如之前描述输出层神经元的敏感度为输出值与目标值的差值: δ=a−y” role=”presentation” style=”position: relative;”>δ=a−yδ=a−y变成非0值.
- 于是, 后面的训练显然也可以顺利进行.
可以看出, 没有隐层时, 可以将所有的参数初始化为0.
如果有隐层呢?
对于隐层使用了ReLU: f(net)=max(0,net)” role=”presentation” style=”position: relative;”>f(net)=max(0,net)f(net)=max(0,net)本身, 不为0, 其余的所有层的输出都为0. BP时所有梯度也都为0, 包括输出层. 这意味着所有的非输入神经元都是dead neurons. 学习失败.
假如为使用了sigmoid激活函数呢? 可以推测:
- 第一个BP过程
- 输出层的第i” role=”presentation” style=”position: relative;”>ii个神经元的敏感度与其他9个不同
- 隐层所有的神经元的敏感度和权值梯度都相同, 但权值梯度为0
- 然后第二次BP时:
- 隐层所有的神经元的敏感度仍然相同, 所有权值的梯度仍然相等但非0.
- 最后学习得到的模型中, 所有的隐单元都是相同的. 学习失败.
其他的激活函数如tanh应该也是类似的情况.
所以, 最后的结论是, 一般只在训练SLP/逻辑回归模型时才使用0初始化所有参数., 更实用的结论是, 深度模型都不会使用0初始化所有参数.
0 0
- 什么时候可以将神经网络的参数全部初始化为0?
- 什么时候可以将神经网络的参数全部初始化为0?
- 定义Point类的无参数构造函数,将point对象的数据成员初始化为0。
- 数组的初始化为 0 的学习
- 申请一段初始化为0的内存
- 结构体初始化为0的技巧!!
- 为何栈的初始化为0XCC
- .使用malloc开辟一个3*4的二维数组,并将内容初始化为0-11
- 将已赋值的字符串初始化为空
- 全局变量初始化为0
- 将一个数组中的每一个元素初始化为0
- <c语言>如何将数组初始化为0?
- 【ThinkingInJava】8、对象的初始化为null,基本类型默认初始化为0
- C 语言中 初始化为0和1 的差别
- 数组元素全部初始化为同一值问题
- 有趣的发现,引用初始化为整数
- 指针初始化为NULL的作用
- 对象初始化为null的好处
- Android 网络详解(一) TCP与UDP
- MFC用CSocket写简易聊天软件
- leetcode 48. Rotate Image(矩阵旋转)
- JSON入门与实战详解 —— JavaScript、Java与JSON互转
- Jackson实现Object对象与Json字符串的互转
- 什么时候可以将神经网络的参数全部初始化为0?
- scan函数函数用法详解
- cocos2d-x android set up error
- solr:关于dismax的使用情况(转:https://my.oschina.net/momohuang/blog/145379)
- Java & json
- 爬取前程无忧python工程师记录一
- 错误日志的收集(ACRA的使用教程)
- Linux--RH134---unit 2 控制对文件的访问
- MySQL数据库基础与安装