DL&ML基礎學習一

神經網絡中常用的激活函數sigmoid,tanh等,第一次聽到sigmoid函數是在邏輯迴歸的部分,實際從該角度看神經網絡是高級的分類模型,而邏輯迴歸也是爲了分類目標,他們可以使用相同的loss function,而神經網絡則是即爲靈活的模型,模型自身結構可以變化,參數設定可以變,單元之間的機制可以改變,使用的激活函數、損失函數可以變化等等。激活函數是爲了引入非線性性質,進行非線性分類。sigmoid函數種輸出範圍[0-1],不容易發散而無法收斂,而且輸出可以作爲概率的表示,同時容易求導。但是sigmoid函數容易飽和,飽和意思是他的導數不再變化,當自變量z趨於極小或極大時導致sigmoid值趨於0或1,同時其導數趨於0,且變化很小,而使用例如差平方函數作爲loss function則更新w權值的式子中含有sigmoid函數的導數,而導數不再變化帶來的結果是w更新幅度很小,從而導致參數更新效率降低,訓練時間變長。

激活函數softmax函數,對應多分類問題,共有k個類別,輸出一個k維向量,每一維表示是這個類別的概率。式子中除以所有概率和,是爲了歸一化,是的k維向量,每一維的數字在(0,1)之間,且和爲1。在判斷到底是屬於哪一類時,只需取輸出的向量中,概率最大的那一維所對應的類別即可。

機器學習中指的歸一化對輸入數據的歸一化,能夠加快求解速度和精確度。最常用的例子是在遞歸下降過程中的路線,未歸一化的路線明顯長於歸一化了的,代表求解速度。多使用線性歸一化函數、0均值標準化或非線性歸一化函數,主要目標在於把原始數據轉化爲某一個有限固定的數據區間,可能是0~1,或者均值爲0方差1的高斯分佈,應用場景不同。

最大熵模型maximum entropy model:熵用於表示系統狀態的不確定性或混亂程度,熵越大則越混亂,隨機變量不確定性越大,而此時概率分佈最均勻。在滿足已知約束條件之下,使得熵達到最大即最大熵模型。或者說,對一個隨機事件的概率分佈進行預測時,預測應當滿足全部已知的約束,而對未知的情況不要做任何主觀假設。在這種情況下,概率分佈最均勻,預測的風險最小,因此得到的概率分佈的熵是最大,而考慮約束則需要引入拉格朗日算子將有約束的最優化問題轉化爲無約束的最優化問題。最大熵模型是用來對隨機變量出現的概率分佈進行預測的模型,預測概率分佈就是計算每個隨機變量出現的概率多少,前提是需要滿足某些約束條件。

RNN的長時記憶失效問題來源於梯度消失,而梯度消失起因於多元函數求偏導的鏈式法則的乘法規則導致多個值小於1的項相乘結果接近於0,而這個結果卻影響着參數的更新導致參數基本不再更新。既然有問題則一定有解決方法,一般是clip gradient或者LSTM等模型。梯度裁剪是指梯度一旦小到一定程度就直接將其設定爲指定梯度值,tensorflow支持這種clip_gradient方法而且在RNN中用的還很頻繁。LSTM用門gate的概念把這種乘法改成了加法來避免連乘帶來的累計效應,如果要想具體瞭解LSTM的設計緣由還得看原始論文。

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