Chciałbym trochę eksperymentować z ewolucją sieci neuronowej (NEAT). W latach 90. napisałem trochę kodu GA i sieci neuronowej w C ++ tylko dla zabawy, ale podejście do majsterkowania okazało się na tyle pracochłonne, że ostatecznie go porzuciłem.
Od tego czasu wiele się zmieniło i istnieje wiele bardzo ładnych bibliotek i narzędzi typu open source, które zaspokoją wszelkie potrzeby. Przejrzałem różne biblioteki Open Source (np. DEAP), ale przydałaby mi się pomoc w wyborze takiej, która byłaby dobrze dopasowana ...
- Większość czasu spędziłem na pisaniu kodu, aby wizualizować, co się dzieje (stan sieci neuronowej, sprawność populacji) lub wyniki końcowe (wykresy itp.).
Może to musiałoby być spełnione przez oddzielną bibliotekę typu open source, ale wsparcie wizualizacji byłoby czymś, co pozwoliłoby mi spędzić więcej czasu na problemie / rozwiązaniu, a mniej na szczegółach implementacji. - Znam C / C ++, Java, C #, Python, JavaScript i kilka innych. Dobrym wyborem byłoby coś, co stanowi dobry kompromis między językiem wyższego poziomu a dobrą wydajnością sprzętu domowego.
Czy ktoś z doświadczeniem może zasugerować dobrą bibliotekę open source lub zestaw narzędzi?
neural-networks
genetic-algorithms
neat
Scott Smith
źródło
źródło
Odpowiedzi:
ponieważ jest to napisane w Javascripcie i nie oferuje (jeszcze) obsługi GPU, działa dość wolno. Jednak bardzo miło jest bawić się przy elastycznych architekturach sieciowych. Jedyną wizualizacją, którą oferuje obecnie, jest mapa architektury sieci, ale wykresy można łatwo wdrożyć.
źródło
Cóż, jeśli wybierzesz TensorfFlow do pracy, otrzymasz TensorBoard jako część pakietu. To może być coś, czego szukasz.
A dzięki TensorFlow możesz kodować w C ++, Python i kilku innych językach (myślę, że istnieją również powiązania Ruby i Java, prawdopodobnie jeszcze inne).
źródło
ma wiele przydatnych zasobów. Proszę spojrzeć.
źródło
Istnieje również DXNN, który jest, jak opisałeś, systemem neuroewolucyjnym, jest napisany w Erlang. https://github.com/CorticalComputer/DXNN2
Popracowałem nad tym, aby uczynić go modułowym, więc używasz go jako biblioteki i trzymasz kod / aplikację w izolacji.
Oto przykład kodu , który pobiera DXNN jako bibliotekę. generuje również pliki danych gotowe do gnuplot do wizualizacji.
źródło
Fann ( http://leenissen.dk/fann/wp/ ) to darmowa biblioteka sieci neuronowych typu open source.
Funkcje FANN:
źródło
Dla algorytmów genetycznych napisałem GeneticSharp .
Wieloplatformowa biblioteka algorytmów genetycznych dla .NET Core i .NET Framework. Biblioteka ma kilka implementacji operatorów GA, takich jak: selekcja, crossover, mutacja, ponowne wstawienie i zakończenie.
źródło