Sieci neuronowe 11.12.2013 w Pałacu Staszica albo w każdej chwili na domowym komputerze

Sieci neuronowe są nowoczesnym narzędziem informatycznym, wykorzystywanym przez wielu badaczy i praktyków do bardzo zróżnicowanych zadań w wielu dziedzinach nauki i gospodarki. Sieci te są także same z siebie fascynującym obiektem badań, ponieważ powstały one jako biocybernetyczne modele fragmentów mózgu, więc eksperymentując z nimi dowiadujemy się wielu ciekawych rzeczy o tym, jak rozpoznajemy obrazy i mowę w naszym mózgu, jak działa pamięć, na czym polega zapominanie i jak można kojarzyć różne informacje. Narzędzie to będzie można poznać podczas mojego wykładu we Wszechnicy PAN w Pałacu Staszica w Warszawie (11.12.2013, godz. 17:30) a także można od zaraz zacząć je poznawać na własnym domowym komputerze korzystając z udostępnionych darmowych programów (szczegóły w tekście).

Sieci neuronowe są fascynujące. Dla większości użytkowników głównie dlatego, że są one nowoczesnym narzędziem informatycznym, bazującym na osiągnięciach naukowych biocybernetyki, którego możliwości znacząco przekraczają możliwości innych systemów komputerowych. Ta przewaga sieci neuronowych wyraża się głównie w tym, że potrafią się one uczyć.



To bardzo ważna zaleta!

Dzięki uczeniu sieci neuronowej można przy jej pomocy rozwiązywać różne zadania bez wkładania wysiłku z poszukiwanie algorytmu rozwiązania zadania i bez mozolnego programowania wszystkich czynności komputera. Wystarczy pokazać sieci nieco przykładów zadań z prawidłowymi rozwiązaniami - a potrafi ona sama (całkiem sama!) znaleźć potrzebną regułę ich rozwiązywania i nauczyć się tej reguły tak, że potem biegle rozwiązuje pokazywane jej zadania. Co więcej, tę samodzielnie wykrytą regułę sieć potrafi zastosować zarówno do tego, żeby poprawnie rozwiązywać te zadania, na których się uczyła (co jest jednak mało użyteczne, bo przecież dla tych przypadków poprawne rozwiązania z definicji znamy), ale potrafi także skutecznie rozwiązywać nowe, wcześniej nie widziane zadania. To właśnie pozwala na jej wygodne wykorzystywanie w praktyce i to właśnie powoduje, że sieci neuronowe są obecnie popularnym zestawem narzędzi, wykorzystywanym przez wielu badaczy i innych użytkowników do rozwiązywana bardzo zróżnicowanych zadań w wielu dziedzinach nauki i gospodarki.

Narzędzia te znalazły już setki potwierdzonych sukcesem zastosowań w przemyśle, ekonomii, medycynie, rolnictwie czy ochronie środowiska. Wpisanie hasła „Neural network applications” do wyszukiwarki Google przynosi odpowiedź:

Około 8,830,000 wyników (0,32 s).

Odpowiedź ta dowodzi dwóch rzeczy:

- że w samych tylko zasobach internetu jest ogromna liczba doniesień o udanych zastosowaniach sieci neuronowych do różnych celów (około 9 mln. wyników wyszukiwania!) oraz

- że wiele osób zapytuje o te wyniki (czas odpowiedzi poniżej sekundy dowodzi, że crawlery Google wielokrotnie zbierały wcześniej informacje na ten temat odpowiadając na pytania użytkowników z całego świata i w momencie zadania naszego pytania - odpowiedź była już gotowa jako przygotowana reakcja na często pojawiające się zapotrzebowania).

Fakt, że sieci neuronowe potrafią się same uczyć skutkuje między innymi tym, że przy ich pomocy można z powodzeniem rozwiązywać także takie problemy, dla których ludzie w ogóle nie potrafią podać żadnej metody ich rozwiązywania - a chętnie by skorzystali z gotowych rozwiązań. Przykładem takich zadań mogą być zadania prognozowania. W odniesieniu do wielu ważnych zjawisk i procesów przypuszczamy, że przyszłość jest jakoś determinowana przez to, co się dzieje teraz, a także przez to, co się działo w przeszłości. Jednak mimo zasadności takiego przeświadczenia nikt nie potrafi podać ścisłych reguł, dzięki którym zwykły komputer mógłby nam wyliczyć, co się zdarzy w przyszłości. Sieć neuronowa natomiast to potrafi: może się nauczyć na danych z przeszłości (danych historycznych), jakie zdarzenia następowały po pewnych sekwencjach zdarzeń wcześniejszych - a potem może tę wiedzę przenieść do prognozowania zdarzeń przyszłych. To nie zawsze musi się udać (zależy to od tego, czy prognozowany proces ma charakter - jak to nazywają matematycy - stacjonarny). Ale dość często się udaje, więc warto próbować.

Jak wspomniałem wyżej, sieci neuronowe to nie tylko narzędzia do sprytnego rozwiązywania trudnych problemów informatycznych, ale to także modele zespołów biologicznych komórek nerwowych, składających się między innymi na nasz mózg. Tworząc sieci neuronowe, badając zachodzące w nich procesy, obserwując jak struktura sieci wpływa na jej umiejętności i zdolności - możemy się wiele dowiedzieć na temat działania naszego własnego umysłu.

Nie mam tu możliwości opisania wszystkich ciekawych zagadnień związanych z sieciami neuronowymi, ale zapewniam Państwa, że warto je poznać. Można to zrobić na dwa sposoby. Po pierwsze można przyjść na mój wykład wygłaszany w ramach Wszechnicy PAN w Sali Okrągłego Stołu w Pałacu Staszica. To na Krakowskim Przedmieściu, w sąsiedztwie Uniwersytetu Warszawskiego i niedaleko od Pałacu Prezydenta RP. Tu jest Zaproszenie.

Ale nie wszyscy zainteresowani będą mogli przybyć na ten wykład, więc zachęcam do tego, żeby pobrać ze strony za darmo zestaw programów, pozwalających na wykonywanie na domowym komputerze różnych eksperymentów z sieciami neuronowymi. Dzięki temu możliwe jest samodzielne odkrywanie właściwości sieci neuronowych, w czym pomaga stowarzyszona ze wskazaną stroną www książka. Tekst tej książki będzie już wkrótce w całości dostępny także w intrenecie. O miejscu udostępnienia tej książki powiadomię jednak oddzielnym wpisem, bo na razie trwają prace adaptacyjne. Ale same programy też są fajne, bo są udostępnione zarówno w wersji wykonywalnej (wystarczy ściągnąć i już można się bawić jak grą albo filmem) jak i w wersji kodu źródłowego w języku C# (można ściągnąć a potem dowolnie zmieniać i modyfikować).

Życzę miłej i pożytecznej zabawy :-)
Trwa ładowanie komentarzy...