PaperNotes(13)-Conditional Image Generation with PixelCNN Decoders

conditional Image generation with PixelCNN Decoders


ICML的best paper

pixel cnn 屬于完全可見的信念網絡,需要對 概率密度 建模。給定圖像數據x,想要對概率分布p(x)建模。概率分布p(x)可以看做,每一像素分布同時作用結果的一個聯合分布。一個特征是這些像素之間存在緊密的關聯關系,常見的建模方法是使用此前的像素作為條件來建模當前的像素的條件分布。使用鏈式法則將聯合分布p(x)分解成一維度分布的乘積。

給定每個像素xix_ixi?的條件概率(其條件是此前所見到的所有像素(x1,x2,...,xi?1)(x_1,x_2,...,x_{i-1})(x1?,x2?,...,xi?1?)) 那么整張圖的聯合概率/條件似然 = 所有像素條件概率的乘積。
p(x)=∏i=1n2p(xi∣x1,...,xi?1)p(x)=\prod_{i=1}^{n^2}p(x_i|x_1,...,x_{i-1})p(x)=i=1n2?p(xi?x1?,...,xi?1?)

然后最大化似然來優化概率模型中的參數。眾多自回歸模型用的都是條件分布連成構造聯合分布的建模方式,不同點為條件分布建模方式不同。本文用的是masked卷積網絡對之前的像素進行卷積操作,來建模條件分布。

對于每個位置網絡都會生成一個256維度的像素值,通過true lable像素值,最小化交叉熵,來得到生成結果。(最小化交叉熵,最小化KL散度,最大似然這三種東西是等價的)就是有N×N×3個網絡

文章強調的卷積使得訓練時每個像素可以同時進行預測,但測試時只能順序進行生成。

gated convolutional layers

文章后面介紹了所用的門控的卷積層。之前的pixelRNN 的性能 優于 pixelCNN 的一個主要原因是:LSTM使得網絡的每一層可以獲取之前像素的整個鄰居區域。另一個優點,多種門控單元使得可以建模更加復雜的模型。

conditional PixelCNN

條件 PixelCNN : 給定高層次的圖像描述作為latent vector h 建模條件分布為p(x∣h)p(x|h)p(xh):
p(x∣h)=∏i=1n2p(xi∣x1,..,xi?1,h)p(x|h)=\prod_{i=1}^{n^2}p(x_i|x_1,..,x_{i-1},h)p(xh)=i=1n2?p(xi?x1?,..,xi?1?,h)

其實就是在每層的特征后接一個條件向量信息。

(圖像是二維時,作者使用了grid LSTM ,
盲點:預測下一個像素時,沒有用到之前所有的信息,
兩個方向上的卷積,垂直和水平
為了避免看到將來的像素,他們使用帶掩膜的卷積)

1.Pixel CNN, Wavenet, GCNN筆記:https://zhuanlan.zhihu.com/p/25299749
2.【2017CS231n】第十三講:生成模型(PixelRNN/PixelCNN,變分自編碼器,生成對抗網絡):https://blog.csdn.net/poulang5786/article/details/80766498
3.如何比較PixelCNN與DCGAN兩種Image generation方法?:https://www.zhihu.com/question/54414709
4.《Conditional Image Generation with PixelCNN Decoders》之Pixcel CNN—gated Pixcel CNN 閱讀筆記:https://blog.csdn.net/Jasminexjf/article/details/82499513?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242
5.圖片生成模型——gated pixelCNN:https://blog.csdn.net/like_red/article/details/79192374#commentBox

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444791.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444791.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444791.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Expression : invalid operator 解決方法

從技術上說,用于排序關聯容器的比較函數必須在它們所比較的對象上定義一個“嚴格的弱序化(strict weak ordering)”。(傳給sort等算法的比較函數也有同樣的限制),就是兩個對象比大小或先后的規則,比如兩個 string對象比大小的規則…

leetcode23 合并K個排序鏈表

合并 k 個排序鏈表,返回合并后的排序鏈表。請分析和描述算法的復雜度。 示例: 輸入: [ 1->4->5, 1->3->4, 2->6 ] 輸出: 1->1->2->3->4->4->5->6 思路:把初始的每一個鏈表當成數組中的一個數,做…

Xcode LaunchImage 載入界面大小設置

iPhone Portrait iOS 8-Retina HD 5.5 (12422208) @3x iPhone Portrait iOS 8-Retina HD 4.7 (7501334) @2x iPhone Portrait iOS 7,8-2x (640960) @2x iPhone Portrait iOS 7,8-Retina 4 (6401136) @2x iPhone Portrait iOS 5,6-1x (320480) @1x iPhone Portrait iO…

leetcode237 刪除鏈表中的節點(你意想不到的做法,注意細節)

請編寫一個函數,使其可以刪除某個鏈表中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個鏈表 -- head [4,5,1,9],它可以表示為: 示例 1: 輸入: head [4,5,1,9], node 5 輸出: [4,1,9] 解釋: 給定你鏈…

cppcheck值得注意的一些篩選項

使用完cppcheck進行C代碼檢測之后,可能篩選起來很麻煩,一般常見的優化有 emptiness,就是當你使用stl的時候,最好用empty替代size 還有就是 leak

C++(19)--自定義Array,vector練習

自定義Array,vector1.自定義Array2.自定義vector《老九學堂C課程》《C primer》學習筆記。《老九學堂C課程》詳情請到B站搜索《老九零基礎學編程C入門》-------------簡單的事情重復做,重復的事情用心做,用心的事情堅持做(老九君)---------------1.自定義…

讓cocos2dx支持并通過arm64 編譯

為了要支持64位,請把這個文件直接替換到對應的lib目錄下,本來是需要改neton_matrix_impl.c里的宏定義, 在 platform/ios/EAGLVIEW.mm中 在neon_matrix_impl.c中修改 #if defined(__ARM_NEON__) 為#if defined(_ARM_ARCH_7) 還有 third_party目錄下的curl的支持。

springboot——概述

Spring Boot 介紹 Spring Boot 是由 Pivotal 團隊提供的全新框架,其設計?的是?來簡化新 Spring 應? 初始搭建以及開發過 程,該框架使?了特定的?式來進?配置,從?使開發?員不再需要定義樣板化的配置。 默認配置了很多框架的使??式…

C++(20)--類型自動轉換

類型自動轉換1.C內置類型轉換2.實現自定義類的類型轉換《老九學堂C課程》《C primer》學習筆記。《老九學堂C課程》詳情請到B站搜索《老九零基礎學編程C入門》 -------------簡單的事情重復做,重復的事情用心做,用心的事情堅持做(老九君)---------------…

關于遍歷linux的文件目錄的坑- readdir

去年給公司寫了一個配置服務器,目的是解決運維的工作量太大,而且傳送服務器需要的配置文件需要腳本傳送到各個服(每個服ip不一樣,需要scp),然后再刷新通知各個GameServer,中間有沒有傳送失敗并不得知,而且維護相當麻煩,所以我寫了這個服務器,所有區服的配置都在這里邊…

終于,我讀懂了所有Java集合——sort

Collections.sort 事實上Collections.sort方法底層就是調用的Arrays.sort方法,而Arrays.sort使用了兩種排序方法,快速排序和優化的歸并排序。 快速排序主要是對那些基本類型數據(int,short,long等)排序, 而歸并排序用于…

PRML(1)--緒論(上)多項式曲線擬合、概率論

PRML緒論1.1 多項式曲線擬合1.1.1 問題描述1.1.2 最小化平方和誤差1.1.3 多項式階數確定1.1.4 有趣問題--高階模型為什么效果不好1.1.4 數據集規模對模型的影響1.1.5 參數正則化緩解過擬合問題1.2 概率論1.2.1離散型隨機變量1.2.2 連續型隨機變量1.2.3 期望和方差1.2.4 貝葉斯概…

大數加減乘

如標題&#xff0c;不解釋。 加 #include<stdio.h> #include<string.h> int main() {char a[1000],b[1000];int i,s[1000],len1,len2,len,j;while(scanf("%s%s",a,b)!EOF) //用字符數組來儲存數{for(i0;i<1000;i)s[i]0;len1strlen(a);len2strlen(b…

在GCC和Visual Studio中使用hash_map

熟悉STL或熟悉ACM/ICPC的話&#xff0c;其中的set, map, multiset, multimap一定用過無數次了&#xff0c;它們都是用平衡二叉樹&#xff08;紅黑樹&#xff09;實現的&#xff0c;復雜度為O(lgn)。我們也知道set, map可以通過哈希來實現&#xff0c;復雜度只有O(1)&#xff0c…

C++(21)--Astah uml 畫C++類圖

Astah uml 畫C類圖1.安裝2.使用《老九學堂C課程》《老九學堂C課程》詳情請到B站搜索《老九零基礎學編程C入門》-------------簡單的事情重復做&#xff0c;重復的事情用心做&#xff0c;用心的事情堅持做(老九君)--------------- ASTAH&#xff1a;類圖工具&#xff0c;用于理…

redis3.0.0 集群安裝詳細步驟

Redis集群部署文檔(centos6系統) &#xff08;要讓集群正常工作至少需要3個主節點&#xff0c;在這里我們要創建6個redis節點&#xff0c;其中三個為主節點&#xff0c;三個為從節點&#xff0c;對應的redis節點的ip和端口對應關系如下&#xff09; 127.0.0.1:7000 127.0.0.1:7…

Redis集群添加節點

Redis集群添加節點 1&#xff1a;首先把需要添加的節點啟動 cd /usr/local/cluster/ mkdir 7006 cp /usr/local/cluster/redis.conf /usr/local/cluster/7006/ cd /usr/local/cluster/7006/ vi redis.conf ##修改redis.conf中的port參數的值為7006 redis-server redis.c…

PRML(2)--緒論(下)模型選擇、緯度災難、決策論、信息論

PRML緒論1.3 模型選擇1.4 緯度災難1.5 決策論1.5.1最小錯誤分率1.5.2最小化期望損失1.5.3拒絕選項1.5.4推斷和決策1.5.5 回歸問題的損失函數1.6 信息論1.3 模型選擇 模型過復雜會造成過擬合問題&#xff0c;需要通過一些技術來降低模型的復雜度。 就最大似然而言&#xff0c;可…

leetcode112 路徑總和

給定一個二叉樹和一個目標和&#xff0c;判斷該樹中是否存在根節點到葉子節點的路徑&#xff0c;這條路徑上所有節點值相加等于目標和。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定如下二叉樹&#xff0c;以及目標和 sum 22&#xff0c; 5 / \ …

關于游戲架構設計的一些整理吧

一個大型的網落游戲服務器應該包含幾個模塊:網絡通訊,業務邏輯,數據存儲,守護監控(不是必須),其中業務邏輯可能根據具體需要,又劃分為好幾個子模塊。 這里說的模塊可以指一個進程,或者一個線程方式存在,本質上就是一些類的封裝。