Redakcja: Urszula Markowska-Kaczmar Halina Kwaśnicka SIECI NEURONOWE W ZASTOSOWANIACH. Praca zbiorowa



Podobne dokumenty
Inteligentne systemy informacyjne

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Inteligencja. Władysław Kopaliśki, Słownik wyrazów obcych i zwrotów obcojęzycznych

PRZEWODNIK PO PRZEDMIOCIE

MODELOWANIE RZECZYWISTOŚCI

Sztuczne sieci neuronowe (SNN)

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Wprowadzenie do teorii systemów ekspertowych

Sztuczne sieci neuronowe

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Festiwal Myśli Abstrakcyjnej, Warszawa, Czy SZTUCZNA INTELIGENCJA potrzebuje FILOZOFII?

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

Metody sztucznej inteligencji

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Sztuczne sieci neuronowe

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Wstęp do sztucznych sieci neuronowych

Temat: Sieci neuronowe oraz technologia CUDA

Wykład 1: Wprowadzenie do sieci neuronowych

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

KARTA MODUŁU KSZTAŁCENIA

Podstawy Sztucznej Inteligencji (PSZT)

Obliczenia Naturalne - Sztuczne sieci neuronowe

PRZEWODNIK PO PRZEDMIOCIE

Uczenie sieci neuronowych i bayesowskich

Sztuczna inteligencja stan wiedzy, perspektywy rozwoju i problemy etyczne. Piotr Bilski Instytut Radioelektroniki i Technik Multimedialnych

PRZEWODNIK DYDAKTYCZNY I PROGRAM NAUCZANIA PRZEDMIOTU FAKULTATYWNEGO NA KIERUNKU LEKARSKIM ROK AKADEMICKI 2016/2017

ID1SII4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

PRZEWODNIK PO PRZEDMIOCIE

I EKSPLORACJA DANYCH

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

8. Neuron z ciągłą funkcją aktywacji.

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Inteligentne Multimedialne Systemy Uczące

Badacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej pożyteczne okazały się sieci neuronowe.

Prof. Stanisław Jankowski

Metody Sztucznej Inteligencji II

Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe. Krzysztof Regulski, WIMiIP, KISiM, B5, pok. 408

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Elementy inteligencji obliczeniowej

PRZEWODNIK PO PRZEDMIOCIE

Inżynieria danych I stopień Praktyczny Studia stacjonarne Wszystkie specjalności Katedra Inżynierii Produkcji Dr Małgorzata Lucińska

Narzędzia AI. Jakub Wróblewski Pokój SZTUCZNA INTELIGENCJA (ARTIFICIAL INTELLIGENCE)

Relacja: III Seminarium Naukowe "Inżynierskie zastosowania technologii informatycznych"

JAKIEGO RODZAJU NAUKĄ JEST

Metody Sztucznej Inteligencji Methods of Artificial Intelligence. Elektrotechnika II stopień ogólno akademicki. niestacjonarne. przedmiot kierunkowy

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

wiedzy Sieci neuronowe

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

CZYM SĄ OBLICZENIA NAT A URALNE?

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

SIECI NEURONOWE Wprowadzenie

Podstawy sztucznej inteligencji

Sieci neuronowe i algorytmy uczenia Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s.

Inteligentne systemy przeciw atakom sieciowym

Historia sztucznej inteligencji. Przygotował: Konrad Słoniewski

x 1 x 2 x 3 x n w 1 w 2 Σ w 3 w n x 1 x 2 x 1 XOR x (x A, y A ) y A x A

INŻYNIERIA OPROGRAMOWANIA

Algorytm. Krótka historia algorytmów

INŻYNIERIA OPROGRAMOWANIA

Innowacja pedagogiczna dla uczniów pierwszej klasy gimnazjum Programowanie

Umysł Komputer Świat TEX output: :17 strona: 1

WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu

Elementy kognitywistyki III: Modele i architektury poznawcze

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

SIECI REKURENCYJNE SIECI HOPFIELDA

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Informatyka klasa III Gimnazjum wymagania na poszczególne oceny

Sylabus modułu kształcenia na studiach wyższych. Nazwa Wydziału. Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Zastosowanie metod eksploracji danych (data mining) do sterowania i diagnostyki procesów w przemyśle spożywczym

Stefan Sokołowski SZTUCZNAINTELIGENCJA. Inst. Informatyki UG, Gdańsk, 2009/2010

Wymagania z informatyki na poszczególne oceny przy realizacji programu i podręcznika Informatyka wyd. Operon dla klasy II.

Sieci neuronowe i ich ciekawe zastosowania. Autor: Wojciech Jamrozy III rok SMP / Informatyka

Sieci neuronowe. - wprowadzenie - Istota inteligencji. WYKŁAD Piotr Ciskowski

16. CO TU PASUJE CZYLI O DOSTRZEGANIU ZWIĄZKÓW, PODOBIEŃSTW I RÓŻNIC, CZ. II

Wstęp do kognitywistyki. Wykład 3: Logiczny neuron. Rachunek sieci neuronowych

Transformacja wiedzy w budowie i eksploatacji maszyn

PRZEWODNIK PO PRZEDMIOCIE

PROGRAM SEMINARIUM ZAKOPANE czwartek, 1 grudnia 2011 r. Sesja przedpołudniowa

WYMAGANIA EDUKACYJNE

Dr inż. hab. Siergiej Fialko, IF-PK,

Wstęp do teorii sztucznej inteligencji

Opis przedmiotu. Karta przedmiotu - Badania operacyjne Katalog ECTS Politechniki Warszawskiej

Zastosowania sieci neuronowych

SZTUCZNA INTELIGENCJA

Asocjacyjna reprezentacja danych i wnioskowanie

Transkrypt:

Redakcja: Urszula Markowska-Kaczmar Halina Kwaśnicka SIECI NEURONOWE W ZASTOSOWANIACH Praca zbiorowa Oficyna Wydawnicza Politechniki Wrocławskiej Wrocław 2005 3

Przedmowa 7 1 Sztuczne sieci neuronowe wprowadzenie 10 1.1 Pojęcia podstawowe 10 1.2 Architektury sieci neuronowych 13 1.3 Sposoby uczenia 15 1.4 Reguły uczenia 16 1.5 Projektowanie sieci neuronowej 18 1.6 Sieć wielowarstwowa, jednokierunkowa uczona metodą propagacji wstecznej 21 1.7 Sieci z rywalizacją 28 1.8 Sieci z radialnymi funkcjami bazowymi 36 1.9 Sieci Hopfielda 38 1.10 Typowe problemy rozwiązywane przez sieć neuronową 45 2 Zastosowanie sieci neuronowych w grach 49 2.1 TD learning 49 2.2 Othello 51 2.3 Pacman 55 2.4 Sterowanie pojazdami w grach 57 2.5 Przewidywanie liczby lew na podstawie rozdania brydżowego 59 2.6 Sieć neuronowa grająca w szachy 61 2.7 Go 64 2.8 Sieć neuronowa grająca w warcaby - Checkers 71 2.9 Podsumowanie 79 3 Zastosowania w robotyce 81 3.1 Grupy zastosowań sieci neuronowych w robotyce 81 3.2 Sieci neuronowe sterujące kinematyką robotów 82 3.3 DAISY 89 3.4 ALVINN 93 3.5 Podsumowanie 97 4 Sieci neuronowe w biznesie 98 4.1 Segmentacja klientów 98 4.2 Bankowość 99 4.3 Analiza giełdy 100 4.4 Przewidywanie bankructwa 104 4.5 Rozrywka 106 4.6 Wnioski 112 5 Sieci neuronowe w rozpoznawaniu wzorców 113 5.1 Rozpoznawanie obiektów na obrazie 114 5.2 Rozpoznawanie twarzy 118 5.3 Rozpoznawanie pisma ręcznego 122 5.4 Podsumowanie 127 6 Sieci neuronowe w automatycznym rozpoznawaniu mowy 128 5

6.1 Podstawowe pojęcia z zakresu rozpoznawania mowy 128 6.2 Proces rozpoznawania mowy 129 6.3 Modele i algorytmy 133 6.4 Rozwiązania bazujące na sieciach neuronowych 135 6.5 Podsumowanie 139 7 Sieci neuronowe w problemach optymalizacyjnych 140 7.1 Problem komiwojażera 140 7.2 Problem n hetmanów (n queen problem) 144 7.3 Problem skoczka szachowego 147 7.4 Problem dzielenia grafu 151 7.5 Podsumowanie 154 8 Zastosowanie sieci neuronowych w medycynie 155 8.1 Zastosowanie sieci neuronowych w elektrokardiografii 155 8.2 Zastosowanie sieci neuronowych w diagnozowaniu chorób tarczycy 158 8.3 Sieci neuronowe w diagnozowaniu rozedmy płuc 159 8.4 Wykrywanie odmy za pomocą sieci neuronowych 160 8.5 Zastosowanie sieci neuronowych w diagnozowaniu raka 163 8.6 Tworzenie leków z wykorzystaniem sieci neuronowych 164 8.7 Analiza EEG z wykorzystaniem sieci neuronowych 165 8.8 Podsumowanie 167 9 Zakończenie 169 6

Przedmowa W ciągu ostatnich lat liczba zastosowań sieci neuronowych w różnych dziedzinach znacząco wzrosła. Swoją popularność zawdzięczają one przede wszystkim zdolności do uczenia się na podstawie przykładów, mogą więc znaleźć zastosowanie wszędzie tam, gdzie nie jesteśmy zdolni do określenia sposobu rozwiązania problemu, a dysponujemy odpowiednią liczbą przykładów uczących. Choć sieci neuronowe bardzo nieudolnie naśladują działanie komórek nerwowych, swoje korzenie biorą właśnie z modelowania systemów nerwowych. Za podwaliny dla rozwoju modeli obliczeniowych nazywanych sztucznymi sieciami neuronowymi można uznać prace Pawłowa nad modelem odruchów warunkowych (1905) oraz Golgiego i Cajal a nad opisem struktury układu nerwowego (1906). Równie fundamentalny wkład wniosły prace Ecclesa nad modelem synapsy oraz Hodgkina i Huxleya nad modelem propagacji sygnałów w aksonie komórki nerwowej. Pierwszy matematyczny opis funkcjonowania komórki nerwowej i jego powiązanie z problemem przetwarzania danych zaproponowali McCulloch i Pitts w 1943 roku. Stworzony wówczas model neuronowej jednostki przetwarzającej w połączeniu z teoretycznymi rozważaniami von Neumanna na temat związków ludzkiego mózgu i maszyn liczących oraz praktyczną realizacją perceptronu przez Rosenblatta zapoczątkowały nowy paradygmat przetwarzania informacji przy pomocy sztucznych sieci neuronowych. W latach 1943-1969 miał miejsce intensywny rozwój sieci neuronowych powstały takie modele, jak perceptron prosty Adaline i jego reguła uczenia LMS. W 1969 roku Minsky i Papert opublikowali swoją książkę, w której pokazali ograniczenia takich modeli. Wykazali, że takie sieci są w stanie nauczyć się rozwiązywać stosunkowo proste zadania. Wstrzymało to rozwój sieci neuronowych na długie lata. Dopiero po opublikowaniu przez Werbosa metody uczenia nazywanej wsteczną propagacją błędu, dzięki której możliwe było budowanie sieci wielowarstwowych, nastąpił lawinowy rozwój zastosowań i prac nad nowymi paradygmatami sieci. Powstały sieci ART (Adaptive Resonance Theory), które potrafiły się uczyć, nie zapominając zarazem starych wzorców, sieci samoorganizujące się oraz Cognitron Fukushimy. Ten postęp umożliwił ponowny wzrost zainteresowania sieciami neuronowymi. Istnieje wiele konferencji, książek, programów akademickich i zastosowań komercyjnych w tej dziedzinie. Wróćmy na chwilę do biologicznych korzeni sieci neuronowych i przytoczmy kilka statystyk dotyczących działania ludzkiego mózgu. Każdy biologiczny neuron oblicza swoje całkowite pobudzenie w ciągu 5 ms. Jest to równoważne kilkuset operacjom dodawania. W mózgu istnieje bardzo wiele połączeń. Połączenia te są wolniejsze i cieńsze niż te wykonywane w układzie scalonym. Zajmują jednak milion razy większą objętość. Pewne wyobrażenie o możliwościach ludzkiego mózgu daje następujące porównanie: dla zadań arytmetycznych ludzki mózg to 1/10 kalkulatora, w zadaniach typu rozpoznawanie obrazów 1000 superkomputerów, porównując 7

pamięć dla pewnych wybranych faktów możliwości mózgu w tym względzie są znacznie gorsze niż komputerów, rozważając pamięć adresowaną treścią 1 wyniki komórek mózgowych są znacznie lepsze niż komputery. Alan Turing wyraził się kiedyś, że mózg najbardziej przypomina miskę owsianki trudno zrozumieć, jak obiekt o tak mało zachęcającym wyglądzie może mieć tak wspaniałe możliwości. Można utworzyć długą listę dziedzin zastosowań sieci neuronowych. Ograniczając się jednak do takich, których zastosowanie jest najbardziej powszechne, można wymienić systemy telekomunikacyjne, przetwarzanie sygnałów, teorię sterowania, rozpoznawanie wzorców i mowy, medycynę i przewidywanie. Tak liczną klasę zastosowań zawdzięczają sieci neuronowe swoim zaletom. W pierwszej kolejności należy tu wymienić zdolność sieci neuronowych do uczenia się. Do rozwiązania zadania nie potrzebujemy znać sposobu rozwiązania problemu (algorytmu). Powinniśmy jednak mieć przygotowany odpowiedni zbiór reprezentatywnych danych, na podstawie których sieć potrafi nauczyć się rozwiązywać problem. Ponadto, sieci neuronowe charakteryzują się równoległością i rozproszoną pamięcią. Dzięki temu, że pamięć jest rozproszona, niewielkie jej uszkodzenia nie powodują drastycznego spadku jakości działania. W pracy sieci można wyróżnić dwa tryby. W trakcie pierwszego, nazywanego czasem trenowaniem, w kolejnych iteracjach po podaniu wzorca uczącego, zmieniane są parametry sieci nazywane wagami. Po wyuczeniu wagi są zamrażane (nie zmieniają się) a sieć gotowa jest do pracy. Ten tryb nazywa się przetwarzaniem. Oddzielenie tych dwóch trybów pracy można uznać za kolejną zaletę sieci. Cały mozolny proces uczenia sieci odbywa się poza użytkownikiem końcowym, a sieć przez większość czasu jest wykorzystywana w trybie przetwarzania. Po wyuczeniu sieci potrafią przetwarzać wzorce, na których nie były wcześniej uczone. Ta zdolność nazywa się uogólnianiem. Inną ich zaletą jest zdolność do uczenia się nawet przy zaszumionych danych. Na podstawie wymienionych tu zalet możemy sformułować pewne zalecenie odnośnie użycia sieci neuronowych do rozwiązywania problemów. Powinny one znajdować zastosowanie w rozwiązywaniu takich problemów, gdzie istnieje odwzorowanie zmiennych wejściowych w wyjściowe i nie istnieje dla tego problemu rozwiązanie algorytmiczne lub algorytm jest bardzo złożony. Ponadto, do prawidłowego działania sieci neuronowych potrzebny jest odpowiednio duży zbiór danych uczących. Niniejsza książka stanowi przegląd wybranych zastosowań sieci neuronowych w różnych dziedzinach. Mamy nadzieję, że będzie stanowiła źródło inspiracji dla 1 Dlaczego szybko odnajdujemy w pamięci (mózgu) potrzebną informację? Jest to wynikiem organizacji naszej pamięci. Np., jeśli poszukujemy odpowiedzi na pytanie: Podaj zwierzęta futerkowe, to nie zaczniemy przeszukiwać wszystkich informacji, jakie posiadamy (np. historii Grecji), ale zaczniemy od tego, co nazywamy zwierzętami. Taki sposób pamiętania i wyszukiwania informacji nazywamy pamięcią adresowaną treścią 8

studentów, doktorantów i naukowców do zastosowania tej techniki w rozwiązywaniu problemów w dziedzinie, którą się zajmują. Została ona podzielona na dwie części. Pierwsza część to podstawy teoretyczne, które pozwalają zrozumieć opis i sposób wykorzystania sieci neuronowych użytych w poszczególnych przykładach opisanych w drugiej części książki. Wybór materiału umieszczonego w pierwszej części książki, zawierającej podstawy teoretyczne i opis wybranych sieci neuronowych, podyktowany został ich wykorzystaniem w przykładach zastosowań zamieszczonych w drugiej części. Ma on na celu zaznajomienie czytelnika z zasadami uczenia i działania kilku najbardziej popularnych rodzajów sieci neuronowych, sposobem ich projektowania oraz zaleceniami odnośnie ich doboru do konkretnego zastosowania, aby ułatwić czytelnikowi ich stosowanie do własnych problemów. Druga część powstała głównie na bazie opracowań studentów IV roku Wydziału Informatyki i Zarządzania Politechniki Wrocławskiej przygotowanych w ramach seminarium z Sieci neuronowych, prowadzonych przez dr inż. Urszulę Markowską- Kaczmar w roku akademickim 2003/2004. Mamy nadzieję, że różnorodność zastosowań spowoduje, iż wiele osób znajdzie tu coś interesującego, jednocześnie inspirującego do własnych prób. Dziękujemy studentom Inżynierii Oprogramowania, którzy pomagali w powstaniu tej książki: Czeczot Katarzyna Hofman Paweł Hudziak Paweł Karlik Tomasz Kostecki Adam Kubacki Paweł Łużyna Michał Mac Marcin Macioszek Agnieszka Majta Łukasz Matuszek Łukasz Mikosz Jacek Niezborała Przemysław Wojciechowska Maria Zawadzki Jakub Urszula Markowska-Kaczmar Halina Kwaśnicka 9