Neurony, geny i neuroewolucja w języku Python
Przystępny sposób na poznanie podstaw sieci neuronowych.
What you will learn
Podstawy języka Python.
Obsługa biblioteki Turtle i NEAT.
Prosty model neuronu (Perceptron) z wizualizacją działania na przykładach
Algorytm genetyczny na przykładzie szukania właściwego obrazka.
Why take this course?
W moim kursie mam na celu wprowadzenie cię w podstawy sieci neuronowych. Zaczynamy od samego początku bez korzystania z zaawansowanych bibliotek. Przez większość kursu będziemy wspomagać się jedynie znaną wszystkim biblioteką Turtle, tak by nasze przykłady miały ciekawe aspekty wizualne i animacyjne. Poznamy jak działa jeden konkretny neuron. Zapoznamy się z najbardziej fundamentalnymi przykładami odnośnie tej fundamentalnej cegiełki sieci neuronowych. Zobaczymy dlaczego potrafi on sobie poradzić z odgadnięciem wartości spójników logicznych OR i AND, ale już XOR nie. Później zobaczymy co ma on wspólnego z funkcją liniową i w jaki sposób wizualizuje ona działanie procesu uczenia.
Następnie przejdziemy do przykładu związanego z algorytmami genetycznymi, które to często wykorzystywane są w procesie uczenia sieci neuronowych, co mogłeś zaobserwować w wielu przykładach gier, które uczą się same grać. Platformówki, Snake, Flappy Bird, proste gry wyścigowe to częste zobrazowania działania neuro-ewolucji. I jak zdążyłeś spostrzeć na wielu przykładach krążących w sieci, zwycięski algorytm rozpoznający zasady gry, został okupiony mnóstwem nieudanych prób.
Na samym końcu przejdziemy do biblioteki NEAT - co jest pośrednio skrótem od neuroewolucji, czyli połączenia algorytmów genetycznych z sieciami neuronowymi. Pozwoli nam ona stworzyć bardziej zaawansowany przykład. W grze algorytm wyposażony w sieć neuronową będzie starał się omijać różne przeszkody, a jego uprzedni proces nauczania odbędzie się poprzez właśnie neuroewolucje.