實(shí)驗(yàn)了一下AutoInt模型,其實(shí)在看到論文之前就有類似的想法,但是效果不好(auc很低,大概只有0.6),沒有繼續(xù)嘗試。在看到論文后,發(fā)現(xiàn)和之前的想法一致,于是又重新實(shí)現(xiàn)了一遍,但是效果還是很差。
這次打算仔細(xì)研究一下,就調(diào)整了一下初始化函數(shù),之前的初始化是用的標(biāo)準(zhǔn)的正態(tài)初始化,現(xiàn)在換成了glorot_normal_initializer,結(jié)果一下變好了。
這里推測(cè)是因?yàn)槭褂闷胀ǖ膁nn模型時(shí),最后一層的單元數(shù)一般都比較少,而使用attention時(shí),由于最后一層的向量維度是特征數(shù)*特征維度,一般都會(huì)很高,如果只是用普通的正則,那么加和出來的logits就會(huì)很大,很難進(jìn)行優(yōu)化。如果使用glorot_normal,會(huì)根據(jù)前一層的特征數(shù)決定權(quán)重初始化的范圍,會(huì)使logits落在更合理的范圍,更容易優(yōu)化。