Úvod do autoenkodérů

Je to případ umělé neuronové sítě používané k objevování efektivního kódování dat bezobslužným způsobem. Cílem Autoencoderu je naučit se prezentaci pro skupinu dat, zejména pro snížení rozměrů. Autoencoders mají jedinečnou vlastnost, kde jeho vstup je stejný jako jeho výstup vytvářením feedforwarding sítí. Autoencoder převádí vstup na komprimovaná data, aby vytvořil nízkodimenzionální kód, a pak znovu opakuje vstup, aby vytvořil požadovaný výstup. Komprimovaný kód vstupu se také nazývá reprezentace latentního prostoru. Jednoduše řečeno, hlavním cílem je snížit zkreslení mezi obvody.

Autoencoder má tři hlavní komponenty. Jsou to kodér, dekodér a kód. Kodér a dekodér jsou zcela spojeny, aby vytvořily síť pro předávání posuvu. Kód funguje jako jedna vrstva, která funguje podle vlastní dimenze. Chcete-li vyvinout automatický kodér, musíte nastavit hyperparametr, kterým musíte nastavit počet uzlů v základní vrstvě. Podrobněji je výstupní sítí dekodéru zrcadlový obraz vstupního kodéru. Dekodér vytváří požadovaný výstup pouze pomocí kódové vrstvy.

Zajistěte, aby kodér i dekodér měly stejné rozměrové hodnoty. Důležitým parametrem pro nastavení autoencoderu je velikost kódu, počet vrstev a počet uzlů v každé vrstvě.

Velikost kódu je definována celkovým počtem uzlů přítomných ve střední vrstvě. K dosažení účinné komprese je vhodné použít malou velikost střední vrstvy. Počet vrstev v automatickém kodéru může být podle potřeby hluboký nebo mělký. Počet uzlů v automatickém kodéru by měl být stejný v kodéru i dekodéru. Vrstva dekodéru a kodéru musí být symetrická.

V skládaném autoencoderu máte v kodéru i dekodéru jednu neviditelnou vrstvu. Skládá se z ručně psaných obrázků o velikosti 28 * 28. Nyní můžete vyvinout automatický kódovač se 128 uzly v neviditelné vrstvě s 32 jako velikost kódu. Chcete-li přidat mnoho čísel vrstev, použijte tuto funkci

model.add(Dense(16, activation='relu'))
model.add(Dense(8, activation='relu'))

pro konverzi,

layer_1 = Dense(16, activation='relu')(input)
layer_2 = Dense(8, activation='relu')(layer_1)

Nyní je výstup této vrstvy přidán jako vstup do další vrstvy. toto je volitelná vrstva v této husté metodě. Tuto funkci provádí dekodér. Používá metodu sigmoid k získání výstupu mezi 0 a 1. Protože vstup leží v rozsahu 0 až 1

Rekonstrukce vstupu pomocí Autoencoderu v této metodě se provádí predikcí. Provádí se jednotlivý obrazový test a výstup není přesně takový jako vstup, ale podobný jako vstup. Chcete-li tyto potíže překonat, můžete zefektivnit automatický kód přidáním mnoha vrstev a přidáním více uzlů do vrstev. Pokud je však výkonnější, bude to mít za následek kopii dat podobných vstupu. To však není očekávaný výsledek.

Architektura autoencoderu

V této skládané architektuře má kódová vrstva malou rozměrovou hodnotu než vstupní informace, ve které se říká, že je pod úplným automatickým kodérem.

1. Denoising Autoencoders

V této metodě nemůžete zkopírovat vstupní signál na výstupní signál, abyste získali dokonalý výsledek. Protože zde vstupní signál obsahuje šum, který musí být odečten, než získá výsledek, který je podkladovými potřebnými daty. Tento proces se nazývá denoising autoencoder. První řádek obsahuje původní obrázky. Aby se z nich stal hlučný vstupní signál, přidají se některá hlučná data. Nyní můžete navrhnout autoencoder tak, abyste získali bezhlučný výstup následujícím způsobem

autoencoder.fit(x_train, x_train)

Upravený Autoencoder je následující,

autoencoder.fit(x_train_noisy, x_train)

Díky tomu můžete snadno získat výstup bez šumu.

Konvoluční autoencoder se používá ke zpracování složitých signálů a také k lepšímu výsledku než normální proces

2. Řídké autoenkodéry

Chcete-li používat autoenkodéry efektivně, můžete provést dva kroky.

Nastavte malou velikost kódu a druhým je odcizení autoencoderu.

Další účinnou metodou je regularizace. Chcete-li použít tuto regularizaci, musíte upravit omezení sparity. Chcete-li aktivovat některé části uzlů ve vrstvě, přidejte další funkce navíc ke ztrátové funkci, která tlačí autoencoder, aby každý vstup vytvořil jako kombinované menší uzly, a to způsobí, že kodér najde v daných datech nějaké jedinečné struktury. Je také použitelná pro velké množství dat, protože je aktivována pouze část uzlů.

Hodnota omezení sparity je blíže nule

Chcete-li vygenerovat vrstvu kódu,

code = Dense(code_size, activation='relu')(input_img)

Chcete-li přidat hodnotu regularizace,

code = Dense(code_size, activation='relu', activity_regularizer=l1(10e-6))(input_img)

V tomto modelu je pouze 0, 01 konečná ztráta, která také kvůli regularizačnímu období.

V tomto řídkém modelu je banda hodnot kódu věrná očekávanému výsledku. Má však poměrně nízké hodnoty rozptylu.

Pravidelné autoenkodéry mají jedinečné vlastnosti, jako je odolnost vůči chybějícím vstupům, řídká reprezentace a nejbližší hodnota k derivátům v prezentacích. Chcete-li efektivně používat, udržujte minimální velikost kódu a mělký kodér a dekodér. Zjistí vysokou kapacitu vstupů a pro efektivní kódování nepotřebují žádný další regularizační termín. Jsou vyškoleni, aby dávali maximalizovaný efekt, nikoli kopírování a vkládání.

3. Variační autoencoder

Používá se ve složitých případech a zjišťuje šance na distribuci při navrhování vstupních dat. Tento variační autoencoder používá metodu vzorkování, aby získal svůj efektivní výstup. Sleduje stejnou architekturu jako regularizované autoenkodéry

Závěr

Proto se autoenkodéry používají k učení skutečných dat a obrázků, zapojených do binárních a více třídních klasifikací. Jeho jednoduchý proces pro zmenšení rozměrů. Používá se ve stroji s omezeným Boltzmannem a hraje v něm zásadní roli. Používá se také v biochemickém průmyslu k objevování neodhalené části učení a používá se k identifikaci vzorce inteligentního chování. Každá součást strojového učení má samoorganizovaný charakter, Autoencoder je jedním z těch, které se úspěšně učí umělé inteligenci

Doporučené články

Toto je průvodce Autoencoders. Zde diskutujeme o hlavních komponentách v Autoencoderu, které jsou kodérem, dekodérem a kódem, a architekturou Autoencoderu. Další informace naleznete také v následujících článcích -

  1. Architektura velkých dat
  2. Kódování vs dekódování
  3. Architektura strojového učení
  4. Technologie velkých dat

Kategorie: