Hopfīlda tīkls
Hopfīlda tīkls ir viens no neironu tīklu veidiem, nosaukts tā radītāja Džona Hopfīlda vārdā. Hopfīlda tīkls modelē asociatīvo atmiņu — ar adresāciju pēc satura, nevis adreses/indeksa. Konkrēti — tas spēj noteikt, vai kaut kāds atšķirīgs (bojāts) attēls ir pietiekami līdzīgi kaut kādas grupas attēliem vai nē.
Struktūra
[labot šo sadaļu | labot pirmkodu]- Tīklā ir viens neironu slānis.
- Neironu svaru vērtības ir simetriskas ().
- Neironu ieejas un izejas ir bināras (parasti vai ).
Apmācība
[labot šo sadaļu | labot pirmkodu]Atšķirībā no daudziem citiem neironu tīklu veidiem, Hopfīlda tīkla apmācība notiek vienā solī (savukārt darbināšana — parauga atpazīšana — notiek iteratīvi).
Svaru vērtības tiek izvietotas matricā, kuras kolonas apzīmē neironus, bet rindiņas — neironu svarus.
Svaru vērtības nosaka pēc formulas:
,
kur — paraugs (bināru vērtību virkne), — paraugu skaits.
Attēlā "Hopfīlda tīkla apmācība un darbināšana" redzams piemērs — augšējā matrica: divi 12 vērtību gari paraugi un un ar tiem apmācītā Hopfīlda tīkla svaru vērtības.
Darbināšana
[labot šo sadaļu | labot pirmkodu]Katrā darbināšanas — parauga atpazīšanas procesa — iterācijā katram neironam atsevišķi tiek rēķināta:
- funkcija pēc formulas , kur — -tā neirona -tais svars, — -tā neirona izejas vērtība (iepriekšējā iterācijā — jeb ieejas vērtība šajā iterācijā);
- izejas vērtība, izmantojot aktivizācijas funkciju:
Attēlā zem svaru matricas redzams piemērs, atpazīstot paraugu , kas ir sākotnējās ieejas vērtības (iepriekšējās iterācijas izejas vērtības).
Piemērā iezīmēta 4. neirona funkcijas rēķināšana 2. iterācijā.
Attēlā redzams, ka 3. un 4. iterācijas visu neironu atbilstošās funkciju vērtības sakrīt, kas norāda, ka atpazīšanas process ir konverģējis un 3. iterācijas izeju varam uzskatīt par meklēto attēlu (kā redzams, tas ir apmācības procesā ievadītais paraugs ).