梯度下降存在卡在局部極小值中的問(wèn)題?梢允褂靡韵绿娲椒。以下是最初在此處發(fā)布的CrossValided建議答案的摘要。
圖片來(lái)源:這里
第一個(gè)答案
有許多優(yōu)化算法可對(duì)固定數(shù)量的相關(guān)實(shí)數(shù)進(jìn)行操作(不可分離)。我們可以將它們大致分為兩類:基于梯度的優(yōu)化器和無(wú)導(dǎo)數(shù)優(yōu)化器。通常,您要使用梯度在有監(jiān)督的設(shè)置中優(yōu)化神經(jīng)網(wǎng)絡(luò),因?yàn)樗葻o(wú)導(dǎo)數(shù)優(yōu)化快得多。有許多基于梯度的優(yōu)化算法已用于優(yōu)化神經(jīng)網(wǎng)絡(luò):
隨機(jī)梯度下降(SGD),小批量SGD,...:您不必評(píng)估整個(gè)訓(xùn)練集的梯度,而只需評(píng)估一個(gè)樣品或一小批樣品,通常比批梯度下降快得多。迷你批處理已用于平滑梯度并使前后傳播并行化。與許多其他算法相比,優(yōu)點(diǎn)是每次迭代都在O(n)中(n是您的NN中的權(quán)重?cái)?shù))。SGD通常是隨機(jī)的,因此不會(huì)陷入局部最小值(。
非線性共軛梯度:似乎在回歸中非常成功,O(n)需要批梯度(因此,對(duì)于大型數(shù)據(jù)集而言可能不是最佳選擇)
L-BFGS:分類似乎很成功,使用Hessian近似,需要批次梯度
Levenberg-Marquardt算法(LMA):實(shí)際上,這是我所知道的最佳優(yōu)化算法。它的缺點(diǎn)是其復(fù)雜度大約為O(n ^ 3)。不要將其用于大型網(wǎng)絡(luò)!
提出了許多其他用于神經(jīng)網(wǎng)絡(luò)優(yōu)化的算法,您可以使用Google進(jìn)行免費(fèi)的Hessian優(yōu)化或v-SGD(有許多類型的SGD具有自適應(yīng)學(xué)習(xí)率,請(qǐng)參見(jiàn)此處)。
NN的優(yōu)化不是一個(gè)解決的問(wèn)題!以我的經(jīng)驗(yàn),最大的挑戰(zhàn)不是找到一個(gè)好的本地最小值。但是,面臨的挑戰(zhàn)是擺脫非常平坦的區(qū)域,處理不良條件的誤差函數(shù)等。這就是為什么LMA和其他使用Hessian近似值的算法在實(shí)踐中通常能很好地工作并且人們嘗試開(kāi)發(fā)隨機(jī)版本的原因使用低復(fù)雜度的二階信息。但是,微批處理SGD經(jīng)常需要對(duì)參數(shù)集進(jìn)行很好的調(diào)整,比任何復(fù)雜的優(yōu)化算法都要好。
通常,您不想找到全局最優(yōu)值。因?yàn)槟峭ǔP枰^(guò)度擬合訓(xùn)練數(shù)據(jù)。
第二個(gè)答案
我知道這個(gè)線程已經(jīng)很老了,其他人在解釋局部極小值,過(guò)擬合等概念方面做得很出色。但是,由于OP正在尋找替代解決方案,因此我將盡自己的力量,并希望它能激發(fā)出更多有趣的想法。
想法是將每個(gè)權(quán)重w替換為w + t,其中t是遵循高斯分布的隨機(jī)數(shù)。這樣,網(wǎng)絡(luò)的最終輸出就是所有可能的t值的平均輸出。這可以通過(guò)分析來(lái)完成。然后,您可以使用梯度下降或LMA或其他優(yōu)化方法來(lái)優(yōu)化問(wèn)題。優(yōu)化完成后,您有兩個(gè)選擇。一種選擇是減少高斯分布中的sigma并一次又一次地進(jìn)行優(yōu)化,直到sigma達(dá)到0,然后您將獲得更好的局部最小值(但可能會(huì)導(dǎo)致過(guò)度擬合)。另一個(gè)選擇是繼續(xù)使用權(quán)重為隨機(jī)數(shù)的那個(gè),它通常具有更好的泛化屬性。
第一種方法是優(yōu)化技巧(我稱其為卷積隧道,因?yàn)樗褂脤?duì)參數(shù)的卷積來(lái)更改目標(biāo)函數(shù)),它使成本函數(shù)格局的表面變得平滑,并擺脫了一些局部最小值,因此使查找全局最小值(或更好的局部最小值)更加容易。
第二種方法與噪聲注入(權(quán)重)有關(guān)。注意,這是通過(guò)分析完成的,這意味著最終結(jié)果是一個(gè)單一的網(wǎng)絡(luò),而不是多個(gè)網(wǎng)絡(luò)。
以下是兩螺旋問(wèn)題的示例輸出。這三個(gè)網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)都是相同的:只有一個(gè)隱藏層,包含30個(gè)節(jié)點(diǎn),輸出層是線性的。使用的優(yōu)化算法是LMA。左圖為香草設(shè)置。中間是使用第一種方法(即將sigma重復(fù)減少為0);第三是使用sigma = 2。
三種方法的兩螺旋問(wèn)題的結(jié)果
您可以看到,最原始的解決方案是最差的,卷積隧穿效果更好,而噪聲注入(使用卷積隧穿)則最好(就泛化屬性而言)。
卷積隧穿和噪聲注入的解析方式都是我的初衷。也許他們是某人可能感興趣的選擇。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)我的論文《將無(wú)窮多個(gè)神經(jīng)網(wǎng)絡(luò)合并為一個(gè)》。警告:我不是專業(yè)的學(xué)術(shù)作家,論文未經(jīng)同行評(píng)審。如果您對(duì)我提到的方法有疑問(wèn),請(qǐng)發(fā)表評(píng)論。
第三個(gè)答案
當(dāng)涉及到全局優(yōu)化任務(wù)(即嘗試找到目標(biāo)函數(shù)的全局最小值)時(shí),您可能想看看:
模式搜索 (也稱為直接搜索,無(wú)導(dǎo)數(shù)搜索或黑盒搜索),它使用模式 來(lái)確定下次迭代時(shí)要搜索的點(diǎn)。
遺傳算法 ,使用突變,交叉和選擇的概念來(lái)定義要在優(yōu)化的下一次迭代中評(píng)估的點(diǎn)的數(shù)量。
粒子群優(yōu)化 定義了一組粒子,這些粒子“遍歷”空間以搜索最小值。
替代優(yōu)化 ,它使用替代模型來(lái)近似目標(biāo)函數(shù)。當(dāng)目標(biāo)函數(shù)的評(píng)估成本很高時(shí),可以使用此方法。
多目標(biāo)優(yōu)化 (也稱為帕累托優(yōu)化),可用于無(wú)法以單一目標(biāo)函數(shù)(而是目標(biāo)向量)形式表示的問(wèn)題。
模擬退火,它使用退火(或溫度)的概念來(lái)權(quán)衡勘探和開(kāi)發(fā)。它為每次迭代提出了新的評(píng)估點(diǎn),但是隨著迭代次數(shù)的增加,“溫度”下降,算法探索空間的可能性越來(lái)越小,從而“收斂”到當(dāng)前最佳候選位置。
如上所述,模擬退火,粒子群優(yōu)化和遺傳算法是很好的全局優(yōu)化算法,可以很好地在巨大的搜索空間中導(dǎo)航,與梯度下降不同,它不需要有關(guān)梯度的任何信息,可以成功地用于黑盒目標(biāo)函數(shù)和問(wèn)題需要運(yùn)行模擬。
關(guān)注 CDA人工智能學(xué)院 ,回復(fù)“錄播”獲取更多人工智能精選直播視頻!