你需要了解的六種神經(jīng)網(wǎng)絡(luò)
譯文【51CTO.com快譯】神經(jīng)網(wǎng)絡(luò)如今在人工智能領(lǐng)域中已經(jīng)變得非常流行,但是很多人對它們?nèi)匀蝗狈α私?。首先,很多人識別不清各種類型的神經(jīng)網(wǎng)絡(luò)及其解決的問題,更不用說如何對它們進行區(qū)分了。其次,在某種程度上甚至更糟的是,人們在談?wù)撋窠?jīng)網(wǎng)絡(luò)時通常不加區(qū)分地使用“深度學(xué)習(xí)”這一術(shù)語。
以下將討論目前一些行業(yè)主流的神經(jīng)網(wǎng)絡(luò)架構(gòu),而人工智能行業(yè)人士應(yīng)該對這些架構(gòu)都非常熟悉:
1.前饋神經(jīng)網(wǎng)絡(luò)
這是一種最基本的神經(jīng)網(wǎng)絡(luò)類型,得益于技術(shù)的進步和發(fā)展,開發(fā)人員可以添加更多的隱藏層,而不必太擔心其計算時間過長。而在深度學(xué)習(xí)技術(shù)的“教父”Geoff Hinton在1990年推出了反向傳播算法之后,前饋神經(jīng)網(wǎng)絡(luò)開始得到廣泛應(yīng)用。
這種類型的神經(jīng)網(wǎng)絡(luò)基本上由一個輸入層、多個隱藏層和一個輸出層組成。其運行沒有循環(huán),信息只能向前流動。前饋神經(jīng)網(wǎng)絡(luò)通常適用于數(shù)值數(shù)據(jù)的監(jiān)督學(xué)習(xí),但也存在一些缺點:
- 不能與順序數(shù)據(jù)一起使用;
- 不能很好地處理圖像數(shù)據(jù),因為其模型的性能嚴重依賴于特征,而人工查找圖像或文本數(shù)據(jù)的特征本身是一項相當困難的工作。
于是行業(yè)廠商又相繼開發(fā)了卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)。
2.卷積神經(jīng)網(wǎng)絡(luò)(CNN)
在卷積神經(jīng)網(wǎng)絡(luò)(CNN)普及之前,人們采用很多算法對圖像分類。人們過去常常根據(jù)圖像創(chuàng)建特征,然后將這些特征輸入到諸如支持向量機(SVM)之類的分類算法中。一些算法也將圖像的像素水平值作為特征向量。例如,用戶可以訓(xùn)練具有784個特征的支持向量機(SVM),其中每個特征都是28×28的圖像像素值。
那么,為什么要使用卷積神經(jīng)網(wǎng)絡(luò)(CNN),為什么其效果要好得多?因為可以將卷積神經(jīng)網(wǎng)絡(luò)(CNN)視為圖像的自動特征提取器。如果用戶使用帶有像素矢量的算法,則會丟失很多像素之間的空間交互關(guān)系,而卷積神經(jīng)網(wǎng)絡(luò)(CNN)會有效地使用相鄰像素信息,首先通過卷積有效地對圖像進行下采樣,然后在最后使用預(yù)測層。
人工智能科學(xué)家Yann le cun在1998年首次提出了用于數(shù)字分類的這一概念,他使用一個卷積層來預(yù)測數(shù)字。后來在2012年被Alexnet推廣,它使用多個卷積層在Imagenet上實現(xiàn)了更先進的預(yù)測。因此,從而使其成為圖像分類的首選算法。
隨著時間的推移,神經(jīng)網(wǎng)絡(luò)這個特定領(lǐng)域取得了各種進展,研究人員為卷積神經(jīng)網(wǎng)絡(luò)(CNN)開發(fā)了各種架構(gòu),例如VGG、Resnet、Inception、Xception等,這些架構(gòu)不斷地推動了圖像分類的發(fā)展。
相比之下,卷積神經(jīng)網(wǎng)絡(luò)(CNN)也用于對象檢測,這可能是一個問題,因為除了對圖像進行分類之外,人們還希望檢測圖像中各個對象周圍的邊界框。在過去,研究人員采用許多架構(gòu)(例如YOLO、RetinaNet、Faster RCNN等)以解決目標檢測問題,所有這些架構(gòu)都使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為其架構(gòu)的一部分。
3.遞歸神經(jīng)網(wǎng)絡(luò)(LSTM/GRU /注意力)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)主要針對圖像的含義進行分類,遞歸神經(jīng)網(wǎng)絡(luò)(RNN)主要針對文本的含義分類。遞歸神經(jīng)網(wǎng)絡(luò)(RNN)可以幫助人們學(xué)習(xí)文本的順序結(jié)構(gòu),其中每個單詞都取決于前一個單詞或前一個句子中的一個單詞。
為了簡單地解釋遞歸神經(jīng)網(wǎng)絡(luò)(RNN),可以將其中看作一個黑盒,將一個隱藏狀態(tài)(一個向量)和一個單詞向量作為輸入,并輸出一個輸出向量和下一個隱藏狀態(tài)。這個黑盒具有一些權(quán)重,需要使用損耗的反向傳播進行調(diào)整。同樣,將相同的單元格應(yīng)用于所有單詞,以便在句子中的單詞之間共享權(quán)重。這種現(xiàn)象稱為權(quán)重共享。
以下是同一個遞歸神經(jīng)網(wǎng)絡(luò)(RNN)單元的擴展版本,其中每個遞歸神經(jīng)網(wǎng)絡(luò)(RNN)單元在每個單詞“令牌”上運行(令牌是服務(wù)端生成的一串字符串,作為客戶端進行請求的一個標識),并將隱藏狀態(tài)傳遞給下一個單元。對于長度為4的序列(例如“the quick brown fox”), 遞歸神經(jīng)網(wǎng)絡(luò)(RNN)單元最終給出4個輸出向量,可以將它們連接起來,然后用作密集前饋神經(jīng)架構(gòu)的一部分,如下圖所示,以解決最終任務(wù)語言建?;蚍诸惾蝿?wù):
長短期記憶網(wǎng)絡(luò)(LSTM)和門控制循環(huán)單元(GRU)是遞歸神經(jīng)網(wǎng)絡(luò)(RNN)的子類,它們通過引入不同的門來增加時間記憶信息(也稱為消失梯度問題),這些門通過添加或刪除信息來調(diào)節(jié)神經(jīng)元狀態(tài)。
從更高的層面來看,可以將LSTM/GRU理解為遞歸神經(jīng)網(wǎng)絡(luò)(RNN)單元的一種用法,以了解長期依賴性。RNN/LSTM/GRU主要用于各種語言建模任務(wù),這些任務(wù)的目標是在給定輸入單詞流的情況下預(yù)測下一個單詞,或用于具有順序模式的任務(wù)。
接下來要提到的是基于關(guān)注的模型,但是在這里只討論直覺。在過去,傳統(tǒng)的文本特征提取方法如TFIDF/CountVectorizer等都是通過提取關(guān)鍵字來實現(xiàn)的。有些詞語比其他詞語更有助于確定文本的類別。然而,在這種方法中,有點失去了文本的順序結(jié)構(gòu)。使用LSTM和深度學(xué)習(xí)方法,可以處理序列結(jié)構(gòu),但是失去了賦予更重要的詞語更高權(quán)重的能力。
那么能兩全其美嗎?答案是肯定的。事實上,關(guān)注就是用戶所需要的。正好專家所說:“并不是所有的詞語都能平等地表達句子的意思。因此,我們引入一種關(guān)注機制來提取對句子含義更重要的詞語,并匯總這些信息性單詞表達的含義形成句子向量。”
4. Transformers
Transformers已經(jīng)成為實施任何一個自然語言處理(NLP)任務(wù)的實際標準,最近推出的GPT-3 Transformers是迄今為止規(guī)模最大的一個神經(jīng)網(wǎng)絡(luò)。
在過去,LSTM和GRU架構(gòu)以及關(guān)注機制曾經(jīng)是解決語言建模問題和翻譯系統(tǒng)的最先進方法。這些架構(gòu)的主要問題是它們本質(zhì)上是遞歸的,并且運行時間隨著序列長度的增加而增加。也就是說,這些架構(gòu)采用一個句子并以順序的方式處理每個單詞,因此當句子長度增加時,其整體運行時間也會增加。
Transformer是基于關(guān)注模型的架構(gòu)。Transformer完全依賴于一種關(guān)注機制來繪制輸入和輸出之間的全局依賴關(guān)系。這使得它可以更快、更準確地成為解決自然語言處理(NLP)領(lǐng)域中各種問題的首選架構(gòu)。
5.生成對抗網(wǎng)絡(luò)(GAN)
近年來,在數(shù)據(jù)科學(xué)領(lǐng)域中看到了一些人工智能系統(tǒng)偽造的人臉圖像,無論是在論文、博客還是視頻中?,F(xiàn)在已經(jīng)到了一個難以區(qū)分實際的人臉和由人工智能生成的人臉的階段。而所有這些圖像都是通過生成對抗網(wǎng)絡(luò)(GAN)實現(xiàn)的。生成對抗網(wǎng)絡(luò)(GAN)很有可能改變?nèi)藗冎谱饕曨l游戲和特效的方式。使用這種方法,可以按需創(chuàng)建逼真的紋理或角色,從而帶來了無限的可能性。
生成對抗網(wǎng)絡(luò)(GAN)通常使用兩個對抗神經(jīng)網(wǎng)絡(luò)來訓(xùn)練計算機,以充分了解數(shù)據(jù)集的性質(zhì),并生成足以亂真的偽造圖像。其中一個神經(jīng)網(wǎng)絡(luò)生成偽造圖像(生成器),另一個嘗試對哪些偽造圖像進行分類(鑒別器)。通過相互對抗和競爭,這兩個神經(jīng)網(wǎng)絡(luò)的功能和性能會隨著時間的推移而不斷改進。
人們可以將“生成器”想象成小偷,將“鑒別器”想象成警察。小偷偷竊的次數(shù)越多,其手段越高明。與此同時在這一過程中,警察也越來越善于抓小偷。
這兩個神經(jīng)網(wǎng)絡(luò)中的損失主要取決于另一個網(wǎng)絡(luò)的性能:
- 鑒別器的網(wǎng)絡(luò)損失是生成器網(wǎng)絡(luò)質(zhì)量的函數(shù):如果鑒別器被生成器的虛假圖像所欺騙,則損失率很高。
- 生成器的網(wǎng)絡(luò)損失是鑒別器網(wǎng)絡(luò)質(zhì)量的函數(shù):如果生成器無法欺騙鑒別器,則損失率很高。
在訓(xùn)練階段,將依次訓(xùn)練鑒別器神經(jīng)網(wǎng)絡(luò)和發(fā)生器神經(jīng)網(wǎng)絡(luò),以期提高這兩者的性能。其最終目標是獲得權(quán)重,以幫助生成器創(chuàng)建逼真的圖像。使用者可以將使用生成器神經(jīng)網(wǎng)絡(luò)從隨機噪聲生成高質(zhì)量的偽造圖像。
6.自編碼器
自編碼器是一種深度學(xué)習(xí)函數(shù),可以近似表示從X到X的映射,即輸入=輸出。它們首先將輸入要素壓縮為低維表示形式,然后從該表示形式重構(gòu)輸出。
在很多情況下,這種表示向量可以作為模型特征,因此可以用于降維。
自編碼器也用于異常檢測,在這種情況下,可以嘗試使用自編碼器來重建示例,如果重建損失率過高,則可以預(yù)測該示例是異常的。
結(jié)論
神經(jīng)網(wǎng)絡(luò)本質(zhì)上是有史以來最偉大的模型之一,它們可以很好地概括人們所能想到的大多數(shù)建模用例。如今,這些不同種類和版本的神經(jīng)網(wǎng)絡(luò)正被用于解決醫(yī)療、金融和汽車行業(yè)等領(lǐng)域面臨的各種重要問題,同時也被蘋果、谷歌和Facebook這樣的科技公司用來提供推薦和幫助搜索查詢。例如,谷歌公司使用BERT(一種基于Transformers的模型)為其搜索查詢提供幫助。
原文標題:Types of Neural Networks You Need To Know About,作者:Kevin Vu
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】