Właśnie stworzyłem BARDZO dużą sieć neuronową, aczkolwiek na bardzo potężnym sprzęcie, i wyobrażam sobie mój szok i rozczarowanie, kiedy zdałem sobie sprawę, że NeuralFit [] z pakietu NeuralNetworks "wydaje się używać tylko jednego rdzenia, a nawet nie do swojej najpełniejszej pojemności. Miałem złamane serce. Czy naprawdę muszę napisać całą implementację NN od zera? A może przegapiłem coś prostego?Pakiet sieci neuronowych w Wolfram Mathematica nie jest równoległy?
Moja sieć zajęła 200 wejść do 2 ukrytych warstw 300 neuronów, aby wyprodukować 100 wyjść. Rozumiem, że mówimy o trylionach obliczeń, ale dopóki wiem, że mój sprzęt to słaby punkt - można go ulepszyć. Powinien dość dobrze radzić sobie z treningiem takiej sieci, jeśli pozostanie sam na sam (8-nitkowa maszyna 4Ghz z 24 Gb pamięci 2000Mhz CL7 z dyskami SSD RAID-0 na SATA-III - jestem tego całkiem pewna).
Pomysły? Propozycje? Z góry dziękuję za dane wejściowe.
"szok", "rozczarowanie", "złamane serce". Hmmm, brzmi trochę jak przesadna reakcja, jeśli mnie pytasz. W każdym razie, zastanawiam się, czy NN można łatwo zsynchronizować. Przy wszystkich tych połączeniach prawdopodobnie potrzebowalibyśmy dużej ilości komunikacji między rdzeniami, co miałoby znaczny wpływ na prędkość. –
Możesz chcieć przeczytać ten blog (http://textanddatamining.blogspot.com/2011/11/buy-or-build-praktical-example-to.html) na temat implementacji NN z Mathematica –
"brzmi trochę lubię przesadną reakcję, jeśli pytasz mnie "- jeśli płacisz za pakiet od firmy z udokumentowanym dorobkiem rozwiązań matematycznych BARDZO wysokiej klasy, a następnie rzucasz problem w świecie rzeczywistym, który nie może wykonać jednej iteracji trening w ciągu 24 godzin, tak, powiedziałbym, że jest to dobry powód, aby trochę emocjonować. :-) Poza tym mam pasję do tego, co robię, to nie tylko cyfry dla mnie, i to nie jest moja praca, to jest moje osobiste "dziecko". –