Jakie są dobre źródła informacji o sztucznych sieciach neuronowych? [Zamknięte]

109

Naprawdę interesują mnie sztuczne sieci neuronowe, ale szukam miejsca, od którego mógłbym zacząć.

Jakie zasoby są dostępne i jaki jest dobry projekt początkowy?

cbrulak
źródło
Zakładam, sztuczne sieci neuronowe? Jaki obszar Cię interesuje (do czego byś to zastosował: pismo odręczne, klasyfikacja, logika)?
odchylenie
Chyba logika: myślałem o robocie w labiryncie czy coś w tym rodzaju i próbowałem różnych algorytmów, ale robiłem tak, aby sieć decydowała, która jest najlepsza itp.
cbrulak
3
Istnieje naprawdę świetny kurs coursera od Geoffrey Hinton o sieciach neuronowych. Zaczyna się od podstaw, a kończy na najnowocześniejszych podejściach, a nawet więcej.
alfa
4
Kurs Machine Learning autorstwa Andrew Ng jest tym, co polecam na początek, przed rozpoczęciem kursu Geoffreya Hintona, który dotyczy bardziej zaawansowanych sieci neuronowych i aspektów teoretycznych.
hałaśliwy

Odpowiedzi:

17

Oto kilka przykładów programowania w sieciach neuronowych. http://www.codeproject.com/KB/recipes/neural_dot_net.aspx

możesz zacząć czytać tutaj: http://web.archive.org/web/20071025010456/http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html

Ze swojej strony odwiedziłem kurs na ten temat i przeczytałem trochę literatury.

Friedrich
źródło
2
Geocities spadły kilka dni temu, ale jest zarchiwizowana wersja na web.archive.org/web/20071025010456/http://www.geocities.com/… (przynajmniej na razie ...)
RCIX
33

Przede wszystkim porzuć wszelkie wyobrażenia, że ​​sztuczne sieci neuronowe mają coś wspólnego z mózgiem, poza przemijającym podobieństwem do sieci neuronów biologicznych. Uczenie się biologii nie pomoże w efektywnym stosowaniu sieci neuronowych; nauka algebry liniowej, rachunku różniczkowego i teorii prawdopodobieństwa będzie. Powinieneś przynajmniej zapoznać się z ideą różniczkowania podstawowego funkcji, regułą łańcuchową, pochodnymi cząstkowymi (gradient, jakobian i hesjan) oraz zrozumieć mnożenie i diagonalizację macierzy.

W rzeczywistości to, co robisz, gdy trenujesz sieć, to optymalizacja dużej, wielowymiarowej funkcji (minimalizacja miary błędu w odniesieniu do każdej z wag w sieci), więc badanie technik nieliniowej optymalizacji numerycznej może okazać się pouczające. Jest to szeroko badany problem z dużą bazą literaturową poza sieciami neuronowymi, aw Internecie dostępnych jest wiele notatek z wykładów z optymalizacji numerycznej. Na początek większość ludzi stosuje proste zejście gradientowe , ale może to być znacznie wolniejsze i mniej skuteczne niż bardziej zniuansowane metody, takie jak

Po zapoznaniu się z podstawowymi pomysłami możesz zacząć eksperymentować z różnymi funkcjami „zgniatania” w warstwie ukrytej, dodając różne rodzaje uregulowań i różne poprawki, aby przyspieszyć naukę. WidziećPełną listę „najlepszych praktyk” można tym dokumencie .

Jedną z najlepszych książek na ten temat jest Neural Networks for Pattern Recognition Chrisa Bishopa . Na tym etapie jest dość stary, ale nadal jest doskonałym źródłem informacji i często można znaleźć używane kopie w Internecie za około 30 USD. Rozdział dotyczący sieci neuronowych w jego nowszej książce „ Rozpoznawanie wzorców i uczenie maszynowe” jest również dość obszerny. Aby uzyskać szczególnie dobry samouczek dotyczący implementacji, zapoznać poświęconym implementacji zobacz ten na CodeProject.com, który implementuje sprytny rodzaj sieci zwanej siecią konwolucyjną, która ogranicza łączność w taki sposób, aby była bardzo dobra w nauce klasyfikowania wzorców wizualnych.

Maszyny wektorów pomocniczych i inne metody jądra stały się dość popularne, ponieważ można je zastosować, nie wiedząc, do diabła, co robimy i często uzyskuje się akceptowalne wyniki. Z drugiej strony sieci neuronowe są ogromnymi problemami optymalizacyjnymi, które wymagają starannego dostrojenia, chociaż nadal są preferowane w przypadku wielu problemów, szczególnie problemów na dużą skalę w dziedzinach takich jak widzenie komputerowe.

dwf
źródło
Słuszna uwaga. Neuron to po prostu jednostka logistyczna pochodząca z regresji logistycznej. Następnie tworzone są wielofazowe jednostki regresji wielofazowej, które nazywane są sieciami neuronowymi, ponieważ „wyglądają jak” sieci neuronowe. Nie jest inspirowany mózgiem ani tym podobnym.
ozgur
Nie jest prawdą, że studiowanie prawdziwej neuronauki nie byłoby pomocne w badaniach w tej dziedzinie. Jeff Hawkins i jego badania próbowali wykorzystać więcej wiedzy na temat neurobiologii w swoich pracach nad HTM. HTM działa całkiem nieźle. W końcu studiowanie neurobiologii może być przydatne, jeśli zamierzasz wypróbować nowe topologie sieci i techniki interakcji, które naśladują rzeczywiste przykłady biologiczne. Jeśli zamierzasz po prostu wykorzystać to, co badali już inni, zamiast robić własne, to tak, badania neuronauki mogą być bezcelowe.
SmugDoodleBug
29

Gorąco polecam tę doskonałą serię autorstwa Anoopa Madhusudanana w Code Project .

W łatwy do zrozumienia sposób przeprowadzi Cię przez podstawy, aby zrozumieć, jak działają, i pokaże, jak wykorzystać swoją brainnetbibliotekę do stworzenia własnej.

CodeAndCats
źródło
7
Wow świetnie. Możesz przeczytać to również na moim blogu, amazedsaint.blogspot.com/2008/01/…
amazedsaint
11

Sieci neuronowe są obecnie w pewnym sensie zdeklasowane. Maszyny wektorów pomocniczych i metody jądra są lepsze w przypadku większej liczby klas problemów niż propagacja wsteczna. Sieci neuronowe i algorytmy genetyczne pobudzają wyobraźnię ludzi, którzy niewiele wiedzą o współczesnym uczeniu maszynowym, ale nie są na najwyższym poziomie.

Jeśli chcesz dowiedzieć się więcej o sztucznej inteligencji i uczeniu maszynowym, polecam przeczytanie książki Petera Norviga Artificial Intelligence: A Modern Approach . To szeroki przegląd sztucznej inteligencji i wielu nowoczesnych technologii. Omawia również historię i starsze techniki, a także zapewnia pełniejsze podstawy sztucznej inteligencji i uczenia maszynowego.

Sieci neuronowe są jednak dość łatwe. Zwłaszcza jeśli użyjesz algorytmu genetycznego do określenia wag, a nie właściwej wstecznej propagacji.

Chad Okere
źródło
1
Sieć neuronowa składa się nie tylko z propagacji wstecznej; jest mnóstwo innych sieci - pamięci asocjacyjne, Kohonen SOFM, sieci oparte na adaptacyjnym rezonansie i tak dalej ... MLP i wsteczna propagacja to najpopularniejsze sieci, ale nie najbardziej wydajne ...
lmsasu
3
„Sieci neuronowe są obecnie w pewnym sensie zdeklasowane” - cóż, już nie. Techniki „głębokiego uczenia” do treningu wielowarstwowego NN i architektury ad hoc NN wydają się być obecnie jednymi z najgorętszych w ML. Tylko jeden przykład spośród wielu, googleresearch.blogspot.co.uk/2015/03/…
John Donn
5

I drugi DWF „s zalecenie Neural Networks Pattern Recognition Chris Bishop. Chociaż może nie jest to tekst początkowy. Norvig lub samouczek online (z kodem w Matlabie!) Byłby prawdopodobnie łagodniejszym wprowadzeniem.

Dobrym projektem początkowym byłby OCR (optyczne rozpoznawanie znaków). Możesz skanować strony tekstu i przepuszczać każdy znak przez sieć w celu przeprowadzenia klasyfikacji. (Oczywiście najpierw musiałbyś przeszkolić sieć!).

graveca
źródło
4

Mogę polecić, od czego nie zaczynać. Kupiłem Wprowadzenie do sieci neuronowych autorstwa Kevina Gurneya, które ma dobre recenzje na temat Amazona i twierdzi, że jest „bardzo przystępnym wprowadzeniem do jednego z najważniejszych zagadnień kognitywnych i informatycznych”. Osobiście nie polecałbym tej książki na początek. Rozumiem tylko około 10%, ale może to tylko ja (angielski nie jest moim językiem ojczystym). Przyjrzę się innym opcjom z tego wątku.

Vincent
źródło
3

http://www.ai-junkie.com/ann/evolved/nnt1.html jest jasnym wprowadzeniem do wielowarstwowego perceptronu, chociaż nie opisuje algorytmu wstecznej propagacji

możesz również zajrzeć na generation5.org, która zawiera wiele artykułów o sztucznej inteligencji w ogóle i kilka świetnych tekstów o sieci neuronowej

user217299
źródło
2

Jeśli nie masz nic przeciwko wydawaniu pieniędzy, Podręcznik teorii mózgu i sieci neuronowych jest bardzo dobry. Zawiera 287 artykułów obejmujących badania w wielu dyscyplinach. Rozpoczyna się wprowadzeniem i teorią, a następnie podkreśla ścieżki przez artykuły, aby jak najlepiej uwzględnić Twoje zainteresowania.

Jeśli chodzi o pierwszy projekt, mapy Kohonena są interesujące ze względu na kategoryzację : znajdź ukryte relacje w swojej kolekcji muzyki, zbuduj inteligentnego robota lub rozwiąż nagrodę Netflix .

Corbin March
źródło
1

Myślę, że dobrym punktem wyjścia zawsze byłaby Wikipedia . Znajdziesz tam przydatne linki do dokumentacji i projektów, które również wykorzystują sieci neuronowe.

Xn0vv3r
źródło
1

Wydaje mi się, że podręcznik „Computational Intelligence” jest niezwykle pomocny.

Bradley Powers
źródło
1

Programming Collective Intelligence omawia to w kontekście algorytmów wyszukiwania i rankingu. Również w dostępnym tutaj kodzie (w rozdziale 4) koncepcje omówione w książce są zilustrowane na przykładzie Pythona.

jamesaharvey
źródło
1

Zgadzam się z innymi ludźmi, którzy powiedzieli, że studiowanie biologii nie jest dobrym punktem wyjścia ... ponieważ jest wiele nieistotnych informacji z biologii. Nie musisz rozumieć, jak działa neuron, aby odtworzyć jego funkcjonalność - wystarczy symulować jego działanie. Polecam "How To Create A Mind" Raya Kurzweila - wchodzi w aspekt biologii, który jest istotny dla modeli obliczeniowych (tworzenie symulowanego neuronu poprzez łączenie kilku wejść i odpalanie po osiągnięciu progu), ale ignoruje nieistotne rzeczy, takie jak jak neuron w rzeczywistości dodaje dane wejściowe do skóry. (Na przykład użyjesz + i nierówności do porównania z progiem)

Powinienem również zwrócić uwagę, że książka nie jest tak naprawdę o „tworzeniu umysłu” - skupia się tylko na heirarchicznym rozpoznawaniu wzorców / korze nowej. Wydaje mi się, że ogólny temat poruszany jest od lat 80. XX wieku, więc istnieje wiele starszych książek, które prawdopodobnie zawierają nieco przestarzałe formy tych samych informacji. Czytałem starsze dokumenty, w których stwierdzono, że na przykład system wizyjny jest wielowarstwowym rozpoznawaniem wzorców. Twierdzi, że dotyczy to całej kory nowej. Potraktuj też jego „przewidywania” z przymrużeniem oka - jego szacunki dotyczące sprzętu są prawdopodobnie dość dokładne, ale myślę, że nie docenia, jak skomplikowane mogą być proste zadania (np. Prowadzenie samochodu). To prawda, widział duży postęp (i był częścią tego), ale nadal uważam, że jest zbyt optymistyczny. Istnieje duża różnica między samochodami AI, które mogą z powodzeniem przejechać milę w 90% przypadków, w porównaniu z 99,9 +%, które może zrobić człowiek. Nie spodziewam się, że jakakolwiek sztuczna inteligencja będzie naprawdę prowadziła mnie przez co najmniej 20 lat ... (nie liczę samochodów BMW torowych, które muszą być `` trenowane '' na prawdziwym torze, ponieważ tak naprawdę nie grają gra)

Jeśli masz już podstawowe pojęcie o tym, czym jest sztuczna inteligencja i jak można ją modelować, możesz przejść do czegoś bardziej technicznego.

Allen
źródło
0

Jeśli chcesz szybko dowiedzieć się o zastosowaniach niektórych koncepcji sieci neuronowych w prawdziwym symulatorze, jest świetna książka online (obecnie wiki) zatytułowana „Computational Cognitive Neuroscience” pod adresem http://grey.colorado.edu/CompCogNeuro/index. php / CCNBook / Main

Książka jest używana w szkołach jako podręcznik i prowadzi przez wiele różnych obszarów mózgu, od pojedynczych neuronów po funkcje wykonawcze wyższego rzędu.

Ponadto każda sekcja jest wzbogacona o „projekty” prac domowych, które są już niedostępne. Wystarczy pobrać, postępować zgodnie z instrukcjami i zasymulować wszystko, o czym mówił rozdział. Oprogramowanie, którego używają, Emergent, jest trochę skomplikowane, ale niesamowicie solidne: wydaje mi się, że jest to produkt ponad 10 lat pracy.

Przeszedłem przez to na studiach licencjackich w zeszłym semestrze i było świetnie. Przeprowadzi Cię przez wszystko krok po kroku

Varun Singh
źródło