Konkurransedyktig læring - Competitive learning
Konkurransedyktig læring er en form for tilsyn uten læring i kunstige nevrale nettverk , der noder konkurrerer om retten til å svare på en delmengde av inngangsdataene. En variant av Hebbian læring , konkurransedyktig læring fungerer ved å øke spesialiseringen av hver node i nettverket. Det er godt egnet til å finne klynger i data.
Modeller og algoritmer basert på prinsippet om konkurransedyktig læring inkluderer vektorkvantisering og selvorganiserende kart (Kohonen-kart).
Prinsipper
Det er tre grunnleggende elementer i en konkurransedyktig læringsregel:
- Et sett med nevroner som er like, bortsett fra noen tilfeldig fordelte synaptiske vekter, og som derfor reagerer annerledes på et gitt sett med inngangsmønstre
- En grense pålagt "styrken" til hvert nevron
- En mekanisme som tillater nevronene å konkurrere om retten til å svare på en gitt undergruppe av innganger, slik at bare ett utgangsneuron (eller bare ett nevron per gruppe) er aktivt (dvs. "på") om gangen. Nevronen som vinner konkurransen kalles et "vinner-ta-alt" nevron .
Følgelig lærer de enkelte nevronene i nettverket å spesialisere seg på ensembler av lignende mønstre og på den måten bli "funksjonsdetektorer" for forskjellige klasser av inngangsmønstre.
Det faktum at konkurransedyktige nettverk koder sett med korrelerte innganger til en av få utgangsneuroner fjerner i det vesentlige redundansen i representasjon som er en viktig del av behandlingen i biologiske sensoriske systemer .
Arkitektur og implementering
Konkurransedyktig læring implementeres vanligvis med nevrale nettverk som inneholder et skjult lag som ofte kalles "konkurranselag". Hvert konkurransedyktig nevron er beskrevet av en vektvektor og beregner likhetstiltaket mellom inngangsdataene og vektvektoren .
For hver inngangsvektor konkurrerer de konkurransedyktige nevronene med hverandre for å se hvilken av dem som er mest lik den spesifikke inngangsvektoren. Vinnerneuronet m setter sin produksjon, og alle de andre konkurransedyktige nevronene setter sin produksjon .
Vanligvis brukes det inverse av den euklidiske avstanden for å måle likhet: mellom inngangsvektoren og vektvektoren .
Eksempel på algoritme
Her er en enkel konkurransedyktig læringsalgoritme for å finne tre klynger i noen inngangsdata.
1. (Oppsett.) La et sett med sensorer mates inn i tre forskjellige noder, slik at hver node er koblet til hver sensor. La vektene som hver node gir til sensorene, settes tilfeldig mellom 0,0 og 1,0. La utgangen fra hver node være summen av alle sensorene, og hver sensor signalstyrke multipliseres med vekten.
2. Når nettet vises som en inngang, anses noden med høyest utgang som vinneren. Inngangen er klassifisert som innenfor klyngen som tilsvarer den noden.
3. Vinneren oppdaterer hver av vektene sine, og flytter vekten fra forbindelsene som ga den svakere signaler til forbindelsene som ga den sterkere signaler.
Når flere data mottas, konvergerer hver node således midten av klyngen som den har kommet til å representere og aktiverer sterkere for innganger i denne klyngen og svakere for innganger i andre klynger.
Se også
Referanser
Ytterligere informasjon og programvare
- Utkast til rapport "Noen konkurransedyktige læringsmetoder" (inneholder beskrivelser av flere relaterte alger)
- DemoGNG - Java-simulator for konkurransedyktige læringsmetoder