StartAlgorytmySztuczna inteligencjaSztuczny neuron
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Sztuczny neuron
Ocena użytkowników:+++-- / 5
SłabyŚwietny 
Wpisany przez Tomasz Lubiński
środa, 27 lipca 2005 19:00
Mózg ludzki składa się z około 1011 elementów przetwarzających sygnały zwanych neuronami. Neuron razem ze swoimi wypustkami - dendrytami i zawsze jednym neurytem (aksonem), jest przystosowany do przewodzenia i przetwarzania, a także wytwarzania bodźców nerwowych. Charakteryzuje się tym, że przewodzi bodźce zawsze w jednym kierunku od dendrytów do ciała komórki (perikarionu) i z komórki dalej przez neuryt (wypustkę osiową). Nerony komunikują się poprzez łączącą je sieć aksonów i synaps, których jest około 1015, co daje około 104 synaps na neuron. Neuron jest podstawowym elementem biologicznej sieci neuronowej.
Pierwszą formalna definicję sztucznego neuronu opartą na uproszczonym modelu biologicznym opisanym wyżej podali McCulloch i Pitts. Zaproponowany przez nich model oparty jest na następujących zasadach. Sygnały wejściowe xi, i = 1,2,..., n mają wartość 1 lub 0, zależnie od tego czy w chwili k impuls wejściowy pojawił się, czy tez nie. Sygnał wyjściowy neuronu oznaczony jest przez y. Natomiast T określa poziom aktywacji neuronu. Reguła aktywacji ma dla tego modelu postać:
yk+1=1 jeżeli w1*x1+w2*x2+...+wn*xn≥T w przeciwnym wypadku yk+1=0
W praktyce wykorzystuje się jednak bardziej rozwinięty model neuronu:

Model neuronu

Wejście neronu stanowią sygnały wejściowe xi, i = 1,2,..., n (w szczególności mogą to być wartości tylko 0 i 1). Są one połączone poprzez połączenia etykietowane pewnymi wagami wi, i = 1,2,..., n. Sygnały wejściowe są mnożone przez odpowiednie wagi (xi*wi, i = 1,2,..., n - chodzi o możliwość określenia ilość synaps łączących z tym samym neuronem oraz chemiczną zmianę sygnału na synapsach), następnie są one sumowane dając pobudzenie całkowite neuronu y=x1*w1+x2*w2+ ... +xn*wn. Właściwa odpowiedź neuronu z zależy od pobudzenia y zgodnie z funkcją przenoszenia (przejścia lub aktywacji) z=f(ay+b) (tę funkcję realizuje jądro komórkowe).

Oto najczęściej wykorzystywane funkcje przenoszenia:
  • funkcja liniowa: f(y) = ay+b,

    Funkcja liniowa

  • funkcja signum: f(y) = sgn(y), (-1 dla y<0, 0 dla y=0, 1 dla y>0)

    Funkcja signum

  • funkcja sigmoidalna f(y) = 1/(1+exp(-y)),

    Funkcja sigmoidalna

  • funkcja Gaussa f(y) = exp(-y2).

    Funkcja Gaussa

  • tangens hiperboliczny f(y) = tanh(y),

    Tangens hiperboliczny

Model matematyczny opisuje prawdziwy neuron w znacznie przybliżony sposób, wystarcza to jednak do budowania sprawnie działających sztucznych sieci neuronowych.


Autor Język programowania Komentarz Otwórz Pobierz Ocena
Tomasz Lubiński Delphi/Pascal Borland Delphi 5
Implementacja w Delphi/Pascal
Implementacja w Delphi/Pascal
++++- / 1
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie



Poprawiony: sobota, 11 czerwca 2011 14:25

Dodaj komentarz

Kod antysapmowy
Odśwież