- Az intelligencia új definíciója
- Az intelligencia útvesztői
- Gépi tanulás: A jövő intelligenciája
- Mesterséges ideghálózatok megértése
- Mintakeresés az adatok tengerében
- A robotika hatása a mindennapjainkra
- Természetes nyelvi feldolgozás: Az érthető gépi kommunikáció
- Tanulás a hibákból
- Egy AI rendszer felépítésének lépései
Az emberek hajlamosak a dolgokat fekete-fehérnek látni: vagy igazunk van, vagy nincs. Azonban a mesterséges neurális hálózatoknak sokkal pontosabbnak kell lenniük. Egy neurális hálózat számára az 95%-os helyesség nagyon különbözik a 97%-ostól. A kihívás az, hogy a rendszer hogyan értékeli, mennyire van távol az igazságtól. Ebben a folyamatban a neurális hálózatnak szüksége van egy mérőszámra, amit költségfüggvénynek (cost function) nevezünk.
A költségfüggvény szerepe
A költségfüggvény egy szám, amelyet a rendszer arra használ, hogy összehasonlítsa a válaszát a helyes válasszal. Ha a válasz nagyon közel van a helyeshez, akkor ez a szám kicsi lesz. De ha a válasz nagyon távol áll a helyestől, akkor ez a szám nagyobb lesz. Képzeljük el, hogy a neurális hálózatunk megpróbálja meghatározni, hogy egy kép tartalmaz-e kutyát. Ha a hálózat 97%-os valószínűséggel állítja, hogy a képen kutya van, de valójában macska van rajta, akkor ez a tévedés kisebb költséggel jár. Most képzeljük el, hogy a hálózat 99%-os valószínűséggel állítja, hogy a képen kutya van, de valójában egy hófödte hegycsúcs látható. Ebben az esetben a tévedés sokkal nagyobb költséggel jár, mert a hálózat nagyon messze járt az igazságtól, így nagyobb korrekcióra van szüksége.
A hibák korrigálása: gradiens csökkenés
A hibák korrigálása bonyolult feladat. Ehhez sok neurális hálózat a gradiens csökkenést (gradient descent) használja. A gradiens meredekséget jelent, a csökkenés pedig lefelé haladást. Képzeljük el, hogy a mesterséges neurális hálózatunk dartsot játszik. Jóslatokat tesz, és megnézi, milyen közel került a céltáblához. Néhány jóslat nagyon messze van, míg mások közel járnak. Amikor dob egy dartot, van egy távolság a dart és a céltábla között. Ha a dart teljesen mellémegy, nagyobb változtatást akar végrehajtani a dobás szögén. Ha nagyon közel van a célhoz, akkor a lehető legkisebb változtatást szeretné végrehajtani. Így eltalálhatja a céltáblát.
A neurális hálózat hasonló módon működik. A gradiens csökkenés számításait használja a hálózat súlyainak és torzításainak (bias) beállítására. Nem dartot használ, hanem egy nagyon hasonló számítást, hogy megmérje a tévedés szögét. Ez az egyik legnagyobb innováció a mesterséges neurális hálózatokban. Ezt a hibák visszaterjesztésének (backpropagation) nevezik, röviden backprop.
Hibák visszaterjesztése: backprop
Emlékezzünk, hogy egy feedforward mesterséges hálózatot használunk. Az adat balról jobbra halad. Az input rétegnél kezdődik, és előre halad a kimeneti rétegig. De amikor a hálózat hibát követ el, visszafelé kell mennie. A gradiens csökkenést használja a tévedés meghatározására. Ezután a backprop segítségével beállítja a súlyokat és torzításokat a hiba súlyosságának megfelelően. Ha a hálózat nagyon mellélőtt, szélsőséges változtatásokat akar végrehajtani. De ha a jóslat nagyon közel van, akkor a hálózat sokkal óvatosabban kell eljárjon. A hálózat előre halad, majd hátrafelé korrigál. Így hangolhatja magát a helyes válasz felé.
Gradiens csökkenés a gyakorlatban
A gradiens csökkenés folyamata egy hegymászásra hasonlít, de fordítva. Képzeljünk el egy hegyet, ahol a csúcs a legnagyobb hiba, és a völgy a legkisebb hiba. A neurális hálózat célja, hogy megtalálja a legmélyebb völgyet, azaz a legkisebb hibát. Ehhez lépésről lépésre halad lefelé a hegyoldalon, minden egyes lépésnél csökkentve a hibát.
Példa
Tegyük fel, hogy egy neurális hálózatot tanítunk kézírás felismerésére. A bemenet egy kézzel írott szám képének pixelei, a kimenet pedig a felismerni kívánt szám. Először a hálózat véletlenszerű súlyokkal kezd, és nagy valószínűséggel hibás eredményeket ad. A költségfüggvény kiszámítja, mennyire volt rossz az eredmény. Ezután a gradiens csökkenés segítségével a hálózat beállítja a súlyokat, hogy csökkentse a hiba mértékét. A folyamatot ismételve a hálózat egyre pontosabbá válik a számok felismerésében.
Összegzés
A mesterséges neurális hálózatok egyik legfontosabb jellemzője a hibák felismerésének és javításának képessége. A költségfüggvény, a gradiens csökkenés és a hibák visszaterjesztése mind kulcsfontosságú elemek ebben a folyamatban. Ezek a technikák teszik lehetővé, hogy a hálózatok folyamatosan tanuljanak és fejlődjenek, egyre pontosabb eredményeket adva.