Zrozumiałem, jak działa GAN, podczas gdy dwie sieci (generatywna i dyskryminacyjna) konkurują ze sobą. Zbudowałem DCGAN (GAN z dyskryminatorem splotowym i generatorem dekonwolucji), który teraz z powodzeniem generuje ręcznie pisane cyfry podobne do tych w zestawie danych MNIST.
Dużo czytałem o aplikacjach GAN do wyodrębniania funkcji z obrazów. Jak wykorzystać wyszkolony model GAN (w zestawie danych MNIST) do wyodrębnienia funkcji z ręcznie zapisanych obrazów digist MNIST?
Odpowiedzi:
Zazwyczaj do wyodrębnienia funkcji można użyć górnej warstwy sieci przed wyjściem. Intuicja polega na tym, że funkcje te można rozdzielić liniowo, ponieważ górna warstwa jest tylko regresją logistyczną.
W przypadku sieci GAN można korzystać z funkcji dyskryminatora. Funkcje te mają dawać prawdopodobieństwo, jeśli dane wejściowe pochodzą ze zbioru danych szkoleniowych „prawdziwe obrazy”. W dokumencie DCGAN Radforda wykorzystują wszystkie splotowe warstwy dyskryminatora i uruchamiają funkcje maksymalnego wyciągania warstw pulujących dla CIFAR-10.
źródło
Odpowiedź Kenny'ego jest poprawna - jeśli używasz splotowego D , wyjście warstw przed gęstym może służyć jako cechy. Moją intuicją jest to, że będzie działać lepiej dla AC-GAN (lub podobnych architektur, które sprawiają, że D klasyfikuje dane wejściowe oprócz ustalania, czy są fałszywe, czy prawdziwe).
Jest to podejście zwane Bigan który dodaje Encoder komponentu zdolnego do mapy generowane i szkoleniowe próbki do utajonego dystrybucyjnej Z użytego do generatora „Initialize”. Autorzy pokazują, że można go skutecznie wykorzystać jako zestaw funkcji do nauki transferu i innych zadań.
źródło
ponieważ GAN składa się z dwóch części - generatora i dyskryminatora, istnieją dwa sposoby wykorzystania GAN jako ekstraktora funkcji:
Drugi sposób jest bardziej kontrowersyjny. Niektóre badania [1] uważały, że intuicyjnie, ponieważ celem dyskryminatora jest odróżnienie wygenerowanych próbek od próbek rzeczywistych, skupi się on tylko na różnicy między tymi dwoma rodzajami próbek. Ale sensowna jest różnica między rzeczywistymi próbkami, którymi są próbki wykorzystywane w dalszych zadaniach.
Próbowałem to przestudiować i odkryłem, że wyodrębnioną cechę można podzielić na dwie ortogonalne podprzestrzenie. Pierwsza przestrzeń przyczynia się do zadania dyskryminatora, a druga jest od niej wolna. Ponieważ w większości przypadków cechami odróżniającymi rzeczywiste próbki od generowanych są szumy, druga przestrzeń cech będzie wolna od szumów. Z tej perspektywy, chociaż zadanie dyskryminatora nie skupi się na różnicy między rzeczywistymi próbkami, które są przydatne w dalszych zadaniach, funkcje bezszumowe zawarte w drugiej podprzestrzeni będą działać.
[1] Jost Tobias Springenberg. Uczenie się bez nadzoru i częściowo pod nadzorem z kategorycznymi generatywnymi sieciami przeciwnymi. arXiv: 1511.06390 [cs, stat], kwiecień 2016. Przedruk arXiv. arXiv: 1511.06390 [stat.ML]. Ithaca, NY: Cornell University Library.
źródło