A képek zajának csökkentése autokódolók használatával - ▷ Programozási tanfolyamok 0-tól 0-ig

használatával

Célok:

  1. Értse meg a mesterséges idegháló működésének alapelvét
  2. Ismerje meg a mesterséges neurális hálózatok típusát, az úgynevezett Autocodereket
  3. Használja az autokódolókat a képek zajának csökkentésére

Az autoencoderek (Autoencoders) a mesterséges ideghálózat egy speciális típusa (ANN rövidítése angolul). Éppen ezért az autokódolók megértéséhez a legjobb, ha először van egy ötletünk az ANN működéséről.

ANN alapjai

Az ANN-ek számítási modellek, amelyeket a biológiai ideghálózatok inspiráltak. Egyszerűsítve az ANN három fő komponensre osztható: egy bemeneti rétegre, több rejtett rétegre és egy kimeneti rétegre (lásd 1. ábra). Az összes rejtett réteg halmaza olyan funkcióként értelmezhető, amely a priori több ismeretlen paramétertől függ, az úgynevezett neuron súlyoktól. Ezen súlyok megtalálásához az ANN-t ki kell képezni.

1.ábra: A bemeneti réteg állhat például egy kép pixelértékeiből. A rejtett rétegek egy bizonyos G függvényként értelmezhetők, amely függ a wi súlyoktól, az Xi bemeneti értékektől. A G függvény átalakítja a bemenet értékeit, és az ANN típusától függően visszatérhet a kimenethez egy másik kép, vagy annak a valószínűsége, hogy a bemeneten lévő kép egy korábban meghatározott osztályhoz tartozik.

A neurális hálózatok témájának részletesebb áttekintéséhez ajánlott elolvasni a kurzust az alábbi linken (link beillesztése)

Autokódolók

Mint korábban említettük, az autokódolók az ANN sajátos esetei. Ezek sajátossága, hogy a bemenet általában pontosan megegyezik a kimenettel. Az előző példa alapján, ha a 0 képét átadjuk a bemenetnek, az Autocoder a nulla képét a lehető legközelebb adja ki a bemenet képéhez (2. ábra). Ezen a ponton érdemes feltenni a kérdést: mi a haszna egy ilyen ideghálózatnak? A kérdés megválaszolásához egy kicsit jobban meg kell értenünk az Autocoders architektúráját. A fő különbség a hagyományos hálózatokkal szemben az, hogy a közbenső rétegek (rejtett rétegek) először csökkentik méretüket (Encoder), majd szimmetrikusan ismét növelik (Decoder) (2. ábra)

2. ábra: Az Autoencoder általános architektúrája.

Az ANN felépítéséből adódóan a középső réteg kompaktan reprezentálja a bemeneti változókat. Így a kódolót alkotó rétegek kompaktabb változatot hoznak létre az eredeti képből, míg a dekódert alkotó rétegek megpróbálják visszaállítani az eredeti képet a kompakt változatból. Az ilyen típusú algoritmus érdekes alkalmazása a nagy felbontású képek megszerzése alacsony felbontású képekből. Egy másik alkalmazás, a képfeldolgozás hatókörén kívül, a dimenziók csökkentése azokban a problémákban, ahol több száz függő változó van. Ebben az értelemben az autokódolók alternatívának és robusztusabb technikának bizonyultak, mint a PCA (fő komponens elemzés).