LeCun önerilir! GAN almak için 50 satır PyTorch kodu

1 Xinzhiyuan derlemesi

2014 yılında, Ian Goodfellow ve Montreal Üniversitesi'ndeki meslektaşları dünyaya GAN'ı veya Generative Adversarial Networks'ü getiren harika bir makale yayınladı. Hesaplamalı grafikler ve oyun teorisinin yenilikçi bir kombinasyonu yoluyla, yeterli modelleme kapasitesi verildiğinde, iki rakip modelin sıradan eski B-P ağları aracılığıyla ortaklaşa eğitilebileceğini belirttiler.

Model iki farklı (kesin olmak gerekirse, düşmanca) rol oynar. Bazı gerçek veri kümesi (R) verildiğinde, G üreteçtir (gerçek veri gibi görünen sahte veriler oluşturmaya çalışır) ve D, verileri gerçek veri kümesinden veya G'den alan ve farkı işaretleyen ayırıcıdır. Goodfellow'un metaforu (iyi bir metafor), G'nin çıktılarını gerçek resimle eşleştirmeye çalışan bir grup dolandırıcıya benzediği ve D'nin farkı belirlemeye çalışan bir grup dedektif olduğudur. (Tek fark, yalancı G'nin orijinal verileri asla göremeyeceği, sadece D'nin yargısını görmesidir. Onlar bir grup kör yalancıdır).

İdeal olarak, G gerçekten orijinal verilerin "ana sahtekarlığı" haline gelene ve D tamamen kaybolana ve "doğru ile yanlışı ayırt edemeyene" kadar D ve G zamanla daha iyi hale gelecektir.

Aslında Goodfellow, G'nin orijinal veri setinde denetimsiz bir öğrenme gerçekleştirebileceğini ve verileri (muhtemelen) çok daha düşük bir boyutta temsil etmenin bir yolunu bulabileceğini belirtti. Yann LeCun'un dediği gibi, denetimsiz öğrenme, gerçek AI'nın "iyi kalbi" dir.

Bu güçlü teknik, başlamak için bir ton kod gerektiriyor gibi görünüyor, değil mi? Yapma. PyTorch'u kullanarak 50 satır kodda çok basit bir GAN oluşturabiliriz. Dikkate alınması gereken gerçekten sadece 5 bileşen var:

R: Orijinal ve gerçek veriler;

I: Jeneratöre entropi kaynağı olarak giren rastgele gürültü;

G: Orijinal veri oluşturucuyu taklit etmeye çalışın;

D: G'yi R'den ayırmaya çalışan bir ayırıcı;

G'ye D'yi kandırmayı öğrettiğimiz ve D'ye G'ye dikkat etmeyi öğrettiğimiz eğitim döngüsü.

1.) R: Örneğimizde, en basit R- a çan eğrisi ile başlayacağız. Bu işlev ortalama ve standart sapmayı alır ve bu parametrelerle normal bir dağılımdan örnek verilerin doğru şeklini sağlayan bir işlev döndürür. Örnek kodumuzda, ortalama 4,0 ve standart sapma 1,25 kullanacağız.

2.) I: Jeneratöre girdi de rastgeledir, ancak işimizi biraz daha zorlaştırmak için normal dağılım yerine tekdüze bir dağılım kullanalım. Bu, G modelimizin R'yi kopyalamak için girdiyi basitçe taşıyamayacağı / ölçekleyemeyeceği, ancak verileri doğrusal olmayan bir şekilde yeniden şekillendirmesi gerektiği anlamına gelir.

3.) G: Oluşturucu standart bir ileri besleme grafiğidir - iki gizli katman, üç doğrusal harita. ELU (üstel doğrusal birim) kullanıyoruz çünkü onlar yeni siyah, yo. G, I'den düzgün dağıtılmış bir veri örneği elde edecek ve bir şekilde R'den normal dağılmış örneği taklit edecektir.

4.) D: Ayırıcı kod, G'nin oluşturucu koduna çok benzer; iki gizli katman ve üç doğrusal haritaya sahip ileri besleme grafiği. R veya G'den örnekler alacak ve 0 ile 1 arasında tek bir skaler çıkaracak ve bunu "yanlış" ve "doğru" olarak yorumlayacaktır. Bir sinir ağının alabileceği bir korkak gibi.

5.) Son olarak, eğitim döngüsü iki mod arasında değişir: önce D'yi gerçek veriler ve doğru etiketlerle sahte veriler üzerinde eğitin (bunu bir polis akademisi olarak düşünün) ve ardından G'yi yanlış etiketlerle aldatmak için eğitin D. Bu, iyiyle kötü arasındaki bir mücadeledir.

Daha önce PyTorch'u görmemiş olsanız bile, ne olduğunu hala öğrenebilirsiniz. Birinci (yeşil) bölümde, her iki veri türünü de D'ye aktarıyoruz ve D'nin tahminine ve gerçek etiketine ayırt edilebilir kriterler uyguluyoruz. Bu itme bir "ileri" adımdır; daha sonra, d_optimizer adım çağrısında D parametresini güncellemek için kullanılacak olan gradyanı hesaplamak için açıkça "geri" çağırırız. Burada G kullanıyoruz, ancak antrenman yapmıyoruz.

Daha sonra son (kırmızı) kısımda, G-notu için aynı şeyi yapıyoruz ki, G'den D'ye kadar çıktıları da çalıştırıyoruz (temelde sahtekara onu eğitmesi için bir dedektif verdik), ancak bu adımda Veya D'yi değiştirin. Dedektif D'nin yanlış etiketi öğrenmesini istemiyoruz. Bu nedenle, biz sadece g_optimizer.step'i çağırıyoruz.

Hepsi bu kadar. Diğer bazı standart kodlar vardır, ancak GAN'a özgü şeyler yalnızca bu 5 bileşendir, başka hiçbir şey değildir.

D ve G arasındaki binlerce tabu dansında ne elde ederiz? Ayrımcı D hızla fayda elde eder (ve G yavaş yavaş gelişir), ancak belirli bir güce ulaştığında, G'nin değerli bir rakibi olur ve gelişmeye başlar. Gerçekten geliştirildi.

20.000'den fazla eğitim turundan sonra, ortalama G çıkışı 4.0'ı aştı, ancak daha sonra oldukça istikrarlı ve doğru bir aralığa geri döndü (aşağıdaki şekilde solda). Benzer şekilde, standart sapma başlangıçta yanlışlıkla azaldı, ancak daha sonra R ile eşleşen istenen 1.25 aralığına (aşağıdaki şekilde sağda) yükseldi.

Tamam, şimdi temel istatistikler R ile eşleşiyor. Peki ya bu yüksek anlar? Dağılımın şekli doğru görünüyor mu? Sonuçta, tabii ki ortalama 4.0 ve standart sapma 1.25 olan bir ortalama dağılıma sahip olabilirsiniz, ancak bu gerçekten R ile eşleşmeyecektir. G.'nin son dağılımına bakalım.

Fena değil. Sol kuyruk sağdan biraz daha uzundur, ancak çarpıklık ve basıklığın orijinal Gauss'un gerilemeleri olduğunu söylemeliyiz.

G, orijinal dağıtım R'yi neredeyse tamamen yeniden üretti ve D gizlice incindi çünkü artık gerçeği illüzyondan ayırt edemiyor. Bu tam olarak istediğimiz sonuçtur (bkz. Goodfellow'daki Şekil 1). 50 satırdan az kod kullanıldı.

Goodfellow, burada uygulanabilen mini parti ayrımcılık yöntemi de dahil olmak üzere bazı pratik iyileştirmeleri açıklayan bir 2016 cevheri de dahil olmak üzere GAN konularında birçok makale yayınlamaya devam ediyor. İşte 2016'da NIPS'te önerdiği 2 saatlik bir eğitim. TensorFlow kullanıcıları için, GAN'lardan Aylien'den paralel bir gönderi burada.

Yeter konuş. Koda bak.

Orijinal adres:

https://medium.com/@devnag/generative-adversarial-networks-gans-in-50-lines-of-code-pytorch-e81b79659e3f#.cg0ofu1s5

[AI Unicorn'u Arıyor] Xinzhiyuan, 10 büyük başkentle güçlerini birleştirdi

2017 Girişimcilik Yarışması'nı başlatın

AI Girişimcilik Yarışması, Xinzhiyuan ve 10 ana akım AI girişim sermayesi kuruluşundan oluşur: Blue Run Ventures, Sequoia Capital China Fund, Hillhouse Smart Artificial Intelligence Fund, Blue Lake Capital, Blue Elephant Capital, IDG Capital, Gaorong Capital, CITIC Jiantou Securities, Mingshi Capital ve Songhe Yuanwang Fund tarafından ortaklaşa başlatılan, Xinzhiyuan sponsorluğunda, Pekin Zhongguancun Bilim Parkı Yönetim Komitesi ve Zhongguancun Bilim Parkı Haidian Park Yönetim Komitesi tarafından desteklenen, AI teknoloji liderleri ve yatırım liderlerinin bir araya gelmesidir. Büyük olay. Xinzhiyuan, risk sermayesi kaynaklarıyla geleceğin iddialı AI tek boynuzlu atlarına bağlanmak için güçlü bir fırsat sunuyor ve en iyi risk sermayesi TS sizi bekliyor.

Orijinal metni okumak ve çevrimiçi başvuru formunu doldurmak için makalenin altına tıklayın. Seçime katılmak için kayıt formu gereklidir.

Daha fazla bilgiye sahipseniz (BP, vb.), Xzy100@aiera.com.cn adresine gönderebilirsiniz.Lütfen e-postanın konusuna şirket adını belirtin. Herhangi bir sorunuz varsa, posta kutusuna bir mektup da gönderebilirsiniz.

Dedektif her gün ne yapar? Gerçekten "ölüme doğması" gerekiyor mu?
önceki
Bu vizeleri bir daha asla göremeyebilirsiniz
Sonraki
Çok düşük bir peşinat ve ultra uzun garanti ile bu SUV "çalışkanlık ve tasarruflu temizlik" olarak adlandırılabilir!
Dünyanın pek çok ülkesi İran petrolünü ABD dolarına koyamayabilir, bundan kimler yararlanacak?
Neden geç kalmamalısın? Bu açıklama akıllara durgunluk veriyor!
Deneyimli bir sürücü olmak kaç yıl sürer? Bu üç numarayı anlayın, 3 gün yeter!
"Anne, geri döndüm!"
Li Shimin, 1400 yıldır güzel bir ginkgo ağacı dikti!
Eski fotoğraflar sizi Jiujiang Kamu Güvenliğinin 40. yılına götürüyor | Jiangxi Kamu Güvenliği'nin 40. reform ve açılış yıldönümünde izleri
"Bengio vs Google" derin öğrenme kardeşler hesaplaşması, sinir ağı genellemesinin özü için mücadele
Kör randevuda spor araba kullanma deneyimi nedir? Netizen: Kadının ailesi arabamın küçük alanından hoşlanmıyor
İşte dünyanın en güzel yıldızlı gökyüzü! Samanyolu'na bakmak ve dünyadaki Harikalar Diyarı ile tanışmak için buraya gelin!
Günaydın Aşkla eşanlamlı varsa, buna mucize derim
Luo Pang ve Wu Xiaobo'nun iyimser olduğu İnternet bilgi ekonomisi tam olarak nedir?
To Top