Sieci neuronowe dla manekinów: kompleksowy przewodnik
Opublikowany: 2018-02-07Nasz mózg to niesamowita maszyna do rozpoznawania wzorów. Przetwarza „wejścia” ze świata zewnętrznego, kategoryzuje je (to pies; to kawałek pizzy; och, to autobus jedzie w moją stronę!), a następnie generuje „wyjście” (głaskanie psa; pyszny smak ta pizza; zejdź z drogi autobusowi!).
Wszystko to przy niewielkim świadomym wysiłku, niemal pod wpływem impulsu. To ten sam system, który wyczuwa, czy ktoś jest na nas wściekły, albo mimowolnie zauważa sygnał stopu, gdy go mijamy. Psychologowie nazywają ten sposób myślenia „Systemem 1” i obejmuje on wrodzone umiejętności — takie jak percepcja i strach — którymi dzielimy się z innymi zwierzętami. (Istnieje również „System 2”, aby dowiedzieć się więcej na ten temat, sprawdź niezwykle pouczające Thinking, Fast and Slow autorstwa Daniela Kahnemana ).
Pytasz, jak to wszystko ma się do sieci neuronowych ? Poczekaj, za chwilę tam dotrzemy.

Spójrz na powyższy obrazek, tylko twoje zwykłe liczby, zniekształcone, aby pomóc ci lepiej wyjaśnić uczenie się sieci neuronowych . Nawet patrząc pobieżnie, Twój umysł podpowie Ci słowami „192”.
Na pewno nie powiedziałeś „Ach, to wygląda na prostą, myślę, że to 1”. Nie obliczyłeś tego – stało się to natychmiast.
Fascynujące, prawda?
Powód jest bardzo prosty – tak wiele razy w życiu natknąłeś się na tę cyfrę, że metodą prób i błędów Twój mózg automatycznie ją rozpoznaje, jeśli podarujesz mu coś nawet w oddali.
Jaka jest różnica między Data Science, Machine Learning i Big Data?
Przejdźmy do sprawy.
Spis treści
Czym dokładnie jest sieć neuronowa ? Jak to działa?
Z definicji sieć neuronowa to system sprzętu lub oprogramowania, wzorowany na działaniu neuronów w ludzkim mózgu. Zasadniczo pomaga komputerom myśleć i uczyć się jak ludzie. Przykład sprawi, że będzie to jaśniejsze:
Jako dziecko, jeśli kiedykolwiek dotknęliśmy gorącego kubka do kawy i to nas spaliło, upewniliśmy się, że nigdy więcej nie dotykamy gorącego kubka. Ale czy mieliśmy takie pojęcie zranienia w naszym sumieniu, ZANIM go dotknęliśmy? Nie całkiem.
To dostosowanie naszej wiedzy i rozumienia otaczającego nas świata opiera się na rozpoznawaniu wzorców. Podobnie jak my, komputery również uczą się poprzez ten sam rodzaj rozpoznawania wzorców. To uczenie się stanowi całą podstawę działania sieci neuronowych .
Tradycyjne programy komputerowe działają na drzewach logicznych – jeśli dzieje się A, to dzieje się B. Wszystkie potencjalne wyniki dla każdego z systemów można wstępnie zaprogramować. Eliminuje to jednak zakres elastyczności. Tam nie ma nauki.
I tu właśnie pojawiają się sieci neuronowe ! Sieć neuronowa jest budowana bez określonej logiki. Zasadniczo jest to system wyszkolony w wyszukiwaniu wzorców w danych i dostosowywaniu się do nich. Jest wzorowany dokładnie na tym, jak działa nasz mózg. Każdy neuron (pomysł) jest połączony przez synapsy. Każda synapsa ma wartość, która reprezentuje prawdopodobieństwo wystąpienia połączenia między dwoma neuronami. Spójrz na poniższy obrazek:

Czym dokładnie są neurony, pytasz?
Mówiąc najprościej, neuron to tylko jedna koncepcja. Kubek, kolor biały, herbata, pieczenie przy dotknięciu gorącego kubka, w zasadzie wszystko. Wszystko to są możliwe neurony. Wszystkie mogą być połączone, a siła ich połączenia zależy od wartości ich synapsy. Wyższa wartość, lepsze połączenie. Zobaczmy jedno podstawowe połączenie sieci neuronowej, aby lepiej zrozumieć:

Każdy neuron jest węzłem, a łączące je linie to synapsy. Wartość synaps reprezentuje prawdopodobieństwo, że jeden neuron zostanie znaleziony obok drugiego. Jest więc całkiem jasne, że diagram pokazany na powyższym obrazku opisuje kubek z kawą, która jest koloru białego i jest bardzo gorąca.
Generowanie języka naturalnego: najważniejsze rzeczy, które musisz wiedzieć
Nie wszystkie kubki mają takie właściwości jak omawiany. Do kubka możemy podłączyć wiele innych neuronów. Na przykład herbata jest prawdopodobnie bardziej powszechna niż kawa. Prawdopodobieństwo połączenia dwóch neuronów zależy od siły łączącej je synapsy. Im większa liczba gorących kubków, tym silniejsza synapsa.
Jednak w świecie, w którym nie używa się kubków do przechowywania gorących napojów, liczba gorących kubków drastycznie by spadła. Nawiasem mówiąc, ten spadek spowodowałby również obniżenie siły synaps łączących kubki z ciepłem.
Więc,

Staje się

Ten mały i pozornie nieistotny opis kubka przedstawia rdzeń budowy sieci neuronowych .
Dotykamy trzymanego na stole kubka — stwierdzamy, że jest gorący. To sprawia, że myślimy, że wszystkie kubki są gorące. Następnie dotykamy kolejnego kubka – tym razem trzymanego na półce – wcale nie jest gorący. Dochodzimy do wniosku, że kubki na półce nie są gorące. Wraz z rozwojem rozwijamy się.
Nasz mózg cały czas zbierał dane. Te dane pozwalają określić dokładne prawdopodobieństwo tego, czy kubek, którego zamierzamy dotknąć, będzie gorący. Sieci neuronowe uczą się dokładnie w ten sam sposób.
Porozmawiajmy teraz trochę o pierwszym i najbardziej podstawowym modelu sieci neuronowej : Perceptron!

Co to jest perceptron?
Perceptron to najbardziej podstawowy model sieci neuronowej. Zajmuje wiele wejść binarnych: x1, x2, … i wytwarza jedno wyjście binarne.

Zrozummy lepiej powyższą sieć neuronową za pomocą analogii.
Powiedzmy, że idziesz do pracy pieszo. Twoja decyzja o pójściu do pracy opiera się głównie na dwóch czynnikach: pogodzie i tym, czy jest to dzień powszedni, czy nie. Czynnik pogodowy jest nadal do opanowania, ale praca w weekendy to duże nie! Ponieważ musimy pracować z wejściami binarnymi, zaproponujmy warunki jako pytania tak lub nie. Czy pogoda jest ładna? 1 za tak, 0 za nie. Czy to jest dzień powszedni? 1 tak, 0 nie.
Przewodnik dla początkujących do zrozumienia języka naturalnego
Pamiętaj, nie możemy jednoznacznie powiedzieć sieci neuronowej o tych warunkach; będzie musiała się ich nauczyć. W jaki sposób zadecyduje o pierwszeństwie tych czynników przy podejmowaniu decyzji? Używając czegoś znanego jako „ciężary”. Wagi to tylko liczbowa reprezentacja preferencji. Większa waga spowoduje, że sieć neuronowa uzna to wejście za wyższy priorytet niż pozostałe. Jest to reprezentowane przez w1, w2… na schemacie powyżej.
„W porządku, to wszystko jest całkiem fascynujące, ale gdzie sieci neuronowe znajdują zastosowanie w praktycznym scenariuszu?”
Rzeczywiste zastosowania sieci neuronowych
Jeśli jeszcze tego nie rozgryzłeś, to oto jest, sieć neuronowa może zrobić prawie wszystko, o ile jesteś w stanie uzyskać wystarczającą ilość danych i wydajną maszynę, aby uzyskać odpowiednie parametry. Wszystko, co nawet zdalnie wymaga uczenia maszynowego, zwraca się o pomoc do sieci neuronowych . Głębokie uczenie to kolejna dziedzina, która w dużym stopniu wykorzystuje sieci neuronowe. Jest to jeden z wielu algorytmów uczenia maszynowego, który umożliwia komputerowi wykonywanie wielu zadań, takich jak klasyfikacja, klastrowanie lub przewidywanie.
- Za pomocą sieci neuronowych możemy znaleźć rozwiązanie takich problemów, dla których tradycyjna metoda algorytmiczna jest droga lub nie istnieje.
- Sieci neuronowe mogą uczyć się na przykładach, dlatego nie musimy ich programować w dużym stopniu.
- Sieci neuronowe są dokładne i znacznie szybsze niż prędkości konwencjonalne.
Z powodów wymienionych powyżej i nie tylko, Deep Learning, wykorzystując sieci neuronowe , znajduje szerokie zastosowanie w następujących obszarach:

- Rozpoznawanie mowy: weźmy przykład Amazon Echo Dot – magicznych głośników, które pozwalają zamawiać jedzenie, otrzymywać wiadomości i aktualizacje pogody lub po prostu kupować coś online, po prostu o tym rozmawiając.
- Rozpoznawanie pisma ręcznego: sieci neuronowe można wytrenować w celu zrozumienia wzorców w czyimś piśmie odręcznym. Zapoznaj się z aplikacją Google do wprowadzania pisma ręcznego, która wykorzystuje funkcję rozpoznawania pisma ręcznego do płynnego przekształcania bazgrołów w zrozumiałe teksty.
- Rozpoznawanie twarzy: od poprawy bezpieczeństwa w telefonie (Face ID) po super fajne filtry Snapchat – rozpoznawanie twarzy jest wszędzie. Jeśli kiedykolwiek przesłałeś zdjęcie na Facebooku i zostałeś poproszony o oznaczenie osób na tym zdjęciu, wiesz, czym jest rozpoznawanie twarzy!
- Zapewnienie sztucznej inteligencji w grach: Jeśli kiedykolwiek grałeś w szachy z komputerem, wiesz już, jak sztuczna inteligencja napędza gry i rozwój gier. Do tego stopnia, że gracze wykorzystują sztuczną inteligencję do ulepszania swojej taktyki i wypróbowywania swoich strategii z pierwszej ręki .
Podsumowując…
Sieci neuronowe stanowią szkielet prawie każdej wielkiej technologii lub wynalazku, jakie widzisz dzisiaj. Można śmiało powiedzieć, że wyobrażenie sobie uczenia głębokiego/maszyny bez sieci neuronowych jest prawie niemożliwe. W zależności od sposobu, w jaki zaimplementujesz sieć i rodzaju uczenia się, z którego korzystasz, możesz wiele osiągnąć z sieci neuronowej w porównaniu z tradycyjnym systemem komputerowym.

Ucz się kursów ML z najlepszych światowych uniwersytetów. Zdobywaj programy Masters, Executive PGP lub Advanced Certificate Programy, aby przyspieszyć swoją karierę.
Czym różni się uczenie głębokie od sieci neuronowych?
Głębokie uczenie to gałąź uczenia maszynowego, podczas gdy sieci neuronowe składają się z różnych algorytmów uczenia maszynowego. Podczas gdy sieci neuronowe wykorzystują neurony do przesyłania danych w postaci wartości wejściowych i wyjściowych za pośrednictwem połączeń, uczenie głębokie wiąże się z transformacją i ekstrakcją cech, co ma na celu zbudowanie związku między bodźcami a odpowiadającymi im reakcjami neuronowymi istniejącymi w mózgu.
Jakie są ograniczenia sieci neuronowych?
Jedną z wad korzystania z sieci neuronowych jest to, że potrzebna jest ogromna ilość danych, co jest jednym z negatywów. Ponadto, w porównaniu ze standardowymi technikami, wykorzystanie sieci neuronowych jest kosztowne obliczeniowo. Jednym z głównych problemów jest to, że sieci neuronowe nie zapewniają dobrego wyjaśnienia wytwarzanych przez nie danych wyjściowych. Można to zaobserwować na stronach takich jak Quora, gdzie po anulowaniu konta użytkownika nie można podać jasnego wyjaśnienia, dlaczego udzielona przez niego odpowiedź była nieprawidłowa.
Jak niejednoznaczność radzi sobie z uczeniem maszynowym?
ML obejmuje szeroką gamę typów danych, takich jak zdjęcia, filmy, skrypty i tak dalej. Choć trudne, algorytmy uczenia maszynowego, takie jak przetwarzanie języka naturalnego i sekwencjonowanie DNA, dostarczają odpowiedzi na niejednoznaczność. Niejednoznaczność zostanie zmniejszona tylko wtedy, gdy zostanie użytych więcej danych wysokiej jakości. Ponadto wyidealizowany cel ML powinien być dokładny i zsynchronizowany z potrzebami danego projektu ML.
