Neuroevoluutio

Neuroevolution  on koneoppimisen muoto , joka käyttää evoluutioalgoritmeja neuroverkon kouluttamiseen . Tätä lähestymistapaa käytetään sellaisilla aloilla kuin pelaaminen ja robottiohjaukset . Näissä tapauksissa riittää pelkkä neuroverkon suorituskyvyn mittaaminen, kun taas ohjattua oppimista on erittäin vaikeaa tai lähes mahdotonta toteuttaa. Tämä oppimismenetelmä kuuluu vahvistusoppimismenetelmien luokkaan .

Ominaisuudet

On olemassa suuri määrä neuroevolutionaarisia algoritmeja, jotka on jaettu kahteen ryhmään. Ensimmäiseen ryhmään kuuluvat algoritmit, jotka tuottavat painoarvojen kehityksen tietylle verkkotopologialle , toiseen kuuluvat algoritmit, jotka painojen kehityksen lisäksi tuottavat myös verkkotopologian kehityksen. Vaikka erottelulle ei ole olemassa yleisesti hyväksyttyjä ehtoja, hyväksytään, että linkkien lisäämistä tai poistamista verkkoon evoluution aikana kutsutaan komplikaatioksi tai yksinkertaistamiseksi. Verkkoja, jotka kehittävät sekä yhteyksiä että topologiaa, kutsutaan TWEANNiksi (Topology & Weight Evolving Artificial Neural Networks).

Neuroverkkojen suora ja epäsuora koodaus

Evoluutioalgoritmit manipuloivat useita genotyyppejä. Neuroevoluutiossa genotyyppi  on esitys hermoverkosta. Suorassa koodauskaaviossa genotyyppi vastaa fenotyyppiä , neuronit ja yhteydet määritetään suoraan genotyypissä. Päinvastoin, järjestelmässä, jossa on epäsuora koodaus genotyypissä, on osoitettu säännöt ja rakenteet hermoverkon luomiseksi.

Epäsuoraa koodausta käytetään seuraavien tavoitteiden saavuttamiseen:

Katso myös