Uvod v Autoencoderje

Gre za umetno nevronsko mrežo, ki se uporablja za odkrivanje učinkovitega kodiranja podatkov brez nadzora. Cilj programa Autoencoder se uporablja za učenje predstavitve za skupino podatkov, zlasti za zmanjšanje dimenzij. Autoenkoderji imajo edinstveno funkcijo, kjer je njegov vložek enak izhodu, ki ga tvorijo omrežja za prenos. Autoencoder pretvori vhod v stisnjene podatke, tako da ustvari kodo z majhnimi dimenzijami, nato pa vnovič sledi vhodu in oblikuje želeni izhod. Stisnjeno kodo vhoda imenujemo tudi latentna predstavitev prostora. Poenostavljeno, glavni cilj je zmanjšati izkrivljanje med vezji.

V Autoencoderju so tri glavne komponente. So Encoder, Dekoder in Koda. Dajalnik in dekoder sta popolnoma povezana, da tvorita mrežico za posredovanje podajanja. Koda deluje kot ena plast, ki deluje kot lastna dimenzija. Če želite razviti samodejni koder, morate nastaviti hiperparameter, tako da morate določiti število vozlišč v jedru. Natančneje je izhodna mreža dekoderja zrcalna slika vhodnega dajalnika. Dekoder ustvari želeni izhod le s pomočjo kodne plasti.

Poskrbite, da imata dajalnik in dekoder enake dimenzijske vrednosti. Pomemben parameter za nastavitev avtoenkoderja je velikost kode, število slojev in število vozlišč v vsaki plasti.

Velikost kode je določena s skupno količino vozlišč v srednjem sloju. Za učinkovito stiskanje je priporočljiva majhnost srednje plasti. Število slojev v avtoenkoderju je lahko globoko ali plitvo, kot želite. Število vozlišč v avtoenkoderju mora biti enako v kodirniku in dekoderju. Plast dekoderja in dajalnika mora biti simetrična.

V zloženem avtoenkoderju imate en neviden sloj v dajalniku in dekoderju. Sestavljen je iz ročno napisanih slik velikosti 28 * 28. Zdaj lahko razvijete avtoenkoder s 128 vozlišči v nevidni plasti z 32 kot velikostjo kode. Če želite dodati veliko število plasti, uporabite to funkcijo

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

za pretvorbo,

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

Zdaj je izhod te plasti dodan kot vhod naslednji plasti. to je plast v tej gosti metodi. Dekoder opravlja to funkcijo. Uporablja se sigmoidna metoda za pridobivanje izhoda med 0 do 1. Ker vhod leži v območju med 0 in 1

Rekonstrukcija vnosa s samodejnim kodirnikom v tej metodi poteka s predvidevanjem. Posamezni preizkus slike se izvede in izhod ni ravno tako vhoden, ampak podoben vhodu. Če želite premagati te težave, lahko avtoenkoder izboljšate z dodajanjem številnih plasti in več vozlišč v plasti. Če pa postane močnejša, ima za posledico kopijo podatkov, podobnih vhodnim. Vendar to ni pričakovani rezultat.

Arhitektura Autoencoderja

V tej zloženi arhitekturi ima kodna plast majhne dimenzijske vrednosti kot vhodne informacije, v katerih naj bi bilo pod popolnim avtoenkoderjem.

1. Označevanje samodejnih kodrov

Pri tej metodi ne morete kopirati vhodnega signala v izhodni signal, da bi dobili popoln rezultat. Ker tukaj vhodni signal vsebuje hrup, ki ga je treba odšteti, preden dobimo rezultat, ki je osnovni potrebni podatek. Ta postopek imenujemo označevanje avtoenkoderja. Prva vrstica vsebuje izvirne slike. Da bi jim omogočili hrupni vhodni signal, so dodani nekateri hrupni podatki. Zdaj lahko oblikujete avtoenkoder, da dobite izhod brez hrupa, kot sledi

autoencoder.fit(x_train, x_train)

Spremenjen samodejni koder je naslednji:

autoencoder.fit(x_train_noisy, x_train)

Tako lahko enostavno dobite izhod brez hrupa.

Convolucijski avtoenkoder se uporablja za obdelavo kompleksnih signalov in tudi boljši rezultat kot običajni postopek

2. Redki avtoenkoderji

Če želite učinkovito uporabljati avtoenkoderje, sledite dvema korakoma.

Nastavite majhno velikost kode, druga pa označuje avtoenkoder.

Potem je še ena učinkovita metoda regularizacija. Če želite uporabiti to regularizacijo, morate regularizirati omejitve redkosti. Če želite aktivirati nekatere dele vozlišč v sloju, dodajte nekaj dodatnih izrazov funkciji izgube, ki potisne avtoenkoder, da vsak vhod združi v manjša vozlišča, in da koder v danih podatkih najde nekaj edinstvenih struktur. Uporablja se tudi za veliko število podatkov, ker je aktiviran le del vozlišč.

Vrednost omejitve škropljenja je bližja ničli

Če želite ustvariti kodno plast,

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

Če želite dodati vrednost za regulacijo,

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

V tem modelu je le 0, 01 končna izguba, ki tudi zaradi regularizacijskega izraza.

V tem redkem modelu je kup vrednosti kod resničen pričakovanemu rezultatu. Ima pa precej nizke vrednosti variance.

Regularizirani avtoenkoderji imajo edinstvene lastnosti, kot so robustnost manjkajočih vhodov, redek prikaz in najbližja vrednost derivatom v predstavitvah. Za učinkovito uporabo ohranite minimalno velikost kode in plitki dajalnik in dekoder. Odkrivajo visoko zmogljivost vhodov in za učinkovito delovanje ne potrebujejo nobenega dodatnega urejanja. Usposobljeni so za čim boljši učinek in ne kopiranje in lepljenje.

3. Variacijski avtoenkoder

Uporablja se v zapletenih primerih in najde možnosti za distribucijo, ki oblikujejo vhodne podatke. Ta variabilni avtoenkoder uporablja metodo vzorčenja, da doseže učinkovit rezultat. Sledi isti arhitekturi kot regulirani avtoenkoderji

Zaključek

Tako se avtoenkoderji uporabljajo za učenje podatkov in slik v resničnem svetu, ki so vključeni v binarne in večrazredne klasifikacije. Njen preprost postopek za zmanjšanje dimenzij. Uporablja se v omejenem aparatu Boltzmann in ima v njem ključno vlogo. Uporablja se tudi v biokemični industriji za odkrivanje neodkritega dela učenja in se uporablja za prepoznavanje vzorca inteligentnega vedenja. Vsaka komponenta strojnega učenja ima samoorganiziran značaj, Autoencoder je eden tistih, ki se uspešno uči z umetno inteligenco

Priporočeni članki

To je vodnik za Autoencoders. Tukaj razpravljamo o glavnih komponentah Autoencoderja, ki so dajalnik, dekoder in koda ter arhitektura Autoencoderja. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Velika podatkovna arhitektura
  2. Kodiranje vs dekodiranje
  3. Arhitektura strojnega učenja
  4. Tehnologije velikih podatkov

Kategorija: