::Wstep teoretyczny::
gdzie f() jest funkcją aktywacji, wi wagi dla poszczególnych wejść, xi wartości wejściowe neuronu. Neuron sumuje składowe wektora wejściowego przemnożone przez odpowiednie wagi, a następnie wynik sumowania poddaje działaniu funkcji aktywacji i w ten sposób generowane jest wyjście neuronu. Wektory wejściowe jak i wagi neuronu w rzeczywistych zastosowaniach podlegają często operacji normowania. W interpretacji geometrycznej odpowiada to przeniesieniu punktów wektora wejściowego na powierzchnię N wymiarowej sfery o promieniu jednostkowym, gdzie N jest rozmiarem wektora wejściowego. W najprostszym przypadku, dla wektora dwuwymiarowego, operacji normowania odpowiada przeniesienie wszystkich punktów wejściowych na okrąg o promieniu równym 1. Operacje normowania każdej współrzędnej można zapisać matematycznie za pomocą wzoru: gdzie xi współrzędna normowana, xj kolejne współrzędne wektora wejściowego. Stosowanie operacji normowania zarówno do wektorów wejściowych, jak i wag dla poszczególnych wejść neuronów w znacznym stopniu poprawia właściwości uczonenia neuronu. Rolę funkcji aktywacji może pełnić funkcja liniowa bądź nieliniowa. W przypadku liniowego neuronu jego zapis matematyczny przedstawia się następująco: Jest to jeden z najprostszych modeli neuronu rzadko stosowany w praktyce. Wynika to z tego, że zjawiska w otaczającym świecie mają charakter nieliniowy. Można by tu wziąć za przykład biologiczne neurony. Neuron może być wyposażony w tak zwany „bias”, czyli dodatkowe wejście, na którym występuje stała wartość. Waga dla tego wejścia jest modyfikowana w trakcie procesu uczenia tak jak wszystkie pozostałe wagi. Najczęściej przyjmuje się, że na wejściu bias występuje sygnał stale równy jeden, wtedy wzór matematyczny takiego neuronu przedstawia się w sposób następujący:
gdzie f() jest funkcją aktywacji, wi wagi dla poszczególnych wejść, xi wartości wejściowe neuronu
natomiast w0 wartość wagi dla wejścia bias. Jeżeli przyjmiemy wartość na wejściu bias równą 0 to otrzymujemy
wzór matematyczny dla zwykłego neuronu.
Teraz zajmiemy się tym do czego owy bias służy.
::Przypadek jednowymiarowy::
Z wykresów wynika, że w przypadku neuronu jednowejściowego zastosowanie biasu umożliwia przesuwanie progu aktywacji wzdłuż osi x.
Gdy bias jest ujemny przesuwamy próg aktywacji w prawo, gdy dodatni to w lewo. Stąd prosty wniosek, że neuron z biasem
powinien uczyć się nawet takich wektorów których zwykły neuron nie byłby w stanie się nauczyć. Dochodzimy do wniosku, że
dodanie dodatkowej wagi kosztem zwiększenia ilości koniecznych obliczeń powoduje poprawę własności neuronu.
Operacja normowania neuronu jednowejściowego nie ma sensu, gdyż każdy podstawiony punkt po unormowaniu może otrzymać trzy
wartości –1, 0 lub 1.
::Przypadek dwuwymiarowy::
Operacja normowania wektorów wejściowych sprawia, że wszystkie punkty przenoszone są na obwód okręgu o promieniu 1, wyjątkiem jest oczywiście punkt (0,0) który operacja normowania przekształca w ten sam punkt. Teraz należy zastanowić się jak bias wpływa na działanie neuronu dwuwejściowego. Przyjrzyjmy się najpierw samej funkcji aktywacji. Jak już wiemy z poprzedniego punktu wejście biasu jest odpowiedzialne za przesuwanie funkcji aktywacji wzdłuż linii prostej. W przypadku dwuwymiarowym bias przesuwa funkcję aktywacji w kierunku prostopadłym do prostej o równaniu: rys 3. Funkcja aktywacji dla neuronu dwu wejściowego.
rys 4. Obrazy funkcji aktywacji dla neuronu z biasem i bez biasu. Zastosowanie biasu jest czasami konieczne do uzyskania jakiegokolwiek rozwiązania. Przykład rozwiązania tego samego problemu z wykorzystaniem neuronu z i bez biasu przedstawiono poniżej. Z rysunków wynika rzecz następująca, w przypadku neuronu bez biasu punkty zostały dobrane tak, aby nie dało się przeprowadzić prostej, przechodzącej przez środek układu współrzędnych rozdzielającej punkty o różnych wartościach odpowiedzi neuronu. Odpowiedzi neuronu dla danego punktu zaznaczone są kółkami w odpowiednich kolorach zależnych od wartości tej odpowiedzi. Wniosek jest następujący neuron bez biasu nie jest w stanie prawidłowo zaklasyfikować punktów, czyli nie jesteśmy w stanie go tego nauczyć. Natomiast w przypadku neuronu z biasem przeniesienie punktów na powierzchnie sfery umożliwia rozgraniczenie punktów o różnych wartościach na wyjściu neuronu za pomocą płaszczyzny przechodzącej przez środek układu. Wynika z tego, że neuron jest w stanie nauczyć się rozróżniać dane punkty.
::Wnioski::
Literatura: Ryszard Tadeusiewcz "Sieci neuronowe", Kraków 1992 Andrzej Kos, Wykład "Sieci neuronowe i sztuczna inteligencja w elektronice", 2004/2005 |
||||||
mgr inż. Adam Gołda Krzysztof Ziaja, Piotr Miernikowski Katedra Elektroniki AGH |