Wstęp do sieci neuronowych



    ::Historia::

     Początki sztucznej inteligencji sięgają lat czterdziestych ubiegłego stulecia kiedy to opracowano Perceptron model neuronu w mózgu ludzkim i zwierzęcym (McCulloch i Pitts, 1943) oraz wyjaśniono mechanizm zapamiętywania informacji przez sieć biologiczną. Dalszy rozwój tej nauki zaowocował zaprojektowaniem i zbudowaniem przez Rosenblatta (1958) sztucznej sieci neuronowej zwanej perceptronem. Był to elementarny system wizualny, który mógł być nauczony rozpoznawania ograniczonej klasy wzorów. W tych latach próbowano też pierwszych zastosowań komputerów między innymi do przewidywania pogody, identyfikacji formuł matematyvznych, czy analizy elektrokardiogramu.

     Po publikacji w 1969 książki Minsky'ego i Paperta, w której udowodnili, że jednowarstwowe sieci mają skończone zastosowania, nastąpił odwrót od sieci neuronowych w kierunku systemów ekspertowych. Powrót zainteresowania w połowie lat osiemdziesiątych zapoczątkowały prace ukazujące, że wielowarstwowe, nieliniowe sieci neuronowe nie mają ograniczeń. W tym też okresie rozpoczął sie rozwój neurokomputerów, na który także miał wpływ postęp technologii wytwarzania układów scalonych VLSI. Ważnym osiągnięciem są także różnego rodzaju metody uczenia sieci wielowarstwowych np. algorytm wstecznej propagacji blędów.

Neuron     ::Sieć neuronowa::

    h Pierwowzorem sieci neuronowych jest mózg ludzki który składa się z 1010 komórek nerwowych między którymi jest 1015 połączeń. Komórki nerwowe przetwarzają impulsy z częstotliwością 1 - 100 Hz. Daje to przybliżoną prędkość pracy mózgu 1018 operacji na sekundę, co wielokrotnie przewyższa mozliwości obecnych superkomputerów. Sieć neuronowa jest bardzo uproszczonym modelem mózgu. Składa się ona z dużej liczby elementów przetwarzających informację zwanych neuronami. Połączone są one ze sobą w pewien określony sposób (patrz 'Sieci Neuronowe').

    ::Model neuronu::

     Na podstawie działania neuronu biologicznego można zbudować schemat działania neuronu sztucznego. Składa się on z wielu wejść z których sygnały są sumowane z odpowiednimi wagami a następnie poddawane działaniu funkcji aktywacji:

Neuron sztuczny

     Zgodnie z tym modelem wzór na potencjał membranowy φ ma postać:
wzor 1
     Sygnał φ poddawany jest przetwarzaniu przez blok aktywacji, który w zależności od potrzeb może być opisany różnymi funkcjami. Może to być funkcja liniowa. Wówczas sygnał wyjściowy ma postać:

wzor 2
Sieci opisane powyższymi zależnościami nazywamy sieciami liniowymi.
Innym typem funkcji opisującej blok aktywacji jest funkcja skoku jednostkowego:
wzor 3

gdzie φh jest zadaną stałą wartością progową.
Funkcje które dokładniej opisują nieliniową charakterystykę funkcji aktywacji neuronu biologicznego to funkcja sigmoidalna:
wzor 4

gdzie β jest parametrem, oraz funkcja tangensoidalna:
wzor 5

gdzie α jest parametrem, tgh - tangens hiperboliczny.

Poniżej przedstawiony jest wykres funkcji aktywacji neuronu:
  1. funkcja liniowa,
  2. funkcja skoku jednostkowego (funkcja progowa),
  3. funkcja sigmoidalna.

wykres

    ::Sieci neuronowe::

Rodzaj sieci neuronowej zależy od sposobu połączenia neuronów tej sieci oraz od kierunku przepływu sygnałów w sieci. Każdy typ sieci ma własne metody doboru wag, czyli uczenia. Istnieje bardzo wiele rodzajów sieci neuronowych jednak najbardziej podstawowe, obrazujące budowę i sposób działania to:
  • sieci jednokierunkowe
    • jednowarstwowe
    • wielowarstwowe
  • sieci rekurencyjne
  • sieci komórkowe

Sieci jednokierunkowe których typowym przykładem jest perceptron jednowarstwowy (rys. perceptronu) składają się z neuronów ułożonych w warstwach o jednym kierunku przepływu sygnałów i połączeniach międzywarstwowych jedynie między kolejnymi warstwami. Sieć tego typu posiada warstwę wejściową, wyjściową i warstwy ukryte. Z funkcjonalnego punktu widzenia układ taki można traktować jako układ aproksymacji funkcji nieliniowej wielu zmiennych y = f(u)

Sieci rekurencyjne W sieciach tego typu występuje przynajmniej jedno sprzężenie zwrotne. Oznacza to, że sygnały wyjściowe warstwy podawane są na jej wejścia, co powoduje pewną dynamikę w pracy sieci. Sygnały wejściowe w takiej sieci zależą zarówno od aktualnego stanu wejścia jak i od sygnałów wyjściowych w poprzednim cyklu. Strukturę ogólną takiej sieci przedstawia poniższy rysunek.

sieci rekurencyjne

Sieci komórkowe W tych sieciach sprzężenia wzajemne między elementami przetwarzającymi dotycza jedynie najbliższego sąsiedztwa. Połączenia te są w ogólności nieliniowe i opisane poprzez układ równań różniczkowych. Podstawową trudność w stosowaniu tego typu sieci stanowi opracowanie skutecznej, efektywnej i uniwersalnej metody projektowania. Typowym przykładem sieci komórkowej może być sieć typu mapa Kohonena.

sieci komórkowe


Literatura
Ryszard Tadeusiewcz "Sieci neuronowe", Kraków 1992
Józef Korbicz, Andrzej Obuchowicz, Dariusz Uciński "Sztuczne sieci neuronowe. Podstawy i zastosowania", Warszawa 1994
Simon Haykin "Neural Networks A Comprehensive Foundation, New Jersey 1999
Adnrzej Kos, Wykład "Przemysłowe zastosowania sztucznej inteligencji", 2003/2004


Łukasz Sanocki (2003/2004)
mgr inż. Adam Gołda (2005)
Katedra Elektroniki AGH