dropout層

tf.nn.dropout是TensorFlow裏面爲了防止或減輕過擬合而使用的函數,它一般用在全連接層。

tf.nn.dropout(x, keep_prob, noise_shape=None, seed=None, name=None) 
上面方法中常用的是前兩個參數:
第一個參數x:指輸入
第二個參數keep_prob: 設置神經元被選中的概率,在初始化時keep_prob是一個佔位符,  keep_prob = tf.placeholder(tf.float32) 。tensorflow在run時設置keep_prob具體的值,例如keep_prob: 0.5
https://blog.csdn.net/huahuazhu/article/details/73649389

Dropout:
torch.nn.Dropout(0.5)
https://morvanzhou.github.io/tutorials/machine-learning/torch/5-03-dropout/

可以加在卷積層和全連接層的後面,但多見於放在fc 層後面, 用來防止過擬合
https://www.zhihu.com/question/269387326

個人感覺除非是大型網絡,才採用dropout,不然我感覺自己在一些小型網絡上,訓練好像很是不爽。之前搞一個比較小的網絡,搞人臉特徵點定位的時候,因爲訓練數據不夠,怕過擬合,於是就採用dropout,最後感覺好像訓練速度好慢,從此就對dropout有了偏見,感覺訓練過程一直在波動,很是不爽。
https://blog.csdn.net/hjimce/article/details/50413257

Dropout的改進
maxout和DropConnect 提高Deep Network的泛化能力的
https://www.cnblogs.com/tornadomeet/p/3430312.html
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章