神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)量要求 神經(jīng)網(wǎng)絡(luò)是大數(shù)據(jù)嗎?
神經(jīng)網(wǎng)絡(luò)是大數(shù)據(jù)嗎?神經(jīng)網(wǎng)絡(luò)不是大數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)是一種大數(shù)據(jù)處理方法。自2016年以來(lái),阿爾法犬以4:1奪得人類圍棋冠軍,以神經(jīng)網(wǎng)絡(luò)為代表的人工智能開始流行。神經(jīng)網(wǎng)絡(luò)(現(xiàn)在一般稱為人工神經(jīng)網(wǎng)絡(luò)),它是
神經(jīng)網(wǎng)絡(luò)是大數(shù)據(jù)嗎?
神經(jīng)網(wǎng)絡(luò)不是大數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)是一種大數(shù)據(jù)處理方法。
自2016年以來(lái),阿爾法犬以4:1奪得人類圍棋冠軍,以神經(jīng)網(wǎng)絡(luò)為代表的人工智能開始流行。神經(jīng)網(wǎng)絡(luò)(現(xiàn)在一般稱為人工神經(jīng)網(wǎng)絡(luò)),它是一種模擬動(dòng)物神經(jīng)網(wǎng)絡(luò)行為特征、分布式并行信息處理算法的數(shù)學(xué)模型。這種網(wǎng)絡(luò)依賴于系統(tǒng)的復(fù)雜性,通過(guò)調(diào)整大量?jī)?nèi)部節(jié)點(diǎn)之間的關(guān)系,從而達(dá)到處理信息的目的。
大數(shù)據(jù)和神經(jīng)網(wǎng)絡(luò)(以及其他人工智能)經(jīng)常一起討論,而且它們密切相關(guān)。正是因?yàn)橛写罅筷P(guān)于用戶行為的網(wǎng)絡(luò)大數(shù)據(jù),我們可以利用神經(jīng)網(wǎng)絡(luò)等方法對(duì)大數(shù)據(jù)進(jìn)行分析,從而模擬人類的行為,使計(jì)算機(jī)也能識(shí)別圖形、識(shí)別聲音、分析問(wèn)題、找到問(wèn)題的最優(yōu)解等。大數(shù)據(jù)的出現(xiàn)和興起,也帶動(dòng)了神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展。為了處理大量的搜索行為數(shù)據(jù),Google投入了大量的研究人員對(duì)人工神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化以提高效率,最終開發(fā)出alpha狗。阿里巴巴、百度等其他公司也在神經(jīng)網(wǎng)絡(luò)等人工智能技術(shù)領(lǐng)域投入了大量研究人員。
神經(jīng)網(wǎng)絡(luò)和大數(shù)據(jù)可以簡(jiǎn)單地分別與人的大腦和所見(jiàn)所聞進(jìn)行比較。神經(jīng)網(wǎng)絡(luò)是一種數(shù)據(jù)處理方法,它往往依賴于計(jì)算機(jī)程序;大數(shù)據(jù)是大量的客觀數(shù)據(jù)和信息,大數(shù)據(jù)不依賴于計(jì)算機(jī)程序,而是存儲(chǔ)在硬盤、云硬盤等物理設(shè)備中。
用同一數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò),每次訓(xùn)練結(jié)果不一樣,有時(shí)正確率很高,有時(shí)很低,為什么?
其實(shí)這個(gè)問(wèn)題的實(shí)質(zhì)是,如果我們用機(jī)器學(xué)習(xí)算法對(duì)數(shù)據(jù)集上的數(shù)據(jù)模型進(jìn)行一次訓(xùn)練,保存模型,然后用同樣的算法和同樣的數(shù)據(jù)集以及數(shù)據(jù)排序?qū)ζ溥M(jìn)行再次訓(xùn)練,那么第一個(gè)模型和第二個(gè)模型是一樣的嗎?
這可能是因?yàn)樯窠?jīng)網(wǎng)絡(luò)用增益或權(quán)重的隨機(jī)值初始化,然后每個(gè)模擬在訓(xùn)練階段有不同的起點(diǎn)。如果您希望始終保持相同的初始權(quán)重,可以嘗試為初始權(quán)重修復(fù)種子以消除問(wèn)題。
如果我們深入研究這個(gè)問(wèn)題,我們可以根據(jù)ml算法的“確定性”來(lái)對(duì)其進(jìn)行分類。當(dāng)從同一個(gè)數(shù)據(jù)集進(jìn)行訓(xùn)練時(shí):
一個(gè)是總是生成相同的模型,并且記錄以相同的順序呈現(xiàn);
另一個(gè)是總是生成不同的模型,并且記錄順序不同。
在實(shí)踐中,大多數(shù)是“不確定的”。模型變化的原因可能是機(jī)器學(xué)習(xí)算法本身存在隨機(jī)游走、不同權(quán)值的隨機(jī)初始化、不同分量的概率分布抽樣來(lái)分配優(yōu)化函數(shù)。
雖然模型的“不確定性”可能會(huì)對(duì)單個(gè)訓(xùn)練結(jié)果造成干擾,但我們也可以用“不確定性”來(lái)確認(rèn)模型的穩(wěn)定性,如決策樹、支持向量機(jī)(SVM)、神經(jīng)網(wǎng)絡(luò)等,最終可以通過(guò)多次迭代來(lái)確認(rèn)模型的穩(wěn)定性。
如何估算神經(jīng)網(wǎng)絡(luò)的最優(yōu)學(xué)習(xí)率?
。
具體來(lái)說(shuō),當(dāng)前主流的神經(jīng)網(wǎng)絡(luò)模型使用梯度下降算法進(jìn)行訓(xùn)練,或?qū)W習(xí)參數(shù)。學(xué)習(xí)速率決定權(quán)重在梯度方向上成批移動(dòng)的距離。理論上,學(xué)習(xí)率越高,神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速度越快。但是,如果學(xué)習(xí)速率過(guò)高,可能會(huì)“穿越”損失函數(shù)的最小值,導(dǎo)致收斂失敗。
上圖左邊是高學(xué)習(xí)率,右邊是低學(xué)習(xí)率,來(lái)源:mikkel Duif(quora)
那么,如何找到最佳學(xué)習(xí)率?
方法。但是,這種方法的初始學(xué)習(xí)率(上例中為0.1)不應(yīng)該太高。如果初始學(xué)習(xí)率太高,可能會(huì)“穿越”最優(yōu)值。
另外,還有另外一種思路,就是逆向操作,從學(xué)習(xí)率很低開始,每批之后再提高學(xué)習(xí)率。例如,從0.00001到0.0001,再到0.001,再到0.01,再到0.1。這個(gè)想法背后的直覺(jué)是,如果我們總是以很低的學(xué)習(xí)率學(xué)習(xí),我們總是可以學(xué)習(xí)到最好的權(quán)重(除非整個(gè)網(wǎng)絡(luò)架構(gòu)有問(wèn)題),但它將非常緩慢。因此,從一個(gè)很低的學(xué)習(xí)率開始,我們可以肯定地觀察到損失函數(shù)的下降。然后逐漸加大學(xué)習(xí)率,直到學(xué)習(xí)率過(guò)高,導(dǎo)致發(fā)散。該方法還避免了上述方法初始學(xué)習(xí)率過(guò)高,一次“穿越”最優(yōu)值的隱患。這是Leslie n.Smith在2015年的論文《訓(xùn)練神經(jīng)網(wǎng)絡(luò)的循環(huán)學(xué)習(xí)率》中提出的方法。