1. 程式人生 > >模擬上帝之手的對抗博弈——GAN背後的數學原理

模擬上帝之手的對抗博弈——GAN背後的數學原理

作者:李樂 CSDN專欄作家

簡介

深度學習的潛在優勢就在於可以利用大規模具有層級結構的模型來表示相關資料所服從的概率密度。從深度學習的浪潮掀起至今,深度學習的最大成功在於判別式模型。判別式模型通常是將高維度的可感知的輸入訊號對映到類別標籤。訓練判別式模型得益於反向傳播演算法、dropout和具有良好梯度定義的分段線性單元。然而,深度產生式模型相比之下遜色很多。這是由於極大似然的聯合概率密度通常是難解的,逼近這樣的概率密度函式非常困難,而且很難將分段線性單元的優勢應用到產生式模型的問題。

基於以上的觀察,作者提出了產生對抗網路。顧名思義,產生對抗網路包含兩個網路:產生器和判別器。產生器負責偽造一些資料,要求這些資料儘可能真實(儘可能服從只有上帝知道的概率分佈),而判別器負責判別給定資料是偽造的(來自產生器生成的資料),還是來自由上帝創造的真實分佈。至此,我們不得不佩服作者如此的問題形式化。整個過程中就是在博弈。產生器儘可能偽造出真實的資料,而判別器儘可能提高自身的判別效能。

這樣一種問題形式化實際上是一種通用框架,因為判別器和生成器可以是任何一種深度模型。為了簡單起見,該篇文章只利用多層感知機,而且生成器所生成的樣本是由隨機噪聲得到的。利用這種方法,整個模型的訓練融入了之前無法利用的反向傳播演算法和dropout. 這個過程中不需要近似推測和馬爾科夫鏈。

產生對抗網路

這部分將具體介紹產生對抗網路模型,並詳細推匯出GAN的優化目標。

簡單起見,生成器和判別器都基於多層感知神經元。對於生成器,我們希望它是一個由噪聲到所希望生成資料的一個對映;對於判別器,它以被考查的資料作為輸入,輸出其服從上帝所定義的概率分佈的概率值。下圖清晰地展示了這個過程。

圖片描述

假設我們有包含m

個樣本的訓練集S={x(1),...,x(m)}. 此外,任給一種概率密度函式pz(z)(當然,在保證模型複雜度的前提下,相應的概率分佈越簡單越好),我們可以利用隨機變數Zpz(z)取樣得到m個噪聲樣本{z(1),...,z(m)}. 由此,我們可以得到似然函式

L(x(1),...,x(m),z(1),...,z(m)|θg,θd)=i=1mD(x(i))I{x(i)Data}(1D(x(i)))I{x(i)Data}j=1mD(G(x(j)))I{G(x(

相關推薦

模擬上帝對抗博弈——GAN背後數學原理

作者:李樂 CSDN專欄作家 簡介 深度學習的潛在優勢就在於可以利用大規模具有層級結構的模型來表示相關資料所服從的概率密度。從深度學習的浪潮掀起至今,深度學習的最大成功在於判別式模型。判別式模型通常是將高維度的可感知的輸入訊號對映到類別標籤。訓練判別式模型得益於反向傳播演算法、drop

【Unity3D遊戲開發學習筆記】(六)上帝—GameObject的操作

在Unity中,所有實體都屬於遊戲物件(GameObject),比如外部匯入到場景中的模型,Unity自帶的立方體等等,而要將這些GameOject進行管理,互動等操作,則需要用到指令碼來實現,上一節我們已經學習瞭如何建立一個指令碼並繫結到一個物體上,現在我們將

生成對抗網路GAN---生成mnist寫數字影象示例(附程式碼)

Ian J. Goodfellow等人於2014年在論文Generative Adversarial Nets中提出了一個通過對抗過程估計生成模型的新框架。框架中同時訓練兩個模型:一個生成模型(generative model)G,用來捕獲資料分佈;一個判別模型(discri

3.1 spring5原始碼系列--迴圈依賴 寫程式碼模擬spring迴圈依賴

本次部落格的目標 1. 手寫spring迴圈依賴的整個過程 2. spring怎麼解決迴圈依賴 3. 為什麼要二級快取和三級快取 4. spring有沒有解決建構函式的迴圈依賴 5. spring有沒有解決多例下的迴圈依賴. 一.  什麼是迴圈依賴? 如下圖所示:    &n

ACdream區域賽指導賽速賽系列(5) 題解

hello cor hang repeated exit p s -o inpu ans A - Problem A Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/

爬蟲模擬登陸formdata表單數據

name 圖片 智聯招聘 字段名 img 1-1 格式 都是 blog 首先HTTP協議是個無連接的協議,瀏覽器和服務器之間是以循環往復的請求回復來交互的,交互的形式是以文件形式來進行的。比如在chrome開發者工具network中看到了 每一行是一個文件,又文件大小

Linux系列教程(十九)——Linux文件系統管理工分區

image u盤 true 掛載 但是 常用 選項 光盤 幫助   上篇博客我們首先介紹了硬盤為什麽要分區,以及Linux系統的幾種分區類型,然後介紹了Linux系統幾個常用的文件系統命令,最後講解了掛載命令,並通過實例演示了如何掛載光盤和U盤。   本篇博客我們將介紹l

執子,與子偕老

http info .com pos com ima inf src 技術 執子之手,與子偕老

透徹理解Spring事務設計思想寫實現

數據庫操作 cal 了解 hashmap 個數 這一 use action 管道 前言 事務,是描述一組操作的抽象,比如對數據庫的一組操作,要麽全部成功,要麽全部失敗。事務具有4個特性:Atomicity(原子性),Consistency(一致性),Isolation(隔離

理解數據庫連接池底層原理寫實現

ring cda color 要去 分配 .com 管理 roc tex 前言 數據庫連接池的基本思想是:為數據庫連接建立一個“緩沖池”,預先在池中放入一定數量的數據庫連接管道,需要時,從池子中取出管道進行使用,操作完畢後,在將管道放入池子中,從而避免了頻繁的向數據庫申請資

上帝眼APP——實時定位監控、即時通訊

界面 sdk clas inf 運動 登陸 pos post 兒童 項目地址 https://github.com/guoyaohua/GodsEYE 開發環境 Android studio 2.3.1 極光推送IM SDK 百度鷹眼SDK 背景介紹 定位監控系統,不僅僅是

制作上帝

任務任務在星期二上午,我們在教室裏完成了――上帝之眼的制作制作上帝之眼

上帝眼文章

也和我上帝之眼文章

上帝

其它在這個時候,同學們正開開心心的做著上帝之眼,盡管有些人不願意做,但還是情不自禁的跟著做了,因為這是一個任務!在過程中,我們做了好多個上帝之眼下面是我們上帝之眼

我們做的上帝眼。

上帝之眼 今天,我們在老師的指導下,我們做了 許多的上帝之眼。我們在的五花八門,千奇百怪,有的做的太緊了,又有的做的太松了。不過都很美麗,做這個我們花了很長時間才做好一個。手都酸了,我們做的上帝之眼。

我們的上帝

無我們的上帝之眼

Goroutine並發調度模型深度解析擼一個協程池

if判斷 存儲 衍生 成了 100% 玩意兒 取出 F12 pan golanggoroutine協程池Groutine Pool高並發 並發(並行),一直以來都是一個編程語言裏的核心主題之一,也是被開發者關註最多的話題;Go語言作為一個出道以來就自帶 『高並發』光

C++寫strlen函數

sse details nbsp blank tail char 實現 article != 代碼: int strlen(const char *str){ assert(str!=NULL); intlen=0; while((*str++)!=‘\0‘) len

前端面試題寫二叉排序樹

前端面試題之手寫二叉排序樹 二叉排序樹:每個節點的左節點都比根節點小,右節點都比根節點大 function TreeNode(data, left, right) { //節點結構 this.val = data; this.left = left; this

Netty實現高效能IOT伺服器(Groza)撕MQTT協議篇上

      前言 誕生及優勢 MQTT由Andy Stanford-Clark(IBM)和Arlen Nipper(Eurotech,現為Cirrus Link)於1999年開發,用於監測穿越沙漠的石油管道。目標是擁有一個頻寬有效且使用很少電池電量的協議,因為這