5

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.

+1

"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ść. –

+0

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 –

+5

"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". –

Odpowiedz

1

Możesz bezpośrednio skontaktować się z autorem paczki, jest bardzo przystępnym facetem i może być w stanie przedstawić kilka sugestii.

+0

+1, jeśli mógłbyś podać trochę więcej szczegółów w swojej odpowiedzi –

+0

@berniethejet: czy masz dane kontaktowe? Pakiet jest sprzedawany przez wolfram bez odniesienia do autora. Chciałbym skontaktować się z autorem i omówić z nim zmiany i dodatki do pakietu. Nawet chętny do wniesienia kodu lub czasu na kod. –

+0

@Gregory: autorem jest Jonas Sjöberg. Masz rację, nie reklamuje swojej własności paczki. Przedstawił na konferencji kilka lat temu: http://library.wolfram.com/infocenter/Conferences/5417/ – berniethejet

0

Nie jestem pewien, w jaki sposób napisałeś kod lub jak został napisany w używanym pakiecie; spróbuj użyć wektoryzacji, to naprawdę przyspiesza obliczenia algebry liniowej. W kursie ml-class.org możesz zobaczyć, jak jest wykonany.

2

Jestem autorem pakietu sieci neuronowych. Łatwo zrównoważyć ocenę sieci neuronowej, biorąc pod uwagę dane wejściowe. To znaczy, aby obliczyć moc wyjściową sieci, biorąc pod uwagę dane wejściowe (i wszystkie wagi, parametry sieci). Jednak ewaluacja ta nie jest zbyt czasochłonna i nie jest zbyt interesująca równoległość dla większości problemów. Z drugiej strony szkolenie sieci jest często czasochłonne, a niestety niełatwo ją zrównoważyć. Szkolenie można wykonać za pomocą różnych algorytmów, a najlepsze nie są łatwe do zrównoleglenia. Moje dane kontaktowe można znaleźć na stronie głównej produktu w sieci Wolfram. Sugestie dotyczące ulepszeń są bardzo mile widziane.

Ostatnia wersja pakietu działa dobrze w jednej wersji 9 i 10, jeśli wyłączysz pasek sugestii (w preferencjach). Powodem tego jest to, że pakiet korzysta ze starego HelpBrowser do dokumentacji, a następnie ulega awarii w połączeniu z paskiem sugestii.

Wasz Jonas

Powiązane problemy