利用循环神经网络生成唐诗_11种主要神经网络结构图解
圖文解讀主要的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
作者:Andre Ye編譯:McGL
公眾號:PyVision(歡迎關(guān)注,專注CV,偶爾CS)
11 Essential Neural Network Architectures, Visualized & Explained
https://towardsdatascience.com/11-essential-neural-network-architectures-visualized-explained-7fc7da3486d8
隨著深度學(xué)習(xí)的快速發(fā)展,人們創(chuàng)建了一整套神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來解決各種各樣的任務(wù)和問題。 盡管有無數(shù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),這里有十一種對于任何深度學(xué)習(xí)工程師來說都應(yīng)該理解的結(jié)構(gòu),可以分為四大類: 標(biāo)準(zhǔn)網(wǎng)絡(luò)、循環(huán)網(wǎng)絡(luò)、卷積網(wǎng)絡(luò)和自動編碼器。
標(biāo)準(zhǔn)網(wǎng)絡(luò)
1 | 感知器(Perceptron)
感知器是所有神經(jīng)網(wǎng)絡(luò)中最基本的,也是更復(fù)雜的神經(jīng)網(wǎng)絡(luò)的基本組成部分。 它只連接一個輸入神經(jīng)元和一個輸出神經(jīng)元。
2 | 前饋(Feed-Forward)網(wǎng)絡(luò)
前饋網(wǎng)絡(luò)是感知器的集合,其中有三種基本類型的層: 輸入層、隱藏層和輸出層。 在每個連接過程中,來自前一層的信號被乘以一個權(quán)重,增加一個偏置,然后通過一個激活函數(shù)。 前饋網(wǎng)絡(luò)使用反向傳播迭代更新參數(shù),直到達(dá)到理想的性能。
3 | 殘差網(wǎng)絡(luò)(Residual Networks/ResNet)
深層前饋神經(jīng)網(wǎng)絡(luò)的一個問題是所謂的梯度消失,即當(dāng)網(wǎng)絡(luò)太深時,有用的信息無法在整個網(wǎng)絡(luò)中反向傳播。 當(dāng)更新參數(shù)的信號通過網(wǎng)絡(luò)傳播時,它會逐漸減少,直到網(wǎng)絡(luò)前面部分的權(quán)重不再改變或者根本不再使用。
為了解決這個問題,殘差網(wǎng)絡(luò)使用跳過連接實現(xiàn)信號跨層傳播。 通過使用這種不易受到影響的連接來減少梯度消失問題。 隨著時間的推移,通過學(xué)習(xí)特征空間,網(wǎng)絡(luò)學(xué)會了重建跳過的層,但訓(xùn)練更有效,因為它的梯度不容易消失和需要探索更少的特征空間。
循環(huán)網(wǎng)絡(luò)
4 | 循環(huán)神經(jīng)網(wǎng)絡(luò) (Recurrent Neural Network/RNN)
循環(huán)神經(jīng)網(wǎng)絡(luò)是一種特殊類型的網(wǎng)絡(luò),它包含環(huán)和自重復(fù),因此被稱為“循環(huán)”。 由于允許信息存儲在網(wǎng)絡(luò)中,RNNs 使用以前訓(xùn)練中的推理來對即將到來的事件做出更好、更明智的決定。 為了做到這一點(diǎn),它使用以前的預(yù)測作為“上下文信號”。 由于其性質(zhì),RNNs 通常用于處理順序任務(wù),如逐字生成文本或預(yù)測時間序列數(shù)據(jù)(例如股票價格)。 它們還可以處理任意大小的輸入。
5 | 長短期記憶網(wǎng)絡(luò)(Long Short Term Memory Network/LSTM)
由于上下文信息的范圍在實踐中是非常有限的,所以 RNNs 有個大問題。 給定的輸入對隱藏層(即對網(wǎng)絡(luò)的輸出)輸入的影響(反向傳播誤差) ,要么指數(shù)級爆炸,要么網(wǎng)絡(luò)連接循環(huán)衰減為零。 解決這個梯度消失問題的方法是長短期記憶網(wǎng)絡(luò)(LSTM)。
這種 RNN 結(jié)構(gòu)是專門為解決梯度消失問題而設(shè)計的,結(jié)構(gòu)中加入了內(nèi)存塊。 這些模塊可以看作是計算機(jī)中的內(nèi)存芯片——每個模塊包含幾個循環(huán)連接的內(nèi)存單元和三個門(輸入、輸出和遺忘,相當(dāng)于寫入、讀取和重置)。 該網(wǎng)絡(luò)只能通過每個門與神經(jīng)元進(jìn)行互動,因此這些門學(xué)會智能地打開和關(guān)閉,以防止梯度爆炸或消失,但也通過“不斷錯誤傳送帶”傳播有用信息,以及丟棄不相關(guān)的內(nèi)存內(nèi)容。
標(biāo)準(zhǔn)的 RNNs 在輸入事件和目標(biāo)信號之間的時間滯后大于5到10個時間步長時無法學(xué)習(xí),LSTM 則不會受到影響,甚至連接時間滯后1,000個時間步長它都可以通過實施一個有用的常量誤差流來學(xué)習(xí)。
6 | 回聲狀態(tài)網(wǎng)絡(luò)(Echo State Networks/ESN)
回聲狀態(tài)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)的一個變種,它有一個非常稀疏連接的隱藏層(通常是百分之一的連通性)。 神經(jīng)元的連通性和權(quán)重是隨機(jī)分配的,忽略層和神經(jīng)元的差異(跳過連接)。 通過學(xué)習(xí)輸出神經(jīng)元的權(quán)重,使網(wǎng)絡(luò)能夠產(chǎn)生和再現(xiàn)特定的時間模式。 這個網(wǎng)絡(luò)背后的原因是,盡管它是非線性的,但在訓(xùn)練過程中修改的權(quán)重只是突觸連接,因此誤差函數(shù)可以被微分為線性系統(tǒng)。
卷積網(wǎng)絡(luò)
7 | 卷積神經(jīng)網(wǎng)絡(luò) (Convolutional Neural Network/CNN)
圖像具有非常高的維數(shù),因此訓(xùn)練一個標(biāo)準(zhǔn)的前饋網(wǎng)絡(luò)來識別圖像將需要成千上萬的輸入神經(jīng)元,除了顯而易見的高計算量,還可能導(dǎo)致許多與神經(jīng)網(wǎng)絡(luò)中的維數(shù)災(zāi)難相關(guān)的問題。 卷積神經(jīng)網(wǎng)絡(luò)提供了一個解決方案,利用卷積和池化層,來降低圖像的維度。 由于卷積層是可訓(xùn)練的,但參數(shù)明顯少于標(biāo)準(zhǔn)的隱藏層,它能夠突出圖像的重要部分,并向前傳播每個重要部分。 傳統(tǒng)的CNNs中,最后幾層是隱藏層,用來處理“壓縮的圖像信息”。
卷積神經(jīng)網(wǎng)絡(luò)在基于圖像的任務(wù)上表現(xiàn)良好,例如將圖像分類為狗或貓。8 | 反卷積神經(jīng)網(wǎng)絡(luò)(Deconvolutional Neural Network/DNN)
正如它的名字所暗示的那樣,反卷積神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)操作相反。 DNN不是通過卷積來降低圖像的維數(shù),而是利用反卷積來創(chuàng)建圖像,通常是從噪聲中獲得圖像。 這本身就是一項艱巨的任務(wù); 想象一下 CNN 的任務(wù):用三句話寫出奧威爾《1984》全書的總結(jié)摘要,而 DNN 的任務(wù)是把這三句話擴(kuò)展成全本書。
9 | 生成對抗網(wǎng)絡(luò)(Generative Adversarial Network/GAN)
生成對抗網(wǎng)絡(luò)是一種專門設(shè)計用于生成圖像的網(wǎng)絡(luò),由兩個網(wǎng)絡(luò)組成: 一個鑒別器和一個生成器。 鑒別器的任務(wù)是區(qū)分圖像是從數(shù)據(jù)集中提取的還是由生成器生成的,生成器的任務(wù)是生成足夠逼真的圖像,以至于鑒別器無法區(qū)分圖像是否真實。
隨著時間的推移,在謹(jǐn)慎的監(jiān)督下,這兩個對手相互競爭,彼此都想成功地改進(jìn)對方。 最終的結(jié)果是一個訓(xùn)練有素的生成器,可以生成逼真的圖像。 鑒別器是一個卷積神經(jīng)網(wǎng)絡(luò),其目標(biāo)是最大限度地提高識別真假圖像的準(zhǔn)確率,而生成器是一個反卷積神經(jīng)網(wǎng)絡(luò),其目標(biāo)是最小化鑒別器的性能。
自動編碼器
10 | 自動編碼器(Auto Encoder/AE)
自動編碼器的基本思想是將原始的高維數(shù)據(jù)“壓縮”成高信息量的低維數(shù)據(jù),然后將壓縮后的數(shù)據(jù)投影到一個新的空間中。 自動編碼器有許多應(yīng)用,包括降維、圖像壓縮、數(shù)據(jù)去噪、特征提取、圖像生成和推薦系統(tǒng)。 它既可以是無監(jiān)督的方法,也可以是有監(jiān)督的,可以得到對數(shù)據(jù)本質(zhì)的洞見。
隱藏的神經(jīng)元可以替換為卷積層,以便處理圖像。11 | 變分自動編碼器(Variational Auto Encoder/VAE)
自動編碼器學(xué)習(xí)一個輸入(可以是圖像或文本序列)的壓縮表示,例如,壓縮輸入,然后解壓縮回來匹配原始輸入,而變分自動編碼器學(xué)習(xí)表示的數(shù)據(jù)的概率分布的參數(shù)。 不僅僅是學(xué)習(xí)一個代表數(shù)據(jù)的函數(shù),它還獲得了更詳細(xì)和細(xì)致的數(shù)據(jù)視圖,從分布中抽樣并生成新的輸入數(shù)據(jù)樣本。 從這個意義上說,它更像是一個純粹的“生成”模型,就像一個 GAN。
VAE使用了概率隱藏神經(jīng)元,它對測試用例和神經(jīng)元平均值之間的差應(yīng)用了一個徑向基核函數(shù)。
總結(jié)
以上是生活随笔為你收集整理的利用循环神经网络生成唐诗_11种主要神经网络结构图解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python高斯滤波和降噪_高斯滤波原理
- 下一篇: python程序员搞笑段子_程序员才能看