> Source: Pixabay
https://m.toutiaocdn.com/i6844253477867094536/?app=news_article×tamp=1593622830&use_new_style=1&req_id=20200702010030010129034197155540F9&group_id=6844253477867094536
隨著深度學(xué)習(xí)的飛速發(fā)展,已經(jīng)創(chuàng)建了完整的神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)主機,以解決各種各樣的任務(wù)和問題。 盡管有無數(shù)的神經(jīng)網(wǎng)絡(luò)架構(gòu),但對于任何深度學(xué)習(xí)工程師來說,這里有11種必不可少的知識,它們分為四大類:標準網(wǎng)絡(luò),遞歸網(wǎng)絡(luò),卷積網(wǎng)絡(luò)和自動編碼器。
作者創(chuàng)建的所有圖。
感知器是所有神經(jīng)網(wǎng)絡(luò)中最基礎(chǔ)的,是更復(fù)雜的神經(jīng)網(wǎng)絡(luò)的基本構(gòu)建塊。 它僅連接輸入單元和輸出單元。
前饋網(wǎng)絡(luò)是感知器的集合,其中存在三種基本類型的層-輸入層,隱藏層和輸出層。 在每個連接期間,來自上一層的信號乘以權(quán)重,加到偏置上,并通過激活函數(shù)。 前饋網(wǎng)絡(luò)使用反向傳播來迭代更新參數(shù),直到達到理想的性能為止。
深度前饋神經(jīng)網(wǎng)絡(luò)的一個問題稱為消失梯度問題,即當(dāng)網(wǎng)絡(luò)太長而無法在整個網(wǎng)絡(luò)中反向傳播有用信息時。 隨著更新參數(shù)的信號通過網(wǎng)絡(luò)傳播,它逐漸減小,直到網(wǎng)絡(luò)前端的權(quán)重完全沒有改變或被利用為止。
為了解決這個問題,殘差網(wǎng)絡(luò)采用了跳過連接,可以跨'跳躍的'層傳播信號。 通過使用不太容易受到影響的連接,可以減少消失的梯度問題。 隨著時間的流逝,網(wǎng)絡(luò)在學(xué)習(xí)特征空間時會學(xué)習(xí)恢復(fù)跳過的圖層,但由于其不易受到梯度消失的影響并且需要探索較少的特征空間,因此訓(xùn)練效率更高。
遞歸神經(jīng)網(wǎng)絡(luò)是一種特殊類型的網(wǎng)絡(luò),它包含循環(huán)并在其自身上遞歸,因此稱為'遞歸'。 RNN允許將信息存儲在網(wǎng)絡(luò)中,使用先前訓(xùn)練中的推理來做出有關(guān)即將發(fā)生的事件的更好,更明智的決策。 為此,它將先前的預(yù)測用作'上下文信號'。 由于其性質(zhì),RNN通常用于處理順序任務(wù),例如逐個字母生成文本或預(yù)測時間序列數(shù)據(jù)(例如股票價格)。 他們還可以處理任何大小的輸入。
> Two RNN visualization methods.
RNN存在問題,因為實際上上下文信息的范圍非常有限。 給定輸入對隱藏層(因此對網(wǎng)絡(luò)輸出)的影響(反向傳播錯誤),要么呈指數(shù)級爆發(fā),要么隨著繞網(wǎng)絡(luò)連接循環(huán)而消失為零。 解決這個逐漸消失的梯度問題的方法是使用長短期內(nèi)存網(wǎng)絡(luò)或LSTM。
這種RNN架構(gòu)是專門為解決消失的梯度問題而設(shè)計的,將結(jié)構(gòu)與存儲塊配合在一起。 這些模塊可以看作是計算機中的存儲芯片-每個模塊都包含幾個循環(huán)連接的存儲單元和三個門(輸入,輸出和忘記,相當(dāng)于寫入,讀取和重置)。 網(wǎng)絡(luò)只能通過每個門與單元交互,因此門學(xué)會了智能地打開和關(guān)閉,以防止梯度爆炸或消失,而且還可以通過'恒定錯誤輪播'傳播有用的信息,并丟棄無關(guān)的存儲內(nèi)容。
在標準RNN無法得知輸入事件與目標信號之間存在大于五到十個時間步長的時滯的情況下,LSTM不會受到影響,并且可以通過強制執(zhí)行有用的恒定錯誤流來學(xué)習(xí)將時滯甚至連成1,000個時步。
回聲狀態(tài)網(wǎng)絡(luò)是遞歸神經(jīng)網(wǎng)絡(luò)的一種變體,具有非常稀疏的隱藏層(通常為百分之一的連接性)。 神經(jīng)元的連通性和權(quán)重是隨機分配的,并且忽略層和神經(jīng)元的差異(跳過連接)。 學(xué)習(xí)輸出神經(jīng)元的權(quán)重,以便網(wǎng)絡(luò)可以產(chǎn)生和再現(xiàn)特定的時間模式。 該網(wǎng)絡(luò)背后的理由來自這樣一個事實:盡管它是非線性的,但訓(xùn)練過程中唯一修改的權(quán)重是突觸連接,因此可以將誤差函數(shù)區(qū)分為線性系統(tǒng)。
圖像具有很高的維數(shù),因此訓(xùn)練一個標準的前饋網(wǎng)絡(luò)來識別圖像將需要成千上萬的輸入神經(jīng)元,除了公然高昂的計算費用外,還可能引起許多與神經(jīng)網(wǎng)絡(luò)的維數(shù)詛咒相關(guān)的問題 。 卷積神經(jīng)網(wǎng)絡(luò)(CNN)通過使用卷積層和池化層來幫助降低圖像的維數(shù),從而提供了解決方案。 由于卷積層是可訓(xùn)練的,但是比標準隱藏層具有更少的參數(shù),因此它能夠突出顯示圖像的重要部分并將它們向前傳遞。 傳統(tǒng)上,在CNN中,最后幾層是隱藏層,用于處理'壓縮圖像信息'。
卷積神經(jīng)網(wǎng)絡(luò)在基于圖像的任務(wù)上表現(xiàn)出色,例如將圖像分類為狗或貓。
顧名思義,反卷積神經(jīng)網(wǎng)絡(luò)的作用與卷積神經(jīng)網(wǎng)絡(luò)相反。 DNN不是執(zhí)行卷積來減小圖像的維數(shù),而是利用反卷積來創(chuàng)建圖像,通常是根據(jù)噪聲來進行的。 這是一項固有的艱巨任務(wù)。 考慮CNN的任務(wù)是為奧威爾(Orwell)1984年的整本書寫一個三句摘要,而DNN的任務(wù)是從三句結(jié)構(gòu)寫整個本書。
生成對抗網(wǎng)絡(luò)是一種專門設(shè)計用于生成圖像的特殊類型的網(wǎng)絡(luò),它由兩個網(wǎng)絡(luò)(一個鑒別器和一個生成器)組成。 區(qū)分者的任務(wù)是區(qū)分是從數(shù)據(jù)集中提取圖像還是由生成器生成圖像,而生成者的任務(wù)是生成足夠有說服力的圖像,以使區(qū)分器無法區(qū)分其是否真實。
隨著時間的流逝,經(jīng)過精心的監(jiān)管,這兩個對手彼此競爭,互相推動,成功地改善了彼此。 最終結(jié)果是訓(xùn)練有素的生成器,可以吐出逼真的圖像。 鑒別器是一個卷積神經(jīng)網(wǎng)絡(luò),其目的是最大程度地提高識別真實/偽造圖像的準確性,而生成器是一個反卷積神經(jīng)網(wǎng)絡(luò),其目的是最小化鑒別器的性能。
> Generator diagram.
自動編碼器的基本思想是獲取原始的高維數(shù)據(jù),將其'壓縮'為高度信息化的低維數(shù)據(jù),然后將壓縮后的形式投影到新的空間中。 自動編碼器有許多應(yīng)用,包括降維,圖像壓縮,去噪數(shù)據(jù),特征提取,圖像生成和推薦系統(tǒng)。 它既可以作為無監(jiān)督方法也可以作為有監(jiān)督方法,可以非常洞悉數(shù)據(jù)的性質(zhì)。
隱藏的單元可以用卷積層替換以適應(yīng)處理圖像。
自動編碼器學(xué)習(xí)輸入的壓縮表示形式,例如可以是圖像或文本序列,方法是壓縮輸入然后將其解壓縮以匹配原始輸入,而變分自動編碼器(VAE)學(xué)習(xí)概率分布的參數(shù) 代表數(shù)據(jù)。 它不僅僅是學(xué)習(xí)表示數(shù)據(jù)的函數(shù),還獲得了更詳細,細致的數(shù)據(jù)視圖,從分布中采樣并生成新的輸入數(shù)據(jù)樣本。 從這個意義上講,它更像是一種純粹的'生成'模型,例如GAN。
VAE使用概率隱藏單元格,該單元格將徑向基函數(shù)應(yīng)用于測試用例與單元格均值之間的差異。
(本文翻譯自Andre Ye的文章《11 Essential Neural Network Architectures, Visualized & Explained》,參考:https://towardsdatascience.com/11-essential-neural-network-architectures-visualized-explained-7fc7da3486d8)
聯(lián)系客服