Wprowadzenie do autokoderów

Jest tak w przypadku sztucznej siatki neuronowej wykorzystywanej do odkrywania skutecznego kodowania danych w sposób nienadzorowany. Cel Autoencodera służy do nauki prezentacji dla grupy danych, szczególnie dla zmniejszenia wymiarów. Autoencodery mają unikalną funkcję, w której ich wejście jest równe jego mocy wyjściowej poprzez utworzenie sieci przekazywania danych. Autoencoder przekształca dane wejściowe w skompresowane dane w celu utworzenia kodu o niskim wymiarze, a następnie ponownie pobiera dane wejściowe w celu uzyskania pożądanego wyniku. Skompresowany kod wejściowy jest również nazywany reprezentacją ukrytej przestrzeni. Krótko mówiąc, głównym celem jest zmniejszenie zniekształceń między obwodami.

Istnieją trzy główne komponenty Autoencodera. Są to Enkoder, Dekoder i Kod. Enkoder i dekoder są całkowicie połączone, tworząc siatkę przesyłu paszy. Kod działa jak pojedyncza warstwa, która działa według własnego wymiaru. Aby opracować Autoencoder, musisz ustawić hiperparametr, czyli musisz ustawić liczbę węzłów w warstwie podstawowej. Bardziej szczegółowo sieć wyjściowa dekodera jest odbiciem lustrzanym kodera wejściowego. Dekoder wytwarza pożądane dane wyjściowe tylko za pomocą warstwy kodu.

Upewnij się, że koder i dekoder mają te same wartości wymiarowe. Ważnym parametrem do ustawienia autoencodera jest rozmiar kodu, liczba warstw i liczba węzłów w każdej warstwie.

Rozmiar kodu jest definiowany przez całkowitą liczbę węzłów obecnych w środkowej warstwie. Aby uzyskać skuteczną kompresję, wskazany jest mały rozmiar środkowej warstwy. Liczba warstw w autoencoderze może być głęboka lub płytka, jak chcesz. Liczba węzłów w autoenkoderze powinna być taka sama w koderze i dekoderze. Warstwa dekodera i kodera musi być symetryczna.

W ustawionym w stos auto-koderze masz jedną niewidoczną warstwę zarówno w koderze, jak i dekoderze. Składa się z odręcznych zdjęć o rozmiarze 28 * 28. Teraz możesz opracować autoencoder ze 128 węzłami w niewidocznej warstwie o rozmiarze 32 jako kodu. Aby dodać wiele liczb warstw, użyj tej funkcji

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

do konwersji

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

Teraz wynik tej warstwy jest dodawany jako dane wejściowe do następnej warstwy. jest to warstwa nadająca się do wywołania w tej gęstej metodzie. Dekoder pełni tę funkcję. Wykorzystuje metodę sigmoid, aby uzyskać wynik od 0 do 1. Ponieważ dane wejściowe mieszczą się w zakresie od 0 do 1

Rekonstrukcja danych wejściowych przez Autoencoder w tej metodzie odbywa się przez prognozowanie. Indywidualny test obrazu jest przeprowadzany, a wynik nie jest dokładnie taki sam jak wejście, ale podobny jak wejście. Aby przezwyciężyć te trudności, możesz zwiększyć wydajność autokodera, dodając wiele warstw i dodając wiele węzłów do warstw. Ale dzięki większej mocy daje kopię danych podobną do danych wejściowych. Ale to nie jest oczekiwany wynik.

Architektura Autoencodera

W tej skumulowanej architekturze warstwa kodu ma małą wartość wymiarową niż informacja wejściowa, w której mówi się, że znajduje się pod całkowitym autoenkoderem.

1. Denoising Autoencoders

W tej metodzie nie można skopiować sygnału wejściowego na sygnał wyjściowy, aby uzyskać idealny wynik. Ponieważ tutaj sygnał wejściowy zawiera szum, który należy odjąć przed uzyskaniem wyniku, który jest podstawą potrzebnych danych. Ten proces nazywa się autoakoderem odszumiania. Pierwszy rząd zawiera oryginalne obrazy. Aby były głośnym sygnałem wejściowym, dodano niektóre zaszumione dane. Teraz możesz zaprojektować autoencoder, aby uzyskać bezszumowy sygnał wyjściowy w następujący sposób

autoencoder.fit(x_train, x_train)

Zmodyfikowany Autoencoder wygląda następująco:

autoencoder.fit(x_train_noisy, x_train)

Dzięki temu można łatwo uzyskać dźwięk bez szumów.

Autokoder Convolution służy do obsługi złożonych sygnałów, a także uzyskania lepszego wyniku niż normalny proces

2. Rzadkie autokodery

Aby skutecznie korzystać z autoencoderów, możesz wykonać dwa kroki.

Ustaw mały rozmiar kodu, a drugi odmawia autoencodera.

Kolejną skuteczną metodą jest legalizacja. Aby zastosować tę regularyzację, należy uregulować ograniczenia rzadkości. Aby aktywować niektóre części węzłów w warstwie, dodaj kilka dodatkowych terminów do funkcji straty, która popycha autoencoder, aby każde wejście było połączone mniejszymi węzłami i sprawia, że ​​koder znajduje pewne unikalne struktury w danych. Dotyczy to również dużej liczby danych, ponieważ aktywowana jest tylko część węzłów.

Wartość ograniczenia rzadkości jest bliższa zeru

Aby wygenerować warstwę kodu,

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

Aby dodać wartość regularyzacji,

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

W tym modelu tylko 0, 01 to końcowa strata, która również z powodu terminu regularyzacji.

W tym rzadkim modelu wiązka wartości kodu jest zgodna z oczekiwanym wynikiem. Ale ma dość niskie wartości wariancji.

Standaryzowane autokodery mają unikalne właściwości, takie jak odporność na brakujące dane wejściowe, rzadka reprezentacja i wartość najbliższa pochodnym w prezentacjach. Aby skutecznie korzystać, należy zachować minimalny rozmiar kodu oraz płytki koder i dekoder. Odkryli dużą pojemność wejść i nie potrzebują żadnego dodatkowego terminu regularyzacji, aby kodowanie było skuteczne. Są szkoleni, aby uzyskać maksymalny efekt, a nie kopiować i wklejać.

3. Autoencoder wariacyjny

Jest stosowany w skomplikowanych przypadkach i znajduje szanse na zaprojektowanie danych wejściowych przez dystrybucję. Ten wariacyjny autoencoder wykorzystuje metodę próbkowania, aby uzyskać efektywną moc wyjściową. Jest zgodny z tą samą architekturą co znormalizowane autoencodery

Wniosek

Dlatego autokodery są wykorzystywane do uczenia się rzeczywistych danych i obrazów, uczestniczących w klasyfikacjach binarnych i wieloklasowych. To prosty proces redukcji wymiarów. Jest stosowany w ograniczonej maszynie Boltzmanna i odgrywa w nim istotną rolę. Jest również wykorzystywany w przemyśle biochemicznym do odkrywania nie objawionej części uczenia się i służy do identyfikowania wzorca inteligentnego zachowania. Każdy element uczenia maszynowego ma charakter samoorganizujący się, Autoencoder jest jednym z tych, które skutecznie uczą się sztucznej inteligencji

Polecane artykuły

To jest przewodnik po Autoencoderach. Tutaj omawiamy główne komponenty Autoencodera, które są koderem, dekoderem i kodem oraz architekturę Autoencodera. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Architektura Big Data
  2. Kodowanie a dekodowanie
  3. Architektura uczenia maszynowego
  4. Technologie Big Data

Kategoria: