當前位置:首頁 » 安全設置 » 對抗網路模型設置
擴展閱讀
怎麼才能自己弄一個網站 2025-02-06 11:44:00
辦公無線網路問題 2025-02-06 11:42:03

對抗網路模型設置

發布時間: 2023-08-27 03:27:51

A. 如何用 TensorFlow 實現生成式對抗網路

我們利用 TensorFlow 提供的 tf.train.AdamOptimizer 來控制學習速度。AdamOptimizer 通過使用動量(參數的移動平均數)來改善傳統梯度下降,促進超參數動態調整。我們可以通過創建標簽錯誤率的摘要標量來跟蹤丟失和錯誤率:
# Create a placeholder for the summary statistics
with tf.name_scope("accuracy"):
# Compute the edit (Levenshtein) distance of the top path
distance =tf.edit_distance(tf.cast(self.decoded[0], tf.int32), self.targets)
# Compute the label error rate (accuracy)
self.ler =tf.rece_mean(distance, name='label_error_rate')
self.ler_placeholder =tf.placeholder(dtype=tf.float32, shape=[])
self.train_ler_op =tf.summary.scalar("train_label_error_rate", self.ler_placeholder)
self.dev_ler_op =tf.summary.scalar("validation_label_error_rate", self.ler_placeholder)
self.test_ler_op =tf.summary.scalar("test_label_error_rate", self.ler_placeholder)
如何改進 RNN
現在我們構建了一個簡單的 LSTM RNN 網路,下一個問題是:如何繼續改進它看幸運的是,在開源社區里,很多大公司都開源了自己的最新語音識別模型。在 2016 年 9 月,微軟的論文《The Microsoft 2016 Conversational Speech Recognition System》展示了在 NIST 200 Switchboard 數據中單系統殘差網路錯誤率 6.9% 的新方式。他們在卷積+循環神經網路上使用了幾種不同的聲學和語言模型。微軟的團隊和其他研究人員在過去 4 年中做出的主要改進包括:

在基於字元的 RNN 上使用語言模型

使用卷積神經網路(CNN)從音頻中獲取特徵

使用多個 RNN 模型組合

值得注意的是,在過去幾十年裡傳統語音識別模型獲得的研究成果,在目前的深度學習語音識別模型中仍然扮演著自己的角色。

修改自: A Historical Perspective of Speech Recognition, Xuedong Huang, James Baker, Raj Reddy Communications of the ACM, Vol. 57 No. 1, Pages 94-103, 2014
訓練你的第一個 RNN 模型
在本教程的 Github 里,作者提供了一些介紹以幫助讀者在 TensorFlow 中使用 RNN 和 CTC 損失函數訓練端到端語音識別系統。大部分事例數據來自 LibriVox。數據被分別存放於以下文件夾中:

Train: train-clean-100-wav (5 examples)

Test: test-clean-wav (2 examples)

Dev: dev-clean-wav (2 examples)

當訓練這些示例數據時,你會很快注意到訓練數據的詞錯率(WER)會產生過擬合,而在測試和開發集中詞錯率則有 85% 左右。詞錯率不是 100% 的原因在於每個字母有 29 種可能性(a-z、逗號、空格和空白),神經網路很快就能學會:

某些字元(e,a,空格,r,s,t)比其他的更常見

輔音-母音-輔音是英文的構詞特徵

MFCC 輸入聲音信號振幅特徵的增加只與字母 a-z 有關

B. 生成式對抗網路GAN(一)

上面這張圖很好的很好的闡述了生成式對抗網路的結構~~ 博弈論

此圖給出了生成性對抗網路的概述。目前最重要的是要理解GAN是使兩個網路協同工作的一種方式 - 而Generator和Discriminator都有自己的架構。為了更好地理解這個想法的來源,我們需要回憶一些基本的代數並問自己 - 我們怎麼能欺騙一個比大多數人更好地分類圖像的神經網路?

在我們詳細描述GAN之前,讓我們看一下類似的主題。給定一個訓練有素的分類器,我們可以生成一個欺騙網路的樣本嗎?如果我們這樣做,它會是什麼樣子?

事實證明,我們可以。

甚至更多 - 對於幾乎任何給定的圖像分類器,可以將圖像變換為另一個圖像,這將被高度置信地錯誤分類,同時在視覺上與原始圖像無法區分!這種過程稱為對抗性攻擊,生成方法的簡單性解釋了很多關於GAN的內容。
精心計算的示例中的對抗性示例,其目的是錯誤分類。以下是此過程的說明。左邊的熊貓與右邊的熊貓無法區分 - 但它被歸類為長臂猿。

圖像分類器本質上是高維空間中的復雜決策邊界。當然,在對圖像進行分類時,我們無法繪制這個邊界。但我們可以安全地假設,當訓練結束時,網路並不是針對所有圖像進行推廣的 - 僅針對我們在訓練集中的那些圖像。這種概括可能不是現實生活的良好近似。換句話說,它適用於我們的數據 - 我們將利用它。

讓我們開始為圖像添加隨機雜訊並使其非常接近零。我們可以通過控制雜訊的L2范數來實現這一點。數學符號不應該讓您擔心 - 出於所有實際目的,您可以將L2范數視為向量的長度。這里的訣竅是你在圖像中擁有的像素越多 - 它的平均L2范數就越大。因此,如果雜訊的范數足夠低,您可以預期它在視覺上難以察覺,而損壞的圖像將遠離矢量空間中的原始圖像。

為什麼?

好吧,如果HxW圖像是矢量,那麼我們添加到它的HxW雜訊也是矢量。原始圖像具有相當密集的各種顏色 - 這增加了L2規范。另一方面,雜訊是一組視覺上混亂的相當蒼白的像素 - 一個小范數的矢量。最後,我們將它們添加到一起,為損壞的圖像獲取新的矢量,這與原始圖像相對接近 - 但卻錯誤分類!

現在,如果原始類 Dog 的決策邊界不是那麼遠(就L2范數而言),這種加性雜訊將新圖像置於決策邊界之外。

您不需要成為世界級拓撲學家來理解某些類別的流形或決策邊界。由於每個圖像只是高維空間中的矢量,因此在其上訓練的分類器將「所有猴子」定義為「由隱藏參數描述的該高維斑點中的所有圖像矢量」。我們將該blob稱為該類的決策邊界。

好的,所以,你說我們可以通過添加隨機雜訊輕松欺騙網路。它與生成新圖像有什麼關系?

現在我們假設有兩個結構模型,相當於兩個神經網路:

這是關於判別網路D和生成網路G的價值函數(Value Function),訓練網路D使得最大概率地分對訓練樣本的標簽(最大化log D(x)),訓練網路G最小化log(1 – D(G(z))),即最大化D的損失。訓練過程中固定一方,更新另一個網路的參數,交替迭代,使得對方的錯誤最大化,最終,G 能估測出樣本數據的分布。生成模型G隱式地定義了一個概率分布Pg,我們希望Pg 收斂到數據真實分布Pdata。論文證明了這個極小化極大博弈當且僅當Pg = Pdata時存在最優解,即達到納什均衡,此時生成模型G恢復了訓練數據的分布,判別模型D的准確率等於50%。

接著上面最後一個問題:怎麼才能生成我指定的圖像呢?

指定標簽去訓練

顧名思義就是把標簽也帶進公式,得到有條件的公式:

具體怎麼讓CGAN更好的優化,這里不解釋,就是平常的優化網路了。

參考文章:

本文大部分翻譯此外文

通俗易懂

小博客的總結

唐宇迪大神

C. 【模型解讀】歷數GAN的5大基本結構

首發於微信公眾號《有三AI》

【模型解讀】歷數GAN的5大基本結構

生成對抗網路是近幾年來無監督學習領域里最大的進展,被譽為下一代深度學習,不管是研究熱度還是論文數量,已經逼近甚至超越傳統判別式的CNN架構。

這一次我們簡單介紹一下生成對抗網路的主流模型結構,從一個生成器一個判別器到多個生成器多個判別器。

作者 | 言有三

編輯 | 言有三

我們這一期文章不打算從頭開始講述GAN,所以如果大家沒有相關基礎的,就先看一下我們上一期GAN的介紹。

【技術綜述】有三說GANs(上)​

一個基本的用於生成圖像的GAN的結構就是這樣的。

Generator就是生成器,它輸入雜訊,輸出產生的圖像。通常雜訊就是一個一維的向量,經過reshape為二維圖像,然後利用若干個反卷積層來學習上采樣。

如全卷積的DCGAN模型[1],輸入就是1*100的向量,然後經過一個全連接層學習,reshape到4*4*1024的張量,再經過4個上采樣的反卷積網路,生成64*64的圖。

Discrimator就是普通的CNN分類器,輸入真實樣本或者生成的假樣本進行分類,在DCGAN中也是4個卷積層。

採用多個判別器[2]的好處帶來了類似於boosting的優勢,訓練一個過於好的判別器,會損壞生成器的性能,這是GAN面臨的一個大難題。如果能夠訓練多個沒有那麼強的判別器,然後進行boosting,可以取得不錯的效果,甚至連dropout技術都可以應用進來。

多個判別器還可以相互進行分工,比如在圖像分類中,一個進行粗粒度的分類,一個進行細粒度的分類。在語音任務中,各自用於不同聲道的處理。

一般來說,生成器相比判別器要完成的任務更難,因為它要完成數據概率密度的擬合,而判別器只需要進行判別,導致影響GAN性能的一個問題就是模式坍塌,即生成高度相似的樣本。

採用多個生成器單個判別器的方法,可以有效地緩解這個問題。

從上圖結構可以看出,多個生成器採用同樣的結構,在網路的淺層還共享權重。

在利用GAN進行半監督的圖像分類任務時,判別器需要同時擔任兩個角色,即判別生成的假樣本,以及預測類別,這對判別器提出了較高的要求。通過增加一個分類器可以分擔判別器的工作量,即將捕捉樣本和標簽的條件分布這一任務交給生成器和分類器,而判別器只專注於區分真實樣本和生成的樣本。

這一類結構以Triple Generative Adversarial Nets為代表,下圖是它的網路結構。

多個生成器和多個判別器就又有幾種。

5.1 級聯結構[5]

早期以DCGAN為代表的網路生成的圖片解析度太低,質量不夠好,都不超過100×100,在32×32或者64×64左右。這是因為難以一次性學習到生成高解析度的樣本,收斂過程容易不穩定。

類似的問題在圖像分割,目標檢測中都存在。在目標檢測中,級聯網路被廣泛使用,即採用從粗到精的方法依次改進檢測器的性能。在圖像分割中進行上采樣時也採用學習小倍率的放大而不是大倍率的方法,如利用兩個2倍上采樣替換一個4倍的上采樣,不僅可以增強網路的表達能力,還降低了學習難度。

基於此,金字塔GAN結構被提出並廣泛使用,它參考圖像領域裡面的金字塔結構由粗到精一步一步生成圖像,並添加殘差進行學習。

上圖就是它的結構,從低解析度z3開始,逐級提升,最終生成I0,這是一個金字塔形狀的結構,以下符號較多用圖片代替。

5.2 並行與循環結構[6]

GAN有一大應用就是風格化,實現兩個域之間的風格互換,以CycleGAN[6]為典型代表。它包含了多個生成器和多個判別器。Cycle的典型結構如下:

X和Y分別表示兩個域的圖像,可知這里存在兩個生成器G和F,分別用於從X到Y的生成和Y到X到生成,包含兩個判別器,分別是Dx和Dy。而損失本身也增加了一個循環損失,感興趣讀者可以去細讀文章。

另外在cross domain學習中也常用到多判別器多生成器多結構,分別學習不同的域。而且各個域的判別器和生成器通常會共享一些權重,如下圖是CoGAN[7]的網路結構。

另外還有一些零零散散的結構,比如3D GAN,RNN GAN,由於都是上面這幾類的變種,不再統一介紹。

[1] Radford A, Metz L, Chintala S, et al. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks[J]. international conference on learning representations, 2016.

[2] Durugkar I P, Gemp I, Mahadevan S, et al. Generative Multi-Adversarial Networks[J]. international conference on learning representations, 2017.

[3] Ghosh A, Kulharia V, Namboodiri V P, et al. Multi-Agent Diverse Generative Adversarial Networks[J]. computer vision and pattern recognition, 2018: 8513-8521.

[4] Chongxuan L I, Xu T, Zhu J, et al. Triple Generative Adversarial Nets[J]. neural information processing systems, 2017: 4088-4098.

[5] Denton E L, Chintala S, Szlam A, et al. Deep generative image models using a Laplacian pyramid of adversarial networks[J]. neural information processing systems, 2015: 1486-1494.

[6] Zhu J, Park T, Isola P, et al. Unpaired Image-to-Image Translation Using Cycle-Consistent Adversarial Networks[J]. international conference on computer vision, 2017: 2242-2251.

[7] Liu M, Tuzel O. Coupled Generative Adversarial Networks[J]. neural information processing systems, 2016: 469-477.

本系列的完整目錄:

【模型解讀】從LeNet到VGG,看卷積+池化串聯的網路結構

【模型解讀】network in network中的1*1卷積,你懂了嗎

【模型解讀】GoogLeNet中的inception結構,你看懂了嗎

【模型解讀】說說移動端基準模型MobileNets

【模型解讀】pooling去哪兒了?

【模型解讀】resnet中的殘差連接,你確定真的看懂了?

【模型解讀】「不正經」的卷積神經網路

【模型解讀】「全連接」的卷積網路,有什麼好?

【模型解讀】從「局部連接」回到「全連接」的神經網路

【模型解讀】深度學習網路只能有一個輸入嗎

【模型解讀】從2D卷積到3D卷積,都有什麼不一樣

【模型解讀】淺析RNN到LSTM

D. 一文看懂四種基本的神經網路架構

原文鏈接:
http://blackblog.tech/2018/02/23/Eight-Neural-Network/

更多干貨就在我的個人博客 http://blackblog.tech 歡迎關注

剛剛入門神經網路,往往會對眾多的神經網路架構感到困惑,神經網路看起來復雜多樣,但是這么多架構無非也就是三類,前饋神經網路,循環網路,對稱連接網路,本文將介紹四種常見的神經網路,分別是CNN,RNN,DBN,GAN。通過這四種基本的神經網路架構,我們來對神經網路進行一定的了解。

神經網路是機器學習中的一種模型,是一種模仿動物神經網路行為特徵,進行分布式並行信息處理的演算法數學模型。這種網路依靠系統的復雜程度,通過調整內部大量節點之間相互連接的關系,從而達到處理信息的目的。
一般來說,神經網路的架構可以分為三類:

前饋神經網路:
這是實際應用中最常見的神經網路類型。第一層是輸入,最後一層是輸出。如果有多個隱藏層,我們稱之為「深度」神經網路。他們計算出一系列改變樣本相似性的變換。各層神經元的活動是前一層活動的非線性函數。

循環網路:
循環網路在他們的連接圖中定向了循環,這意味著你可以按照箭頭回到你開始的地方。他們可以有復雜的動態,使其很難訓練。他們更具有生物真實性。
循環網路的目的使用來處理序列數據。在傳統的神經網路模型中,是從輸入層到隱含層再到輸出層,層與層之間是全連接的,每層之間的節點是無連接的。但是這種普通的神經網路對於很多問題卻無能無力。例如,你要預測句子的下一個單詞是什麼,一般需要用到前面的單詞,因為一個句子中前後單詞並不是獨立的。
循環神經網路,即一個序列當前的輸出與前面的輸出也有關。具體的表現形式為網路會對前面的信息進行記憶並應用於當前輸出的計算中,即隱藏層之間的節點不再無連接而是有連接的,並且隱藏層的輸入不僅包括輸入層的輸出還包括上一時刻隱藏層的輸出。

對稱連接網路:
對稱連接網路有點像循環網路,但是單元之間的連接是對稱的(它們在兩個方向上權重相同)。比起循環網路,對稱連接網路更容易分析。這個網路中有更多的限制,因為它們遵守能量函數定律。沒有隱藏單元的對稱連接網路被稱為「Hopfield 網路」。有隱藏單元的對稱連接的網路被稱為玻爾茲曼機。

其實之前的帖子講過一些關於感知機的內容,這里再復述一下。
首先還是這張圖
這是一個M-P神經元

一個神經元有n個輸入,每一個輸入對應一個權值w,神經元內會對輸入與權重做乘法後求和,求和的結果與偏置做差,最終將結果放入激活函數中,由激活函數給出最後的輸出,輸出往往是二進制的,0 狀態代表抑制,1 狀態代表激活。

可以把感知機看作是 n 維實例空間中的超平面決策面,對於超平面一側的樣本,感知器輸出 1,對於另一側的實例輸出 0,這個決策超平面方程是 w⋅x=0。 那些可以被某一個超平面分割的正反樣例集合稱為線性可分(linearly separable)樣例集合,它們就可以使用圖中的感知機表示。
與、或、非問題都是線性可分的問題,使用一個有兩輸入的感知機能容易地表示,而異或並不是一個線性可分的問題,所以使用單層感知機是不行的,這時候就要使用多層感知機來解決疑惑問題了。

如果我們要訓練一個感知機,應該怎麼辦呢?
我們會從隨機的權值開始,反復地應用這個感知機到每個訓練樣例,只要它誤分類樣例就修改感知機的權值。重復這個過程,直到感知機正確分類所有的樣例。每一步根據感知機訓練法則來修改權值,也就是修改與輸入 xi 對應的權 wi,法則如下:

這里 t 是當前訓練樣例的目標輸出,o 是感知機的輸出,η 是一個正的常數稱為學習速率。學習速率的作用是緩和每一步調整權的程度,它通常被設為一個小的數值(例如 0.1),而且有時會使其隨著權調整次數的增加而衰減。

多層感知機,或者說是多層神經網路無非就是在輸入層與輸出層之間加了多個隱藏層而已,後續的CNN,DBN等神經網路只不過是將重新設計了每一層的類型。感知機可以說是神經網路的基礎,後續更為復雜的神經網路都離不開最簡單的感知機的模型,

談到機器學習,我們往往還會跟上一個詞語,叫做模式識別,但是真實環境中的模式識別往往會出現各種問題。比如:
圖像分割:真實場景中總是摻雜著其它物體。很難判斷哪些部分屬於同一個對象。對象的某些部分可以隱藏在其他對象的後面。
物體光照:像素的強度被光照強烈影響。
圖像變形:物體可以以各種非仿射方式變形。例如,手寫也可以有一個大的圓圈或只是一個尖頭。
情景支持:物體所屬類別通常由它們的使用方式來定義。例如,椅子是為了讓人們坐在上面而設計的,因此它們具有各種各樣的物理形狀。
卷積神經網路與普通神經網路的區別在於,卷積神經網路包含了一個由卷積層和子采樣層構成的特徵抽取器。在卷積神經網路的卷積層中,一個神經元只與部分鄰層神經元連接。在CNN的一個卷積層中,通常包含若干個特徵平面(featureMap),每個特徵平面由一些矩形排列的的神經元組成,同一特徵平面的神經元共享權值,這里共享的權值就是卷積核。卷積核一般以隨機小數矩陣的形式初始化,在網路的訓練過程中卷積核將學習得到合理的權值。共享權值(卷積核)帶來的直接好處是減少網路各層之間的連接,同時又降低了過擬合的風險。子采樣也叫做池化(pooling),通常有均值子采樣(mean pooling)和最大值子采樣(max pooling)兩種形式。子采樣可以看作一種特殊的卷積過程。卷積和子采樣大大簡化了模型復雜度,減少了模型的參數。
卷積神經網路由三部分構成。第一部分是輸入層。第二部分由n個卷積層和池化層的組合組成。第三部分由一個全連結的多層感知機分類器構成。
這里舉AlexNet為例:

·輸入:224×224大小的圖片,3通道
·第一層卷積:11×11大小的卷積核96個,每個GPU上48個。
·第一層max-pooling:2×2的核。
·第二層卷積:5×5卷積核256個,每個GPU上128個。
·第二層max-pooling:2×2的核。
·第三層卷積:與上一層是全連接,3*3的卷積核384個。分到兩個GPU上個192個。
·第四層卷積:3×3的卷積核384個,兩個GPU各192個。該層與上一層連接沒有經過pooling層。
·第五層卷積:3×3的卷積核256個,兩個GPU上個128個。
·第五層max-pooling:2×2的核。
·第一層全連接:4096維,將第五層max-pooling的輸出連接成為一個一維向量,作為該層的輸入。
·第二層全連接:4096維
·Softmax層:輸出為1000,輸出的每一維都是圖片屬於該類別的概率。

卷積神經網路在模式識別領域有著重要應用,當然這里只是對卷積神經網路做了最簡單的講解,卷積神經網路中仍然有很多知識,比如局部感受野,權值共享,多卷積核等內容,後續有機會再進行講解。

傳統的神經網路對於很多問題難以處理,比如你要預測句子的下一個單詞是什麼,一般需要用到前面的單詞,因為一個句子中前後單詞並不是獨立的。RNN之所以稱為循環神經網路,即一個序列當前的輸出與前面的輸出也有關。具體的表現形式為網路會對前面的信息進行記憶並應用於當前輸出的計算中,即隱藏層之間的節點不再無連接而是有連接的,並且隱藏層的輸入不僅包括輸入層的輸出還包括上一時刻隱藏層的輸出。理論上,RNN能夠對任何長度的序列數據進行處理。
這是一個簡單的RNN的結構,可以看到隱藏層自己是可以跟自己進行連接的。

那麼RNN為什麼隱藏層能夠看到上一刻的隱藏層的輸出呢,其實我們把這個網路展開來開就很清晰了。

從上面的公式我們可以看出,循環層和全連接層的區別就是循環層多了一個權重矩陣 W。
如果反復把式2帶入到式1,我們將得到:

在講DBN之前,我們需要對DBN的基本組成單位有一定的了解,那就是RBM,受限玻爾茲曼機。
首先什麼是玻爾茲曼機?
[圖片上傳失敗...(image-d36b31-1519636788074)]
如圖所示為一個玻爾茲曼機,其藍色節點為隱層,白色節點為輸入層。
玻爾茲曼機和遞歸神經網路相比,區別體現在以下幾點:
1、遞歸神經網路本質是學習一個函數,因此有輸入和輸出層的概念,而玻爾茲曼機的用處在於學習一組數據的「內在表示」,因此其沒有輸出層的概念。
2、遞歸神經網路各節點鏈接為有向環,而玻爾茲曼機各節點連接成無向完全圖。

而受限玻爾茲曼機是什麼呢?
最簡單的來說就是加入了限制,這個限制就是將完全圖變成了二分圖。即由一個顯層和一個隱層構成,顯層與隱層的神經元之間為雙向全連接。

h表示隱藏層,v表示顯層
在RBM中,任意兩個相連的神經元之間有一個權值w表示其連接強度,每個神經元自身有一個偏置系數b(對顯層神經元)和c(對隱層神經元)來表示其自身權重。
具體的公式推導在這里就不展示了

DBN是一個概率生成模型,與傳統的判別模型的神經網路相對,生成模型是建立一個觀察數據和標簽之間的聯合分布,對P(Observation|Label)和 P(Label|Observation)都做了評估,而判別模型僅僅而已評估了後者,也就是P(Label|Observation)。
DBN由多個限制玻爾茲曼機(Restricted Boltzmann Machines)層組成,一個典型的神經網路類型如圖所示。這些網路被「限制」為一個可視層和一個隱層,層間存在連接,但層內的單元間不存在連接。隱層單元被訓練去捕捉在可視層表現出來的高階數據的相關性。

生成對抗網路其實在之前的帖子中做過講解,這里在說明一下。
生成對抗網路的目標在於生成,我們傳統的網路結構往往都是判別模型,即判斷一個樣本的真實性。而生成模型能夠根據所提供的樣本生成類似的新樣本,注意這些樣本是由計算機學習而來的。
GAN一般由兩個網路組成,生成模型網路,判別模型網路。
生成模型 G 捕捉樣本數據的分布,用服從某一分布(均勻分布,高斯分布等)的雜訊 z 生成一個類似真實訓練數據的樣本,追求效果是越像真實樣本越好;判別模型 D 是一個二分類器,估計一個樣本來自於訓練數據(而非生成數據)的概率,如果樣本來自於真實的訓練數據,D 輸出大概率,否則,D 輸出小概率。
舉個例子:生成網路 G 好比假幣製造團伙,專門製造假幣,判別網路 D 好比警察,專門檢測使用的貨幣是真幣還是假幣,G 的目標是想方設法生成和真幣一樣的貨幣,使得 D 判別不出來,D 的目標是想方設法檢測出來 G 生成的假幣。
傳統的判別網路:

生成對抗網路:

下面展示一個cDCGAN的例子(前面帖子中寫過的)
生成網路

判別網路

最終結果,使用MNIST作為初始樣本,通過學習後生成的數字,可以看到學習的效果還是不錯的。

本文非常簡單的介紹了四種神經網路的架構,CNN,RNN,DBN,GAN。當然也僅僅是簡單的介紹,並沒有深層次講解其內涵。這四種神經網路的架構十分常見,應用也十分廣泛。當然關於神經網路的知識,不可能幾篇帖子就講解完,這里知識講解一些基礎知識,幫助大家快速入(zhuang)門(bi)。後面的帖子將對深度自動編碼器,Hopfield 網路長短期記憶網路(LSTM)進行講解。