课程中的思考题--请老师帮忙修改指导一下
来源:10-33 GPT与Bert与课程总结
jandy_chen
2020-03-25
1、为什么需要目标函数?
答: 目标函数是为了帮助衡量模型的好坏,也可以理解成评价效果。 针对分类问题比较好的指标F1-score,针对回归问题比较好的指标是R方。
补充咨询,对于神经网络中,的反向传播来说,是不是通过在训练的过程中,不断根据目标函数的值来,更新参数值。而目标函数值的求解通常通过梯度下降法??
2、为什么需要激活函数呢?
答:在老师另一个基础课程中提到:全连接相当于矩阵W,多个神经网络层次,相当于多个矩阵相乘(矩阵相乘具有合并行性),不使用非线性函数,而使用线性函数时造成的后果是,即便是很深层次的神经网络也是个一单层神经网络。非线性才不会发生这个情况。
是不是可以理解:目前所有的激活函数都是非线性的?也没有人会使用线性的激活函数。
还是不太能理解激活函数在有一个神经元的作用是什么? 通常最简单神经元:y= w*x+b ,主要在训练过程中计算求解权重系数w和偏差b,而对于像逻辑回归中:通过sigmoid激活函数,求解分布在0-1之间概率值还好理解,但是神经网络中这里激活函数,怎么理解呢?比如基础课程中,提到可以给深层网络不会扁平成一层,具体如何作用了,矩阵计算公式可否列一下关键的?
3、dropout为什么有效??
答:这个好理解。就是防止参数过分依赖训练数据,增加参数对数据集的泛化能力。
4、selu的实现机制?
答: 这个我找不到,很好理解的解说。
只知:引进了自归一化属性,该单元主要使用一个函数 g 映射前后两层神经网络的均值和方差以达到归一化的效果。
但是这个激活函数,发现跟elu了线一样??
5、alphaDropout实现机制?
答: 这个也不懂, alphaDropout 是不是特指配合 selu使用的?
6、LSTM 调参思考为什么有效果:stateful = True,recurrent_initializer = ‘glorot_uniform’??
答:stateful = True,即为有状态的,
stateful:Boolean(默认为False)。 如果为True,则批次中索引i处的每个样本的最后状态将用作后续批次中索引i的样本的初始状态。 我看课程实战是文本生成时的调参,感觉是为上下文关系关联好?
recurrent_initializer 官方解释为:为递归初始值设定项,recurrent_kernel权重矩阵的初始化程序,用于递归状态的线性转换。不是太能理解? glorot_uniform 值什么含义?
1回答
-
同学你好,你的学习态度很认真,我之所以迟迟没有给出答案来,就是想让大家多思考。你有相当好的主观能动性。
我先回答其中几个:
是的,根据目标函数调整参数。
对,神经网络的激活函数必须是非线性,不然多层跟单层没有区别。一个神经元的神经网络你可以理解成为一个分类器,>0 为一类, <0是一类。如果是二维输入就是一条线,如果是三维输入就是一个平面,依次类推。
关于dropout的作用我有一片博客说了多种理解,你可以参考:https://blog.csdn.net/stdcoutzyx/article/details/49022443
4和5我还需要再总结一下,
6. stateful = true,是上一个batch的状态作为下一个batch的初始值。如果你的数据在安排上上一个batch和下一个batch对应的样本是连续的话,那么可以让模型学习到长样本的规律。recurrent_initializer的含义可以参考https://coding.imooc.com/learn/questiondetail/159247.html
glorot_uniform是一种初始化方法, 基于均匀分布:https://www.tensorflow.org/api_docs/python/tf/compat/v1/keras/initializers/glorot_uniform
132020-03-31
相似问题
回答 1
回答 3