Technologie i wydarzenia
Artykuł
Mateusz Brzostek, Wtorek, 27 września 2016, 18:13

Sieci neuronowe, machine learning, deep learning, uczenie się maszyn – to ostatnio popularne hasła, pod którymi kryje się znana od wielu lat dziedzina nauki. O co w tym chodzi? Co to ma wspólnego z procesorami graficznymi? Dlaczego w publikacjach branżowych nie mówi się o sztucznej inteligencji wprost?

Sieci neuronowe, czyli machine learning, czyli deep learning, czyli... sztuczna inteligencja

Sieci neuronowe są jedną z najważniejszych i najbardziej praktycznych metod sztucznej inteligencji. To bardzo obszerna dziedzina nauki, łącząca wiele innych dyscyplin. W ostatnich latach zainteresowanie sieciami neuronowymi stale rośnie, a doniesienia prasowe mówią nam o coraz to nowszych zastosowaniach praktycznych – choć czasem nie wiemy, że właśnie o sieciach neuronowych mowa.

To tylko wstęp

W dalszej części tego artykułu opowiemy, jak uczy się sieć neuronowa, o jakich rodzajach sieci najczęściej się mówi i jakie są najczęściej używane. Sieci neuronowe i AI to tak obszerna dziedzina, że nie mamy szansy choćby wspomnieć o wielu ważnych zagadnieniach. Świadomie upraszczamy i omijamy wiele kwestii. Potraktujcie ten artykuł jako szybkie wyjaśnienie, czym i dlaczego ekscytują się producenci i użytkownicy superwydajnych maszyn obliczeniowych, oraz zachętę do lektury innych źródeł.

Trochę historii

Historia sztucznej inteligencji zaczyna się na poważnie od perceptronu, wynalazku z lat 50. ubiegłego wieku. Nazwa kojarzy się z jakimś urządzeniem, i słusznie, bo wynalazca, psycholog Frank Rosenblatt, początkowo myślał o maszynie zbudowanej na podobieństwo organizmów biologicznych i umiejącej się uczyć. Chodzi jednak o pewien algorytm, który realizowano programowo, początkowo na uniwersalnym komputerze, a potem na komputerze z wyspecjalizowanymi peryferiami. Perceptron to algorytm klasyfikujący: uczy się jakieś klasy i daje odpowiedź: czy wejściowy zestaw danych do niej należy czy nie. Pierwszy perceptron zbierał dane z 400-pikselowego sensora optycznego i stwierdzał, czy widoczna figura geometryczna odpowiada wyuczonemu wzorcowi. Perceptron jest jednym z kilku rodzajów sztucznego neuronu: urządzenia o wielu wejściach i jednym wyjściu, które daje tylko jedną odpowiedź (najczęściej tak lub nie).

Charles Wightman i Perceptron Mk I

Perceptron Mk I – prosta sieć neuronowa z 1958 roku, zaimplementowana na wyspecjalizowanym urządzeniu

Uczenie się jest podstawowym postulatem tej dziedziny nauki i techniki. Algorytm uczący się to taki, który daje użyteczny wynik bez konieczności dosłownego zaprogramowania każdego kroku. Innymi słowy, nie zostaje na początku zaprogramowany przez człowieka do konkretnego zadania – reguły postępowania wytwarzają się w toku uczenia algorytmu.

Zwykle maszyny obliczeniowe pomagają w rozwiązywaniu problemów w inny sposób: człowiek określa reguły postępowania (program), a korzyść z użycia maszyny polega wyłącznie na tym, że ta nie popełnia błędów, nie męczy się i jest szybsza niż człowiek. Ale zaprogramowany przez człowieka program może poradzić sobie wyłącznie z zadaniami, których metoda rozwiązania jest już znana.

Jest jednak wiele problemów, których nie umiemy rozwiązać. Mamy mnóstwo danych potrzebnych do ich rozwiązania, ale nie umiemy znaleźć albo precyzyjnie opisać reguł postępowania, które pozwoliłyby nam znaleźć wynik. Przykładem może być zachowanie rynku powiązanych ze sobą dóbr i instrumentów finansowych. Intuicja podpowiada, że ich dotychczasowe zachowanie ma zasadniczy wpływ na ich zachowanie w najbliższej przyszłości. Danych jest tak dużo, a zależności są tak zawiłe, że nie umiemy znaleźć wzoru pozwalającego przewidzieć przyszłość. Są też problemy, których banalności dla człowieka nie umiemy wyjaśnić, na przykład rozpoznawanie kształtów na obrazach. Potrafimy odróżnić zdjęcie kota od zdjęcia psa, ale nie znamy prostego programu, który pozwoliłby maszynie zrobić to samo.

W tych sytuacjach możemy wykorzystać sieć neuronową (SN), czyli uczący się algorytm, który metodą prób i błędów dojdzie do organizacji pozwalającej mu znaleźć odpowiedź.

Skąd nagłe zainteresowanie sieciami neuronowymi?

Nie jest ono nagłe ani nowe; nad sieciami neuronowymi pracuje się od ponad 60 lat. W okresie, w którym wynaleziono perceptron, entuzjazm dla tej techniki był bardzo duży. Spodziewano się, że w krótkim czasie zostanie opracowana bardzo zaawansowana sztuczna inteligencja, niekoniecznie świadoma, ale zdolna do wykonywania skomplikowanych zadań praktycznych. New York Times pisał, że perceptron jest zalążkiem komputera, który będzie świadomy, będzie się reprodukował, pisał i rozmawiał z ludźmi. Jeszcze przed opublikowaniem prac naukowych o perceptronie Robert Heinlein w powieści Drzwi do lata pisał o fikcyjnych „lampach pamięciowych Thorsena”, których zastosowanie pozwoliło bohaterowi powieści zbudować automat zapamiętujący czynności gospodyni domowej i zdolny je powtórzyć w innych warunkach. Ekscytacja przewidywanymi możliwościami sieci neuronowych zwiększyła oczekiwania biznesmenów, futurystów i naukowców.

Plakat filmu

Robot Bobby na plakacie filmu „Zakazana planeta” z 1956 roku. Wielu twórców science fiction, z Isaakiem Asimovem na czele, opisywało wtedy sztuczną inteligencję, ale większość z nich nie proponowała żadnej zasady jej działania

Szybko się jednak okazało, że zrobienie czegokolwiek bardziej skomplikowanego niż odróżnienie trójkąta od kwadratu przerasta możliwości perceptronu. W 1969 roku Marvin Minsky (współzałożyciel uniwersytetu MIT i znany badacz SI) wraz z współpracownikiem opisali ograniczenia prostych perceptronów i podobnych algorytmów. Rozczarowanie powolnym postępem, brak komercyjnych zastosowań i odkrycie ograniczeń tych algorytmów spowodowało tak zwaną zimę SI: przez kilkanaście kolejnych lat zainteresowanie tą dziedziną było niewielkie, pieniądze na dalsze badania niechętnie przyznawano, a wielu badaczy zajęło się innymi zagadnieniami.

Trzeba było czasu i kolejnych pomysłów, żeby wróciło zainteresowanie sieciami neuronowymi. Podstawowym przełomem było zastosowanie kilku warstw sztucznych neuronów, które podają sobie dalej cząstkowe wyniki przed otrzymaniem końcowej odpowiedzi. Drugą zasadniczą zmianą był rozwój komputerów, których moc obliczeniowa wzrosła na tyle, że można łatwo zasymulować wiele sztucznych neuronów.

Wreszcie trzecim czynnikiem napędzającym ostatnio rozwój sieci neuronowych jest rosnący popyt na analizę danych. Mamy dziś mnóstwo danych na temat dynamiki internetu, zachowań konsumentów, mnóstwo sensorów digitalizujących jakieś części środowiska. Znalezienie w tym ogromie danych prawidłowości lub wykrycie trendów przerasta możliwości całej armii ludzi. Nawet proste „rzucenie okiem” na te wielkie zbiory danych obiecuje wielu branżom biznesu wielkie korzyści, a skoro komputery są stosunkowo tanie, to dlatego nie wykorzystać do tego sztucznej inteligencji? Wśród najgłośniejszych zastosowań SN jest szybka i dokładna analiza obrazów, która pozwala między innymi na zbudowanie samoprowadzących się samochodów.

Terminologia

Zima SI nie pozostała bez konsekwencji. Dziś rzadko mówi się o sieciach neuronowych i sztucznej inteligencji: oba te terminy są źle postrzegane, szczególnie w środowiskach biznesowych. Żeby zaproponować coś nowego i zbudować na nowo ekscytację SI, używa się innych terminów, pod którymi kryje się to samo (sieci neuronowe lub ich konkretny rodzaj): machine learning (uczenie się maszyn), deep learning (głębokie uczenie) i inne.

Ocena artykułu:
Ocen: 16
Zaloguj się, by móc oceniać
mICh@eL (2016.09.27, 18:22)
Ocena: 10

0%
Trzeba było czasu i kolejnych pomysłów, żeby wróciło zainteresowanie sieciami neuronowymi. Podstawowym przełomem było zastosowanie kilku warstw sztucznych neuronów, które podają sobie dalej cząstkowe wyniki przed otrzymaniem końcowej odpowiedzi.

Nieprawda. Sam pomysł połączenia perceptronów w kilka warstw był znany, natomiast problem był z algorytmem nauki. W przypadku jednego perceptronu znamy wejścia, znamy wyjścia, więc łatwo jest określić błąd i skorygować współczynniki na wejściach. Natomiast kiedy mamy kilka warstw nie wiemy co powinno być na wyjściach z pośrednich warstw i prosty algorytm nauki się wykłada.

Przełom nastąpił dopiero w momencie opracowania algorytmu propagacji wstecznej, który umożliwił skuteczne i względnie szybkie uczenie takich sieci ;)
motiff (2016.09.27, 18:40)
Ocena: 6

0%
No czekam na coś konkretnego, byle nie taka sama demonstracja jak pewna pani od mientkich co ją musieli wyłączyć że wstydu.
Master Husky (2016.09.27, 18:51)
Ocena: 13

0%
motiff @ 2016.09.27 18:40  Post: 1008235
No czekam na coś konkretnego, byle nie taka sama demonstracja jak pewna pani od mientkich co ją musieli wyłączyć że wstydu.


A co jeżeli każda SI z czasem będzie się stawać kolejnym wcieleniem hitlera?
Konrad_K (2016.09.27, 19:05)
Ocena: 5

0%
Master Husky @ 2016.09.27 18:51  Post: 1008238
motiff @ 2016.09.27 18:40  Post: 1008235
No czekam na coś konkretnego, byle nie taka sama demonstracja jak pewna pani od mientkich co ją musieli wyłączyć że wstydu.


A co jeżeli każda SI z czasem będzie się stawać kolejnym wcieleniem hitlera?


A co jeśli będzie stawać się wcieleniem Elvisa Presleya?
Wtedy tak będzie. Trudno.
Pozostanie nie podłączać jej do mikrofonu, jak się komuś nie podoba.
SambaVerde (2016.09.27, 19:39)
Ocena: 6

0%
Hashi @ 2016.09.27 19:29  Post: 1008245

Prawda nie zawsze jest 'pełną' prawdą i negacja nie jest zawsze pełną negacją.

Tak... a 'ale' to takie silniejsze 'nie' ;)
Też byłem na Coaching'u :D
karolthas (2016.09.27, 20:06)
Ocena: 5

0%
Na tej stronie znajdziecie świetny, darmowy kurs z nauczania maszynowego dla początkujących (po angielsku)
https://www.coursera.org/learn/machine-learning/
Koleś bardzo fajnie tłumaczy wszelkie zagadnienia
agent_x007 (2016.09.27, 20:08)
Ocena: 2

0%
Hashi @ 2016.09.27 19:29  Post: 1008245
System powinien być trójkowy (pracuje nad rozkminiem tego) tzw 0 i 1 powinny mieć stany tak jak ma je napięcie + dodatkowy stan pomiędzy 0 i 1 albo większy lub mniejszy od 0 i 1.
Dlaczego tam uważam? Bo cała materia składa się 3 cząstek, elektron, neutron i proton, nawet mózg człowieka.
Prawda nie zawsze jest 'pełną' prawdą i negacja nie jest zawsze pełną negacją.
Tak(1), Nie (0), Dlaczego(2) ?
System trójkowy :P

Z drugiej strony, to że prąd w gniazdku może mieć trzy fazy, nie znaczy to że trzy fazy są bardziej praktyczne od jednej ;)
Osobiście jestem za podejściem hybrydowym (dwójkowy + trójkowy), ponieważ założę się że trójkowy będzie 'zbyt kosztowny' albo niepraktyczny w niektórych zastosowaniach.
Edytowane przez autora (2016.09.27, 20:09)
SambaVerde (2016.09.27, 20:13)
Ocena: -3

0%
Hashi @ 2016.09.27 20:05  Post: 1008255
No kumasz. Ale jest bardziej akcentem, który sugeruje, ze ktoś chce nam postawić warunek ;)

Jak by nie było, mam zakaz używania słowa ''ale'' :D
Zaloguj się, by móc komentować
Artykuły spokrewnione
Facebook
Ostatnio komentowane