Neuroevolution

Neuroevolution  är en form av maskininlärning som använder evolutionära algoritmer för att träna ett neuralt nätverk . Detta tillvägagångssätt används i branscher som spel och robotstyrning . I dessa fall räcker det med att helt enkelt mäta prestandan hos ett neuralt nätverk, medan det är mycket svårt eller nästan omöjligt att implementera övervakat lärande. Denna inlärningsmetod tillhör kategorin förstärkningsinlärningsmetoder .

Funktioner

Det finns ett stort antal neuroevolutionära algoritmer, som är indelade i två grupper. Den första gruppen inkluderar algoritmer som producerar utvecklingen av vikter för en given nätverkstopologi , den andra inkluderar algoritmer som, förutom utvecklingen av vikter, också producerar utvecklingen av nätverkstopologin. Även om det inte finns några allmänt accepterade villkor för att göra distinktioner, är det accepterat att tillägg eller borttagning av länkar i nätverket under utveckling kallas komplikation respektive förenkling. Nätverk som utvecklar både anslutningar och topologi kallas TWEANNs (Topology & Weight Evolving Artificial Neural Networks).

Direkt och indirekt kodning av neurala nätverk

Evolutionära algoritmer manipulerar flera genotyper. I neuroevolution är en genotyp  en representation av ett neuralt nätverk. I ett direkt kodningsschema är genotypen ekvivalent med fenotypen , neuroner och anslutningar är direkt specificerade i genotypen. Tvärtom, i schemat med indirekt kodning i genotypen, anges reglerna och strukturerna för att skapa ett neuralt nätverk.

Indirekt kodning används för att uppnå följande mål:

Se även