Czy możesz wyjaśnić przykładami sieci neuronowe za pomocą prostych słów ?
neural-networks
LifeH2O
źródło
źródło
Odpowiedzi:
Sieć neuronowa to klasa systemu komputerowego. Są tworzone z bardzo prostych węzłów przetwarzających uformowanych w sieć. Inspiruje je sposób, w jaki działają systemy biologiczne, takie jak mózg, choć w tej chwili wiele rzędów wielkości jest mniej skomplikowanych.
Są to zasadniczo systemy rozpoznawania wzorców i zwykle są bardziej przydatne do zadań, które można opisać w kategoriach rozpoznawania wzorców. Są oni „szkoleni” przez dostarczanie im zestawów danych o znanych wynikach.
Jako przykład wyobraź sobie, że próbujesz wyszkolić sieć, aby wyświetlała 1, gdy otrzyma zdjęcie kota, a 0, gdy zobaczy zdjęcie, które nie jest kotem. Przeszkoliłbyś sieć, przeprowadzając przez nią wiele zdjęć kotów i używając algorytmu do poprawiania parametrów sieci, aż uzyska prawidłową odpowiedź. Parametry są zwykle wzmocnieniem na każdym wejściu i wagą na każdym węźle, a także faktyczną strukturą sieci (ile węzłów, ile warstw, z jakimi połączeniami).
Rozpoznawanie zdjęć kotów jest w rzeczywistości dość złożonym problemem i wymagałoby złożonej sieci neuronowej (prawdopodobnie zaczynającej się od jednego węzła na piksel). Zwykle punktem wyjścia do eksperymentowania z sieciami neuronowymi jest próba zaimplementowania prostych bramek logicznych, takich jak AND, OR, NOT itp. Jako sieci neuronowe.
Sieci neuronowe mogą być bardzo szybkim sposobem na uzyskanie złożonego wyniku. Są bardzo interesujące dla badań nad AI, ponieważ są modelem dla mózgu zwierząt.
Jedną z głównych wad sieci neuronowych jest to, że bardzo trudno jest je odtworzyć. Jeśli twoja sieć zdecyduje, że jeden konkretny obraz słonia jest kotem, tak naprawdę nie możesz określić „dlaczego” w jakimkolwiek użytecznym sensie. Wszystko, co możesz naprawdę zrobić, to spróbować dalej trenować / ulepszać sieć.
Sieci neuronowe są zwykle używane do ściśle określonych zadań, takich jak rozpoznawanie monet / banknotów w automatach lub wykrywanie defektów na liniach produkcyjnych.
Najlepszym miejscem na rozpoczęcie, jeśli jesteś zainteresowany, jest prawdopodobnie „perceptron” Google, który jest nazwą jednego z pierwszych elementów sieci neuronowej.
źródło
Studiuję sztuczną inteligencję w programie magisterskim i dość często korzystamy z sieci neuronowych. Są w rzeczywistości całkiem przydatne.
Myślę, że problemem dla sieci neuronowych jest ich nazwa. To wprawia w zakłopotanie rzeczywistą sieć neuronową i powoduje, że niektórzy ludzie kwestionują swoje zalety, ponieważ oczekują, że będą zachowywać się jak mózgi, gdy są naprawdę fantazyjnym rodzajem funkcji.
Najlepszym sposobem na zrozumienie sieci neuronowej jest przejście obok nazwy. Nie myśl o tym jak o modelu mózgu ... nie jest ... taka była intencja w latach 60., ale w 2011 r. I są one cały czas wykorzystywane do uczenia maszynowego i klasyfikacji.
Sieć neuronowa jest właściwie tylko funkcją matematyczną. Wpisujesz wektor wartości, wartości te są mnożone przez inne wartości, a wartość lub wektor wartości jest wyprowadzany. To wszystko .
Są bardzo przydatne w domenach problemowych, w których nie jest znana funkcja przybliżania danych funkcji (lub danych wejściowych) do ich wyników (klasyfikacja lub regresja). Jednym z przykładów może być pogoda - istnieje wiele cech pogody - typ, temperatura, ruch, zachmurzenie, przeszłe wydarzenia itp. - ale nikt nie może powiedzieć dokładnie, jak obliczyć, jaka będzie pogoda za 2 dni. Sieć neuronowa to funkcja skonstruowana w sposób, który ułatwia zmianę jej parametrów w celu przybliżenia prognozy pogody na podstawie cech.
To jest… jego funkcja i ma ładną strukturę dostosowaną do „uczenia się”. Dane pogodowe z ostatnich pięciu lat zajęłyby - wraz z cechami pogody i stanem pogody 2 dni w przyszłości, na każdy dzień w ciągu ostatnich pięciu lat. Wagi sieci (mnożniki rezydujące na krawędziach) są generowane losowo, a dane są przepuszczane. Dla każdej prognozy NN wyświetli niepoprawne wartości. Korzystając z algorytmu uczenia się opartego na rachunku różniczkowym, takiego jak propagacja wsteczna, można użyć wyjściowych wartości błędów do zaktualizowania wszystkich wag w sieci. Po przejściu wystarczającej liczby danych poziomy błędów osiągną najniższy punkt (jest tego więcej, ale nie będę się tutaj zajmował - najważniejsze jest nadmierne dopasowanie). Celem jest zatrzymanie algorytmu uczenia się, gdy poziomy błędu są w najlepszym momencie. Sieć jest następnie ustalona i w tym momencie jesttylko funkcja matematyczna, która odwzorowuje wartości wejściowe na wartości wyjściowe, tak jak każde stare równanie. Wprowadzasz nowe dane i ufasz, że wartości wyjściowe są dobrym przybliżeniem.
Tym, którzy twierdzą, że ponieśli porażkę: nie są. Są niezwykle przydatne w wielu domenach. Jak według ciebie badacze odkrywają korelacje między genami a chorobami? NN, a także inne algorytmy uczenia się, są wykorzystywane w bioinformatyce i innych obszarach. Wykazano, że dają one wyjątkowo dobre wyniki. NASA używa ich teraz do rutynowych czynności stacji kosmicznych, takich jak przewidywanie żywotności baterii. Niektórzy powiedzą, że obsługa maszyn wektorowych itp. Jest lepsza ... ale nie ma na to dowodów, inne algorytmy są po prostu nowsze.
Naprawdę szkoda, że ludzie nadal twierdzą, że sieci neuronowe uległy awarii, ponieważ są znacznie prostsze niż ludzki mózg - sieci neuronowe nie są już używane do modelowania mózgów - to było 50 lat temu.
źródło
Jest to schemat matematyczny służący do budowania równania (przyjmowanie wielu danych liczbowych i zapewnianie pojedynczego wyniku liczbowego) z regulowanymi wagami współczynników. Istnieją algorytmy, które mogą regulować współczynniki, aby równanie było zbliżone do oczekiwanych wyników, biorąc pod uwagę zestaw szkoleniowy składający się z danych wejściowych i oczekiwanych wyników.
Najprostszy przykład, wraz z grafiką, jest dostępny na Wikipedii . Ten przykład jest znany jako XOR.
źródło
Krótko mówiąc, tak jak pytałeś, sieć neuronowa to nieudany pomysł naśladowania biologicznych sieci neuronowych. Nigdy nie dał żadnych interesujących wyników i prawdopodobnie nigdy nie przyniesie, ponieważ:
(1) jest to zbyt uproszczone w porównaniu z tym, co można zrobić z dowolnym językiem programowania kompletnym Turinga
(2) jest zbyt uproszczony w porównaniu z biologicznymi sieciami neuronowymi: okazały się one bardziej złożone, niż sądzono, zanim powstała teoria NN.
Każde twierdzenie, że sieci neuronowe są skuteczne w każdym zadaniu stosowanym w rzeczywistych aplikacjach, jest przesadą.
Daj mi głos.
źródło