Bevezetés az autoencoderekbe

Ez a mesterséges idegi háló, amelyet a hatékony adatkódolás felügyelet nélküli felfedezésére használnak. Az Autoencoder célja az adatok egy csoportjának bemutatásának megtanulása, különös tekintettel a dimenzió csökkentésére. Az automatikus kódolóknak egyedülálló tulajdonsága van, ahol a bemenet egyenlő a kimenettel az előre továbbító hálózatok létrehozásával. Az Autoencoder a bemenetet tömörített adatokké alakítja, hogy alacsony dimenziójú kódot képezzen, majd újra bevigye a bemenetet a kívánt kimenet kialakításához. A bemeneti tömörített kódot latens térreprezentációnak is nevezzük. Egyszerűen fogalmazva, a fő cél az áramkörök közötti torzítás csökkentése.

Az Autoencoder három fő összetevőt tartalmaz. Ezek kódoló, dekóder és kód. A kódoló és a dekóder teljesen össze vannak kötve, hogy egy továbbító hálót képezzen. A kód egyetlen rétegként működik, amely saját dimenzióinként működik. Az Autoencoder fejlesztéséhez be kell állítania egy hiperparamétert, azaz a magfóliában lévő csomópontok számát kell beállítania. Részletesebben: a dekóder kimeneti hálózata a bemeneti kódoló tükörképe. A dekóder csak a kódréteg segítségével állítja elő a kívánt kimenetet.

Győződjön meg arról, hogy a kódoló és a dekóder azonos méretértékekkel rendelkezik. Az autoencoder beállításának fontos paramétere a kódméret, a rétegek száma és az egyes rétegek csomópontjainak száma.

A kódméretet a középső rétegben lévő csomópontok teljes mennyisége határozza meg. A hatékony tömörítés érdekében javasolt a középső réteg kis mérete. Az automatikus kódolóban a rétegek száma mély vagy sekély lehet, ahogy szeretné. Az automatikus kódolóban a csomópontok számának azonosnak kell lennie mind a kódolóban, mind a dekóderben. A dekóder és a kódoló rétegének szimmetrikusnak kell lennie.

Halmozott autoenkóderben egy láthatatlan réteg van mind a kódolóban, mind a dekóderben. Kézzel írott képekből áll, mérete 28 * 28. Most már kifejleszthet egy autoencodert 128 csomóponttal a láthatatlan rétegben, 32 kódmérettel. Számos réteg hozzáadásához használja ezt a funkciót

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

átalakítás céljából,

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

Most ennek a rétegnek a kimenete bekerül a következő rétegbe. ez a hívható réteg ebben a sűrű módszerben. A dekóder ezt a funkciót hajtja végre. A szigmoid módszert használja 0 és 1 közötti kimenet elérésére, mivel a bemenet 0 és 1 közötti tartományban van

A bemenet rekonstruálása egy Autoencoder által ebben a módszerben előrejelzéssel történik. Az egyedi képteszt elvégzése megtörténik, és a kimenet nem pontosan olyan, mint a bemenet, hanem hasonló a bemenethez. Ezeknek a nehézségeknek a leküzdése érdekében az automatikus kódolót hatékonyabbá teheti, ha sok réteget felvesz, és több csomópontot ad hozzá a rétegekhez. De ha erõsebbé teszi, a bemenethez hasonló adatok másolatát kapja. De ez nem a várt eredmény.

Az Autoencoder építészete

Ebben a halmozott architektúrában a kódréteg kis dimenziós értékkel rendelkezik, mint a bemeneti információ, amelyben azt állítják, hogy teljes automatikus kódoló alatt van.

1. Autó kódolók denoinálása

Ebben a módszerben nem másolhatja a bemeneti jelet a kimeneti jelre a tökéletes eredmény elérése érdekében. Mivel itt a bemeneti jel zajt tartalmaz, amelyet le kell vonni, mielőtt megkapja az eredményt, amely a mögöttes szükséges adatok. Ezt a folyamatot denoising autoencoder-nek hívják. Az első sor eredeti képeket tartalmaz. Annak érdekében, hogy zajos bemeneti jelré váljanak, néhány zajos adat kerül hozzáadásra. Most megtervezheti az autoencodert, hogy zajmentes kimenetet kapjon az alábbiak szerint

autoencoder.fit(x_train, x_train)

A módosított Autoencoder a következő,

autoencoder.fit(x_train_noisy, x_train)

Ezért könnyen zajmentes kimenetet kaphat.

A Convolution autoencoder bonyolult jelek kezelésére szolgál, és jobb eredményt kap, mint a normál eljárás

2. Ritka Autoencoderek

Az automatikus kódolók hatékony használatához két lépést kell végrehajtania.

Állítson be egy kicsi kódméretet, a másik pedig lerombolja az automatikus kódolót.

Ezután egy másik hatékony módszer a legalizálás. A normalizálás alkalmazásához rendszereznie kell a ritkasági korlátozásokat. A réteg egyes részeinek aktiválásához adjunk hozzá néhány extra kifejezést a veszteség funkcióhoz, amely arra készteti az autoencodert, hogy minden bemenetet kombinált kisebb csomópontokként készítsen, és ez arra készteti a kódolót, hogy az adott adatokban megtalálja az egyedi szerkezeteket. Nagyszámú adat esetében is alkalmazható, mivel a csomópontok csak egy része aktiválódik.

A sparsitás-korlátozás értéke közelebb van a nullához

Kódréteg létrehozásához,

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

A normalizáló érték hozzáadásához

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

Ebben a modellben csak a 0, 01 a végső veszteség, ami szintén a normalizálási időszak miatt.

Ebben a ritka modellben egy csomó kódérték igaz a várt eredményhez. De ennek varianciaértéke meglehetősen alacsony.

A normalizált autoencoderek olyan egyedi tulajdonságokkal rendelkeznek, mint például a hiányzó bemenetek robosztussága, ritka ábrázolása és a származtatott termékek legközelebbi értéke a bemutatókban. A hatékony használat érdekében tartsa be a minimális kódméretet, valamint a sekély kódolót és dekódert. Nagy bemeneti kapacitást fedeznek fel, és a kódolás hatékonyságához nincs szükség semmilyen extra szabályzó kifejezésre. Képzésük szerint maximalizált hatást fejtenek ki, a másolás és beillesztés helyett.

3. Variációs autoencoder

Bonyolult esetekben használják, és megtalálja a terjesztés esélyeit a bemeneti adatok megtervezéséhez. Ez a variációs autoencoder egy mintavételi módszert használ a hatékony output eléréséhez. Ugyanazt az architektúrát követi, mint a normalizált autoencodereknél

Következtetés

Ezért az automatikus kódolókat valós adatok és képek megtanulására használják, a bináris és a többosztályú osztályozásban. Egyszerű eljárás a dimenzió csökkentésére. Korlátozott Boltzmann gépen alkalmazzák, és alapvető szerepet játszik benne. A biokémiai iparban szintén használják a tanulás feltáratlan részének felfedezésére, és az intelligens viselkedés mintájának azonosítására használják. A gépi tanulás minden alkotóelemének önszerveződött jellege van, az Autoencoder egyike annak, amely a mesterséges intelligencia sikeres megtanulása

Ajánlott cikkek

Ez egy útmutató az Autoencoderekhez. Itt az Autoencoder fő alkotóelemeit tárgyaljuk, amelyek egy kódoló, dekóder és kód, valamint az Autoencoder architektúrája. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. Big Data architektúra
  2. Kódolás vs dekódolás
  3. Gépi tanulási architektúra
  4. Big Data Technologies

Kategória: