1. 程式人生 > >【平價資料】GAN用於半監督學習

【平價資料】GAN用於半監督學習

Salimans, Tim, et al. “Improved techniques for training gans.” Advances in Neural Information Processing Systems. 2016.

概述

GAN的發明者Ian Goodfellow2016年在Open AI任職期間發表了這篇論文,其中提到了GAN用於半監督學習(semi supervised)的方法。稱為SSGAN
作者給出了Theano+Lasagne實現。本文結合原始碼對這種方法的推導和實現進行講解。1

半監督學習

考慮一個分類問題。
如果訓練集中大部分樣本沒有標記類別,只有少部分樣本有標記。則需要用半監督學習

(semi-supervised)方法來訓練一個分類器。

wiki上的這張圖很好地說明了無標記樣本在半監督學習中發揮作用:
這裡寫圖片描述

如果只考慮有標記樣本(黑白點),純粹使用監督學習。則得到垂直的分類面。
考慮了無標記樣本(灰色點)之後,我們對樣本的整體分佈有了進一步認識,能夠得到新的、更準確的分類面。

核心理念

在半監督學習中運用GAN的邏輯如下。

  • 無標記樣本沒有類別資訊,無法訓練分類器;
  • 引入GAN後,其中生成器(Generator)可以從隨機訊號生成偽樣本;
  • 相比之下,原有的無標記樣本擁有了人造類別:真。可以和偽樣本一起訓練分類器。
    這裡寫圖片描述

舉個通俗的例子:就算沒人教認字,多練練分辨“是不是字”也對認字有好處。有粗糙的反饋,也比沒有反饋強。

原理

框架

GAN中的兩個核心模組是生成器(Generator)和鑑別器(Discriminator)。這裡用分類器(Classifier)代替了鑑別器。
這裡寫圖片描述

訓練集中包含有標籤樣本xl和無標籤樣本xu
生成器從隨機噪聲生成偽樣本If
分類器接受樣本I,對於K類分類問題,輸出K+1維估計l,再經過softmax函式得到概率p:其前K維對應原有K個類,最後一維對應“偽樣本”類。
p的最大值位置對應為估計標籤y

softmax(xi)=exp(xi)jexp(xj)

三種誤差

整個系統涉及三種誤差。

對於訓練集中的有標籤樣本,考察估計的標籤是否正確。即,計算分類為相應的概率:

Llabel=E[lnp(y|x)]

對於訓練集中的無標籤樣本,考察是否估計為“真”。即,計算不估計為K+1類的概率:

Lunlabel=E[ln(1p(K+1|x))]

對於生成器產生的偽樣本,考察是否估計為“偽”。即,計算估計為K+1類的概率:

Lfake=E[lnp(K+1|x)]

推導

考慮softmax函式的一個特性:

softmax(xic)=exp(xic)jexp(xjc)=exp(xi)/exp(c)jexp(xj)/exp(c)=softmax(xi)
即,如果輸入各維減去同一個數,softmax結果不變。
於是,可以令lllK+1,有lK+1=0p=softmax(l)保持不變。

期望號略去不寫,利用explK+1=1後兩種代價變為:

Lunlabel=ln[1p(K+1|x)]=lnKj=1expljKj=1explj+explK+1=lnj=1Kexplj+ln1+j=1Kexplj Lfake=ln[p(K+1|x)]=ln

相關推薦

平價資料GAN用於監督學習

Salimans, Tim, et al. “Improved techniques for training gans.” Advances in Neural Information Processing Systems. 2016. 概述

平價資料SimGAN:活用合成數據和無監督資料

Shrivastava, Ashish, et al. “Learning from simulated and unsupervised images through adversarial training.” IEEE Conference on C

GAN監督學習上的應用

參考論文:https://arxiv.org/pdf/1606.01583.pdf http://arxiv.org/abs/1606.03498 摘要 近幾年,深度學習聲名鵲起,一個又一個AI領域被深度學習攻破,然而現在大部分深度學習所採用的演算法都是有監督學習的方法,需要大量的標

手把手教你用GAN實現監督學習

引言 本文主要介紹如何在tensorflow上僅使用200個帶標籤的mnist影象,實現在一萬張測試圖片上99%的測試精度,原理在於使用GAN做半監督學習。前文主要介紹一些原理部分,後文詳細介紹程式碼及其實現原理。前文介紹比較簡單,有基礎的同學請掠過直接看第二

GAN ZOO翻譯系列Cat GAN:UNSUPERVISED AND SEMI-SUPERVISED LEARNING WITH CATEGORICAL GAN 用於監督監督學習GAN

Jost Tobias Springenberg 弗萊堡大學 79110 Freiburg, Germany [email protected] 原文連結https://arxiv.org/abs

IM關於監督學習的理解

基於流形假設的半監督學習:假定輸入概率密度p(x)和條件概率密度p(y|x)之間具有某種關聯,估計p(x)輔助對p(y|x)的估計以提升精度。流形假設,即輸入資料只出現在某個流形上,輸出則在該流形上平滑變化。 拉普拉斯正則化是把輸入資料在流形上進行函式平滑的半監督學習演算法,結合拉普拉斯矩陣(L

GCN圖卷積網路的監督學習脈絡

1、入門: 知乎回答:從CNN到GCN的聯絡與區別——GCN從入門到精(fang)通(qi) 2、論文閱讀: 論文地址:SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS 論文翻譯1:圖卷積神經網路的半監督

監督學習MixMatch、UDA、ReMixMatch、FixMatch

半監督學習(Semi-Supervised Learning,SSL)的 SOTA 一次次被 Google 重新整理,從 MixMatch 開始,到同期的 UDA、ReMixMatch,再到 2020 年的 FixMatch。 目錄Consistency RegularizationEntropy Minim

論文解讀監督學習Google教你水論文A Simple Semi-Supervised Learning Framework for Object Detection

題記:最近在做LLL(Life Long Learning),接觸到了SSL(Semi-Supervised Learning)正好讀到了谷歌今年的論文,也是比較有點開創性的,淺顯易懂,對比實驗豐富,非常適合缺乏基礎科學常識和剛剛讀研不會寫論文的同學讀一讀,觸類旁通嘛。   這篇論文思路等等也非常適合剛剛開始

詳細資料ICN6202:MIPI DSI轉LVDS芯片簡介

blog mipi png images logs log 簡介 es2017 mage ICN6202功能MIPI DSI轉LVDS,分辨率1920*1200,封裝QFN40 【詳細資料】ICN6202:MIPI DSI轉LVDS芯片簡介

完整資料TC358779XBG:HDMI轉MIPI DSI芯片方案

。。 alt http 方案 es2017 com png 廣告 領域 TC358779XBG是一顆HDMI1.4轉MIPI DSI帶縮放功能的芯片,分辨率1920*1080,封裝BGA80。通信方式:IIC,電源3.3/1.8/2.2,應用領域:平板,廣告機,VR,顯示

收集資料OpenGL學習

cor mic spa post 學習 sch code 開源 HR 1、課本配套網站,有Sample Code和書中的圖片等 http://math.ucsd.edu/~sbuss/MathCG/ 2、Visual C++的幫助系統可查閱基本OpenGL函數(不包括G

偽標籤:教你玩轉無標籤資料監督學習方法

對於每個機器學習專案而言,資料是基礎,是不可或缺的一部分。在本文中,作者將會展示一個名為偽標籤的簡單的半監督學習方法,它可以通過使用無標籤資料來提高機器學習模型的效能。 偽標籤 為了訓練機器學習模型,在監督學習中,資料必須是有標籤的。那這是否意味著無標籤的資料對於諸如分類和迴歸之類的監督任務

學習資料 持續整合---測試自動化學習

[持續交付實踐] 開篇:持續整合&持續交付綜述 前言 隨著微服務架構與容器虛擬化技術的發展,持續整合與持續交付的概念又重新回到了大家的視野,越來越多的公司開始使用持續整合的系統來解決頻繁釋出帶來的質量問題;使用持續交付的工具來實現程式碼在不同環境上的自動部署。原本有些學院派烏托邦

資料Hive作者肯定進修過藍翔挖掘機

正經標題應該是:解決hive初始化mysql資料庫錯誤的一種方式   Hive安裝包下載地址: https://mirrors.tuna.tsinghua.edu.cn/apache/hive/   事情原因是這樣的,我按照書上的步驟一步一步走,到了該用hiv

資料CentOS6.5安裝mysql5.6(靠譜!)

  一、吐槽        我明明是跟著老師寫的書上一步一步來的,到最後出現了一堆錯誤,然後從網上找教程,網上那些人不知道咋想的,啥也往上貼,隨便一篇,除了自己能看懂沒幾個人能看懂的文章就貼到網上了。  &n

資料瞭解Hadoop框架的基礎知識

介紹 此Refcard提供了Apache Hadoop,這是最流行的軟體框架,可使用簡單的高階程式設計模型實現大型資料集的分散式儲存和處理。我們將介紹Hadoop最重要的概念,描述其架構,指導您如何開始使用它以及在Hadoop上編寫和執行各種應用程式。 簡而言之,Hadoop是Apache Softwar

Jmeter,使用外部檔案資料作為請求資料發起HTTP請求

目錄 前言 操作 (一)新增執行緒組 (二)新增HTTP請求 (三)新增HTTP資訊頭管理器 (四)準備資料檔案 (五)新增CSV資料檔案設定 (五)設定HTTP請求的入參為外部資料變數(按列) (六)新增察看結果樹 (七)新增聚合報告 (八)修改執行緒組

資料HDFS

一、什麼是HDFS HDFS是什麼:HDFS即Hadoop分散式檔案系統(Hadoop Distributed Filesystem),以流式資料訪問模式來儲存超大檔案,運行於商用硬體叢集上,是管理網路中跨多臺計算機儲存的檔案系統。 HDFS不適合用在:要求低時間延遲資料訪問的應

資料什麼是hadoop

一、hadoop簡介 Hadoop是使用Java編寫,允許分佈在叢集,使用簡單的程式設計模型的計算機大型資料集處理的Apache的開源框架。 二、hadoop架構設計 ⑴hadoopcommon hadoop基礎設施模組 ⑵hdfs 分散式檔案系統 ⑶mapreduc