神經網路中的退火是什麼概念?
01-11
看書看到了,但是不是很明白退火的定義。本人不是計算機專業的,所以各位解釋的盡量簡單點……
不知道神經網路里的退火是什麼,不知道和sa像不像,科普一下sa吧,不對勿噴qwq
sa(模擬退火)是一種啟發性演算法,用於尋找一個問題的最優解或較優解
引用經典的兔子。
有一些兔子想要找到世界上最高的地方爬山演算法(貪心):兔子們總往高處跑,一段時間後,兔子們到達了一個比較高的山峰模擬退火:兔子們喝醉了,滿世界亂跑,隨著兔子們的酒勁漸漸過去,兔子們想起了原本的目標,開始往高處跑,最終有一些兔子達到了比較高的山峰
用程序化語言描述的話,設當前狀態為x,估值函數為f(x)
爬山演算法:1、取下一個狀態y2、如果f(y)&>f(x),將當前狀態轉變為狀態y3、goto 1模擬退火:
1、設當前溫度為t2、取下一個狀態y3、如果f(y)&>f(x),將當前狀態轉變為狀態y,否則有exp((f(x)-f(y))/t)的概率接受(不接受就丟掉狀態y)4、t=t*c c是一個冷卻常數5、goto 2
簡單來說,就是
·溫度高時,比較大的概率接受一個較差的解·溫度低時,更傾向於接受局部最優解就醬
神經網路的退火演算法就是最優化裡面的模擬退火演算法。
神經網路的BP演算法用的是梯度下降法在權值空間裡面尋找一個最優解,但是梯度下降法會有局部最優解的情況。為了解決這個問題引入動量項或者模擬退火
其實相當多的最優化的技術已經用在了不同的神經網路訓練演算法裡面。擬牛頓法、共軛梯度法、廣義逆直接擬合(你要相信我沒有在黑ELM)、模擬退火、動量項、步長衰減、自適應步長(模擬的簡諧運動),好多方法都已經運用在實際裡面了。
不過,模擬退火一般不怎麼樣,誰知道呢,反正工業界是很少用的,工業界的主流還是步長衰減加動量項我講一下卷積神經網路中的應用,在MCDNN中用退火動向量進行優化,相較固定動向量有顯著提升。(MINST中)
推薦閱讀:
※人工智慧深度學習的不斷發展對地質學這樣的經驗學科的影響會有多少??
※為什麼神經網路在考慮梯度下降的時候,網路參數的初始值不能設定為全0,而是要採用隨機初始化思想?
※傳統的RCNN可以大致框出定位物體在圖片中的位置,但是如何將這個圖片中的位置轉化為物理世界的位置?
TAG:演算法 | 優化 | 神經網路 | 深度學習DeepLearning |