最近写model出现了一些NAN的问题,总结一下
1.我用的GAN网络做推荐,G model 中的pred需要用
self.prob = tf.clip_by_value(tf.nn.sigmoid(self.score), 1e-5, 1)处理一下,不然score可能为0,在cross_entropy与policy gradient中log(score)->log(0)->无穷大,导致NAN
2.网络的feed_dict如果一不小心为空,也会导致NAN
3.梯度爆炸问题:(1)减小lr (2)减小batch_size (3)数据归一化(加入normalization,例如BN、L2 norm等)(4)加入gradient clipping
4.还有一种原因:比秒脏数据导致 log(score)->log(0)->无穷大
5.加入gradient clipping
6.加入gradient clipping;