2019-08-15 初始化函数的重要性

实验了一下AutoInt模型,其实在看到论文之前就有类似的想法,但是效果不好(auc很低,大概只有0.6),没有继续尝试。在看到论文后,发现和之前的想法一致,于是又重新实现了一遍,但是效果还是很差。

这次打算仔细研究一下,就调整了一下初始化函数,之前的初始化是用的标准的正态初始化,现在换成了glorot_normal_initializer,结果一下变好了。

这里推测是因为使用普通的dnn模型时,最后一层的单元数一般都比较少,而使用attention时,由于最后一层的向量维度是特征数*特征维度,一般都会很高,如果只是用普通的正则,那么加和出来的logits就会很大,很难进行优化。如果使用glorot_normal,会根据前一层的特征数决定权重初始化的范围,会使logits落在更合理的范围,更容易优化。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。