Sztuczne sieci neuronowe

Sztuczne sieci neuronowe
Polecane artykuły


Sztuczne sieci neuronowe są jednym z obszarów zastosowań informatyki, wywodzących się z prac badawczych mających na celu opracowanie sztucznej inteligencji (AI - Artificial Intelligence), są tzw. sztuczne sieci neuronowe (SSN), które powstały z interdyscyplinarnej syntezy nauk tradycyjnych obejmujących biologię, fizykę i matematykę. Ich dynamiczny rozwój nastąpił w ostatnich latach w wyniku wzrostu wydajności i możliwości komputerów, pojemności baz danych, złożoności oprogramowania systemowego i aplikacyjnego.

Cechy

Podstawową cechą systemów opartych o sztuczne sieci neuronowe, która odróżnia je od typowych algorytmów przetwarzania informacji jest zdolność generalizacji. Określa się ją inaczej jako zdolność sieci neuronowej do aproksymacji wartości funkcji wielu zmiennych w przeciwieństwie do interpolacji możliwej do otrzymania przy przetwarzaniu algorytmicznym. Można to ująć jeszcze inaczej. Np. systemy ekspertowe z reguły wymagają zgromadzenia i bieżącego dostępu do danych na temat zagadnień, o których będą rozstrzygały.

SSN wymagają natomiast jednokrotnego przeprowadzenia procesu uczenia, a potem wykazują one tolerancję na nieciągłości, przypadkowe zaburzenia lub wręcz braki danych występujące w zbiorze uczącym. Pozwala to na zastosowanie ich tam, gdzie nie da się efektywnie rozwiązać problemu w inny sposób.

Cechy charakterystyczne problemów dla sztucznych sieci neuronowych:

  • przybliżana funkcja może być wektorem wartości a także może mieć wartości rzeczywiste lub dyskretne,
  • akceptacja długiego czasu uczenia sieci,
  • dane mogą podlegać "zaszumieniu" lub mogą zawierać błędy,
  • trudność dla człowieka przy zinterpretowaniu wiedzy nabytej przez sieć,
  • akceptacja dla sporej ilości parametrów algorytmu, które wymagają dopracowania eksperymentalnymi metodami [1].

Architektura sztucznych sieci neuronowych

Wyodrębnia się dwa rodzaje architektur sztucznych sieci neuronowych:

  • sieci jednokierunkowe (ang. feedforwarded) czyli sieci, które mają jeden kierunek przepływu sygnałów. Przypadkiem szczególnym tej jednokierunkowej architektury jest sieć warstwowa, która przedstawia najpopularniejszą topologię.
  • inne, takie jak np. sieci rekurencyjne. Są to sieci ze sprzężeniami zwrotnymi - sieć Hopfielda lub sieci Kohonena - uczenia się poprzez współzawodnictwo.

Neurony łączą się ze sobą na zasadzie:

  • "każdy z każdym"
  • połączeń między warstwami w sieciach warstwowych
  • wyłącznie z pewną grupą neuronów, bardzo często z tak zwanym "sąsiedztwem" [2].

Wybrane rodzaje sieci neuronowych:

  • warstwowe sieci nieliniowe
  1. uczona algorytmem wstecznej propagacji błędów, wielowarstwowa.
  2. wielowarstwowe ze zmianami algorytmu wstecznej propagacji błędów.
  3. z funkcjami, posiadające symetrię kołową - RBF.
  • warstwowe sieci liniowe
  1. Adaline/Madaline.
  • sieci uczone poprzez współzawodnictwo
  1. sieci Kohonena, LVQ.
  2. sieci samoorganizujące się SOM oraz odwzorowanie cech istotnych.
  • sieci ze sprzężeniem zwrotnym
  1. dwukierunkowa pamięć asocjacyjna - BAM.
  2. sieci Hopfielda.
  • sieci z kontrpropagacją oraz sieci rezonansowe ART
  • wykorzystujące sieci neuronowe metody hybrydowe
  • zintegrowane z algorytmami metaheurystycznymi
  1. maszyna Boltzmana - symulowane wyżarzanie.
  2. algorytmy genetyczne.
  • systemy rozmyto-neuronowe [3].

Zastosowania

Ze względu na specyficzne cechy i niepodważalne zalety obszar zastosowań sieci neuronowych w zagadnieniach ekonomicznych jest rozległy. Wymienić należy przede wszystkim [4]:

  • określanie profilu klienta,
  • badanie zdolności kredytowej podmiotów gospodarczych,
  • prognozowanie ruchów cen, podaży i popytu określonych asortymentów towaru na rynku,
  • wybór momentów kupna i sprzedaży dla akcji wybranych spółek giełdowych,
  • przewidywanie bankructw firm,
  • przewidywanie zmian kursów walut,
  • badanie wpływu czynników okołorynkowych na jakość prognoz,
  • kształtowanie optymalnego poziomu wypełnienia magazynów surowców lub produktów.

Porównując ze sobą systemy eksperckie, systemy wspomagania decyzji i systemy sztucznej inteligencji oparte o sieci neuronowe, dają się zauważyć pewne różnice wynikając z różnego zakresu zastosowań, celu stosowania, wykorzystanych narzędzi informatycznych, rodzajów przetwarzanych informacji i algorytmów przetwarzania.

Proces uczenia się sieci

Istnieją dwa główne sposoby uczenia sieci:

1. uczenie nadzorowane (ang. supervised learning) Gdy dany jest zbiór przykładów uczących, które składają się z par wejście-wyjście (xj, zj), zj jest odpowiedzią pożądaną sieci na wejściowe sygnały xj (j=1,..m). Do zadań sieci należy nauczenie się jak najdokładniej to możliwe funkcji przybliżającej powiązanie wyjścia z wejściem. Dystans pomiędzy odpowiedzią sieci pożądaną a rzeczywistą jest miarą błędu, którą używa się do korekcji wag sieci.

2. uczenie nienadzorowane (ang. unsuperivsed learning) [5].

Bibliografia

  • Kącki E. (2003) Sztuczne sieci neuronowe w wybranych problemach zarządzania, w: Zamojskie Studia i Materiały. Materiały z konferencji Informatyka w Ekonomii pod. red. J. Gruszeckiego, Wyższa Szkoła Zarządzania i Administracji w Zamościu, Zamość
  • Stefanowski J. (2006) Sztuczne sieci neuronowe Poznań
  • Stęgowski Z. (2004) Sztuczne sieci neuronowe Wydział Fizyki i Techniki Jądrowej AGH, 2004 nr.1
  • Woźniak K. (2005) System informacji menedżerskiej jako instrument zarządzania strategicznego w firmie, praca doktorska, Akademia Ekonomiczna w Krakowie, Kraków

Przypisy

  1. , Stefanowski J., s. 18
  2. , Stefanowski J., s. 6
  3. , Stefanowski J., s. 10
  4. , Kącki E., s. 15-21
  5. , Stefanowski J., s. 7

Autor: Krzysztof Woźniak, Karolina Gralak