Introducere în codificatoare automate

Este cazul ochiurilor neuronale artificiale utilizate pentru a descoperi codificarea eficientă a datelor într-o manieră nesupravegheată. Scopul Autoencoder este folosit pentru a învăța prezentarea pentru un grup de date, în special pentru reducerea dimensionalității. Auto-codificatoarele au o caracteristică unică în care intrarea sa este egală cu ieșirea sa prin formarea rețelelor de avansare. Autoencoder transformă intrarea într-o date comprimată pentru a forma un cod dimensional redus și apoi din nou reintră intrarea pentru a forma ieșirea dorită. Codul de intrare comprimat se mai numește reprezentare latentă a spațiului. În simplă, scopul principal este de a reduce distorsiunea între circuite.

Există trei componente principale în Autoencoder. Acestea sunt Encoder, Decoder și Cod. Encoderul și decodificatorul sunt conectate complet pentru a forma o plasă de redirecționare a alimentării. Codul acționează ca un singur strat care acționează ca dimensiune proprie. Pentru a dezvolta un Autoencoder, trebuie să setați un hiperparameter care trebuie să setați numărul de noduri în stratul de bază. Într-o manieră mai detaliată, rețeaua de ieșire a decodificatorului este o imagine în oglindă a codificatorului de intrare. Decodorul produce ieșirea dorită numai cu ajutorul stratului de cod.

Asigurați-vă că codificatorul și decodificatorul au aceleași valori dimensionale. Parametrul important pentru setarea autoencoderului este dimensiunea codului, numărul de straturi și numărul de noduri din fiecare strat.

Mărimea codului este definită de cantitatea totală de noduri prezente în stratul mijlociu. Pentru a obține o compresie eficientă, este recomandată dimensiunea mică a unui strat de mijloc. Numărul de straturi din codul auto poate fi adânc sau puțin adânc, după cum doriți. Numărul de noduri din codul auto trebuie să fie același atât în ​​codificator, cât și în decodificator. Stratul decodificatorului și codificatorului trebuie să fie simetric.

În autoencoder stivuit, aveți un strat invizibil atât în ​​codificator, cât și în decodificator. Este format din imagini scrise de mână cu dimensiunea de 28 * 28. Acum puteți dezvolta autoencoder cu 128 de noduri în stratul invizibil cu 32 ca dimensiune a codului. Pentru a adăuga mai multe numere de straturi, utilizați această funcție

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

pentru conversie,

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

Acum, ieșirea acestui strat este adăugată ca o intrare pentru următorul strat. acesta este stratul callabil în această metodă densă. Decodorul îndeplinește această funcție. Utilizează metoda sigmoidă pentru a obține o ieșire între 0 până la 1. Deoarece intrarea se situează între 0 și 1

Reconstrucția intrării de către un Autoencoder în această metodă se face prin predicție. Testul individual de imagine este efectuat, iar ieșirea nu este exact la fel de intrare, dar similară cu cea de intrare. Pentru a depăși aceste dificultăți, puteți face auto-codificatorul mai eficient adăugând mai multe straturi și adăugând mai multe noduri la straturi. Dar făcând-o mai puternică, rezultă o copie a datelor similare cu intrarea. Dar acesta nu este rezultatul scontat.

Arhitectura Autoencoderului

În această arhitectură stivuită, stratul de cod are o valoare dimensională mică decât informațiile de intrare, în care se spune că este sub un cod automat complet.

1. Auto-codificatoare de deznodare

În această metodă, nu puteți copia semnalul de intrare pe semnalul de ieșire pentru a obține rezultatul perfect. Pentru că aici semnalul de intrare conține zgomot care trebuie scăzut înainte de a obține rezultatul care este datele necesare care stau la baza. Acest proces este denumit autoencoder dezavantajant. Primul rând conține imagini originale. Pentru a le face semnal zgomotos de intrare, sunt adăugate date zgomotoase. Acum puteți proiecta codul auto pentru a obține o ieșire fără zgomot după cum urmează

autoencoder.fit(x_train, x_train)

Un cod Autoencoder modificat este după cum urmează,

autoencoder.fit(x_train_noisy, x_train)

Prin urmare, puteți obține ușor o ieșire fără zgomot.

Autoencoderul Convolution este utilizat pentru a gestiona semnale complexe și obține, de asemenea, un rezultat mai bun decât procesul normal

2. Auto-codificatoare reduse

Pentru a utiliza eficient codificatoarele auto, puteți urma doi pași.

Setați o dimensiune mică a codului, iar celălalt este deconectarea automată.

Apoi, o altă metodă eficientă este regularizarea. Pentru a aplica această regularizare, trebuie să regularizați restricțiile de dispersie. Pentru a activa unele părți de noduri în strat adăugați câțiva termeni suplimentari funcției de pierdere, care împinge codificatorul auto să facă fiecare intrare ca noduri mai mici combinate și face ca codificatorul să găsească unele structuri unice în datele date. Este, de asemenea, aplicabil pentru un număr mare de date, deoarece doar o parte din noduri este activată.

Valoarea de constrângere a sparsiei este mai aproape de zero

Pentru a genera un strat de cod,

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

Pentru a adăuga o valoare de regularizare,

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

În acest model, doar 0, 01 este pierderea finală, din cauza termenului de regularizare.

În acest model limitat, o mulțime de valori de cod sunt fidele rezultatului așteptat. Dar are valori de variație destul de reduse.

Auto-codificatoare regularizate au proprietăți unice, cum ar fi rezistența la intrările lipsă, reprezentarea redusă și cea mai apropiată valoare a derivatelor din prezentări. Pentru a utiliza eficient, păstrați dimensiunea minimă a codului și codificatorul și decodificatorul superficial. Aceștia descoperă o capacitate mare de intrări și nu au nevoie de niciun termen suplimentar de regularizare pentru ca codificarea să fie eficientă. Sunt instruiți pentru a obține un efect maximizat, mai degrabă decât pentru a copia și lipi.

3. Autoencoder variațional

Este utilizat în cazuri complexe și găsește șansele de distribuție proiectând datele de intrare. Acest autoencoder variațional utilizează o metodă de eșantionare pentru a obține efectivitatea sa. Urmează aceeași arhitectură ca și codificatoarele auto regularizate

Concluzie

Prin urmare, auto-codificatoare sunt utilizate pentru a învăța date și imagini din lumea reală, implicate în clasificări binare și multiclase. Procesul său simplu pentru reducerea dimensionalității. Este aplicat într-o mașină Boltzmann restrânsă și joacă un rol vital în ea. De asemenea, este utilizat în industria biochimică pentru a descoperi partea nevăzută a învățării și folosit pentru a identifica modelul de comportament inteligent. Fiecare componentă a învățării automate are un caracter auto-organizat, Autoencoder este unul dintre cele care învață cu succes în inteligența artificială

Articole recomandate

Acesta este un ghid pentru codificatoare automate. Aici vom discuta principalele componente din Autoencoder care sunt un codificator, decodificator și cod și arhitectura Autoencoderului. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Arhitectura Big Data
  2. Codificare vs decodare
  3. Arhitectura de învățare a mașinilor
  4. Tehnologii de date mari

Categorie: