Neuroevoluția este o formă de învățare automată care utilizează algoritmi evolutivi pentru a antrena o rețea neuronală . Această abordare este utilizată în industrii precum jocurile de noroc și controlul unităților robotizate . În aceste cazuri, este suficient să măsori pur și simplu performanța unei rețele neuronale, în timp ce este foarte dificil sau aproape imposibil să implementezi învățarea supravegheată. Această metodă de învățare aparține categoriei metodelor de învățare prin întărire .
Există un număr mare de algoritmi neuroevoluționari, care sunt împărțiți în două grupuri. Primul grup include algoritmi care produc evoluția ponderilor pentru o topologie de rețea dată, celălalt include algoritmi care, pe lângă evoluția ponderilor, produc și evoluția topologiei rețelei. Deși nu există condiții general acceptate pentru a face distincții, se acceptă că adăugarea sau eliminarea legăturilor în rețea în timpul evoluției se numește complicație sau, respectiv, simplificare. Rețelele care evoluează atât conexiunile, cât și topologia se numesc TWEANN (Topology & Weight Evolving Artificial Neural Networks).
Algoritmii evolutivi manipulează mai multe genotipuri. În neuroevoluție , un genotip este o reprezentare a unei rețele neuronale. Într-o schemă de codare directă, genotipul este echivalent cu fenotipul , neuronii și conexiunile sunt specificate direct în genotip. Dimpotrivă, în schema cu codificare indirectă în genotip sunt indicate regulile și structurile pentru crearea unei rețele neuronale.
Codarea indirectă este utilizată pentru a atinge următoarele obiective:
Învățare automată și extragerea datelor | |
---|---|
Sarcini | |
Învățarea cu un profesor | |
analiza grupului | |
Reducerea dimensionalității | |
Prognoza structurală | |
Detectarea anomaliilor | |
Modele grafice probabilistice | |
Rețele neuronale | |
Consolidarea învățării |
|
Teorie | |
Reviste și conferințe |
|