神經網路中的造物者 GANs

2021-09-23 02:22:19 字數 2427 閱讀 5669

當乙個小孩畫乙隻貓的時候,你會更加了解這個孩子,而不是了解畫出來的貓。同理,我們使用神經網路生成影象能幫助我們理解神經網路是如何對輸入的資訊進行處理的。通常,人們很難以直觀的方式解釋神經網路的功能,但是生成演算法提供了一種使神經網路解釋自己的方法。

神經網路常被用作實現乙個影象分類器,能夠用它來區分影象中是貓還是狗,或者識別消防標誌等。不過,在過去的三年中,研究人員從本質上對這些神經網路進行逆轉,並且取得了驚人的進展。只需要使用簡單的生成演算法,就可以通過大量的影象資料進行訓練,然後生成類似於訓練影象的全新影象。具有創造力的ai已經證明:表面上看,它們在模仿人類的創造力方面已經做的非常出色。

目前的生成ai研究浪潮建立在生成對抗網路(gan)的基礎上,gan是一種由ian goodfellow和他的同事在2023年提出的一種神經網路結構。隨著ian goodfellow**的發表,一系列的發明應用隨之而來。研究人員使用gan網路可以生成從人臉到臥室的一切影象。通過一項基於gan叫做pix2pix的技術,可以直接通過衛星影象生成地圖,可以為黑白**自動填色,可以將手繪的草圖渲染成逼真的實景。增強低解析度而且模糊的監控影象只是乙個非常模糊的幻想,不過現在已經通過使用gans成為現實,現在gans已經可以對低解析度**中可能的結構做出複雜的設想了。

圖1 由神經網路生成的雜誌封面

乙個生成對抗網路由兩個神經網路組成:乙個學習產生某種資料(如影象)的生成器,乙個學習判斷生成器產生的資料與現實世界資料相比是真還是假的判決器。生成器和判決器具有相反的訓練目標:判決器的目標為區分「真實」資料和假資料,而生成器的目標是生成判決器無法判定為假資料的假資料。是不是感覺非常有意思?

jon bruner 和 adit deshpande 基於tensorflow演示了乙個非常簡單的生成對抗網路,這個網路創造出了逼真的手寫數字影象。圖2為該網路的學習過程,從隨機雜訊開始,出現了一種原始智慧型:首先神經網路反覆產生相同的通用偽數字,然後領會不同數字之前的差異,最終可以創造每乙個數字。

圖2 生成器經過訓練後生成手寫數字的過程動畫演示

神經網路善於通過豐富的資料進行簡單的推斷,神經網路通過多層神經元能夠自我組織並在多層次檢測從紋理片段到基本結構的模式,並且它能夠挖掘到人們可能會錯過的模式。這就是神經網路的優勢,不過也是解釋它比較困難的根源。神經網路雖然能夠注意到人們無法注意到的模式,但是如果的網路結構過於簡單或者訓練資料不足以表示真實世界的變化,他們也會像人一樣進行不合理的探索。

像多元線性回歸這種簡單的統計模型,是很容易解釋它的原理的,這種函式足夠直觀,大家可以一目了然的掌握它的原理。但是對於具有多層神經網路就沒有這麼直觀了,多層神經網路通過訓練集進行自由的自我組織,並且不同層次神經元之間相互關聯,這種連線方式導致每一層神經元的功能變得模糊,我們就不得而知每層神經元究竟對應什麼功能。

這個簡單的生成對抗網路確實像人類一樣進行推理。當你看一張貓的**時,你能明確地識別出你認為這是乙隻貓的每乙個證據嗎?你通過快速的觀察得到各種特徵:貓的耳朵,貓的鬍鬚,貓的毛髮樣式等,總的來說,通過這些特徵你最終得到這是乙隻貓的結論,神經網路亦是如此。

正是因為gan中的生成器具有多層次處理資訊的能力,所以該網路重構資訊後輸出的結果比較真實。圖3是通過gan生成的臥室,不得不說效果相當棒。不僅床單,地毯和窗戶看著很真實,而且他們的位置也是正確的,床單放在床上,地毯鋪在地上,窗戶開在牆上。

圖3 gan生成的臥室影象

如果你接觸過影象識別,你可能會對卷積神經元比較熟悉,卷積神經元可以跨影象掃瞄並過濾畫素進行模式檢測。卷積層通常將影象縮小,但是在gan的生成器中,卷積層的功能被逆轉,以便按比例擴大資料。

生成器不是用來檢測模式和匹配影象中的特徵的,而是使用反卷積的方式生成基本影象構建塊,並且再將這些基本構建塊組裝融合成「真實的影象」。比如,這個簡單的gan生成了乙個非常「真實的」數字9,如圖4所示。

圖4 gan生成非常「真實」的手寫數字9

通過觀察反卷積濾波器和其對應的輸出,可以發現這些由最後一層反卷積層生成的構建塊來自圖4中的手寫數字9。

圖5 第2、3層反卷積濾波器及其輸出(生成數字9時)

還在等什麼?快快動手去嘗試建立你自己的gans吧!

以上為譯文

本文由北郵@愛可可-愛生活 老師推薦,阿里云云棲社群組織翻譯。

文章為簡譯,更為詳細的內容,請檢視原文

神經網路 神經網路中的矩陣的理解

在 深度學習入門 基於python的理論與實現 書中,看到講解矩陣的章節,加深了我對矩陣的理解。脫離應用理解數學是很難的。將矩陣放在深度學習的環境裡可以較好的理解矩陣的含義。這裡假設你已經學過矩陣。對於神經網路,我更傾向於理解為 因素 輸入層 影響因子 權重 結果 輸出層 這更貼近實際中的因果關係。...

神經網路學習中

神經網路 關於感知機,既有好訊息,也有壞訊息。好訊息是,即便對於複雜的函式,感知機也隱含著能夠表示它的可能性。壞訊息是,設定權重的工作,即確定合適的 能符合預期的輸入與輸出的權重,現在還是由人工進行的。上一章中,我們結合與門 或門的真值表人工決定了合適的權重。神經網路的出現就是為了解決剛才的壞訊息。...

一維卷積神經網路 卷積神經網路中的計算

卷積的基本介紹 卷積操作後張量的大小計算 卷積參數量的計算 卷積flops的計算 感受野的計算 卷積神經網路中的卷積是指定義好卷積核 kernel 並對影象 或者特徵圖,feature map 進行滑動匹配,即對應位置相乘再相加。其特點就在於能夠捕捉區域性的空間特徵。具體過程如下圖所示 圖1 二維卷...