- 是否可以將所有權(quán)重初始化為相同的值,只要使用He初始化隨機(jī)選擇該值?
不,所有權(quán)重都應(yīng)獨(dú)立采樣;它們不應(yīng)該都具有相同的初始值。隨機(jī)抽樣權(quán)重的一個(gè)重要目的是打破對(duì)稱性:
如果所有權(quán)重具有相同的初始值,即使該值不為零,那么對(duì)稱性不會(huì)被破壞(即,給定層中的所有神經(jīng)元都是等價(jià)的),并且反向傳播也將無法打破它。
具體地說,這意味著任何給定層中的所有神經(jīng)元將始終具有相同的權(quán)重。這就像每層只有一個(gè)神經(jīng)元,而且要慢得多。這種配置幾乎不可能收斂到一個(gè)好的解決方案。
將偏差項(xiàng)初始化為0可以嗎?
將偏置項(xiàng)初始化為零是完全正確的。有些人喜歡像權(quán)重一樣初始化它們,這也沒關(guān)系; 它沒有太大的區(qū)別。說明ELU激活功能優(yōu)于ReLU的三個(gè)優(yōu)點(diǎn)。
ELU功能優(yōu)于ReLU功能的一些優(yōu)點(diǎn)是:
它可以采用負(fù)值,因此任何給定層中神經(jīng)元的平均輸出通常比使用ReLU激活函數(shù)(從不輸出負(fù)值)時(shí)更接近0。 這有助于緩解梯度消失問題。
它總是具有非零導(dǎo)數(shù),這避免了可能影響ReLU單位的死亡單位問題。
它在任何地方都很平滑,而ReLU的斜率在z = 0時(shí)突然從0跳到1.這種突然的變化會(huì)減慢梯度下降,因?yàn)樗鼤?huì)在z = 0附近反彈。
- 在哪種情況下,你希望使用以下每個(gè)激活函數(shù):
ELU,leaky ReLU(及其變體),ReLU,tanh,logistic和softmax?
ELU激活函數(shù)是一個(gè)很好的默認(rèn)值。
如果你需要盡可能快地使用神經(jīng)網(wǎng)絡(luò),則可以使用其中一個(gè)變體 leaky ReLU
(例如,使用默認(rèn)超參數(shù)值的簡(jiǎn)單 leaky ReLU)。ReLU激活函數(shù)的簡(jiǎn)單性使其成為許多人的首選選項(xiàng),盡管它們通常優(yōu)于ELU和 leaky ReLU。但是,在某些情況下,ReLU激活功能輸出精確為零的能力可能很有用(例如,參見第15章)。
如果你需要輸出介于
和
之間的數(shù)字,則雙曲正切(tanh)在輸出層中很有用,但現(xiàn)在它在隱藏層中使用的次數(shù)不多。
當(dāng)你需要估計(jì)概率時(shí),邏輯激活函數(shù)在輸出層中也很有用(例如,對(duì)于二元分類),但它也很少用于隱藏層(有例外 ——例如,對(duì)于變分自動(dòng)編碼器的編碼層;參見第15章)。
最后,softmax激活函數(shù)在輸出層中用于輸出互斥類的概率,但除此之外,很少(如果曾經(jīng))在隱藏層中使用它。
- 如果在使用MomentumOptimizer時(shí)將動(dòng)量超參數(shù)設(shè)置得太接近1(例如,0.99999)會(huì)發(fā)生什么?
如果你在使用MomentumOptimizer時(shí),將動(dòng)量超參數(shù)設(shè)置得太接近1(例如,0.99999),
然后算法可能會(huì)獲得很大的速度,希望大致達(dá)到全局最小值,但由于它的動(dòng)量,它將會(huì)在最小值之后超調(diào)。 然后它會(huì)減速然后回來,再次加速,再次超調(diào),等等。
在收斂之前它可能會(huì)以這種方式振蕩很多次,因此總體而言,收斂所需的時(shí)間要比使用較小的動(dòng)量值要長(zhǎng)得多。
- 列舉三種可以生成稀疏模型的方法。
產(chǎn)生稀疏模型(即,大多數(shù)權(quán)重等于零)的
一種方法是正常訓(xùn)練模型,然后將微小的權(quán)重歸零。
為了更加稀疏,你可以在訓(xùn)練期間應(yīng)用
正則化,從而將優(yōu)化器推向稀疏性。
第三種選擇是使用TensorFlow的FTRLOptimizer類將
正則化與雙重平均 -dual averaging相結(jié)合。
- dropout 是否會(huì)減緩訓(xùn)練?它是否會(huì)減慢推理速度(即對(duì)新實(shí)例進(jìn)行預(yù)測(cè))?
是的,dropout 確實(shí)會(huì)減慢訓(xùn)練速度,一般大約是兩倍。
但是,它對(duì)推理沒有影響,因?yàn)樗?strong>僅在訓(xùn)練期間打開。