Teoria problemu XOR |
||||||||||||||||||||||||||||||
O
możliwości uczenia się sieci neuronowej decyduje tzw.
separowalność liniowa danych uczących (jedna prosta
separuje zbiór danych, które odpowiadają u=1, od
zbioru danych, które odpowiadają u=0).Warunki takie
spelniaja np. funckje OR i AND.
Tabela 1. Zbiór wektorów uczących funkcji AND Sieć neuronowa, która taką funkcję realizuje, złożona jest z jednego neuronu wyjściowego o dwóch wejściach x1, x2 oraz polaryzacji b1 (Rys. 2).
Podczas uczenia się sieci, należy przyjąć, że y1 = f ( W11x1 + W12x2 + b1 ) = u1, co przedstawione zostało na Rysunku 3.
Jak
wynika z Tabeli 1, na wyjściu powinniśmy otrzymać '1'
tylko w punkcie (1,1). Prosta, która realizuje w tym
przypadku separowalność liniową, ma równanie u1
= W11x1 + W12x2
+ b1. Zatem, poprzez dobranie jej współczynników
(W11, W12 i b1), możemy
ją tak wyznaczyć, by tą separowalność uzyskać. Jak
widać na Rysunku 3, dla funkcji AND nie stanowi to dużego
problemu.
Tabela 2. Zbiór wektorów uczących funkcji XOR Oznacza to, że nie da się wyznaczyć linii oddzielającej przestrzeń danych na 2 mniejsze, z których jedna odpowiada sygnałowi 1 na wyjściu, a druga 0 na wyjściu (Rys. 4). Wnętrze owalnego obszaru odpowiada 1 na wyjściu, zewnętrze – 0. Nie da się tego zrealizować, stosując podział za pomocą jednej prostej.
Nie mają tu znaczenia współczynniki tej prostej, czyli wagi W11, W12, b1. Nie można zatem za pomocą jednego perceptronu zrealizować funkcji logicznej XOR. Rozwiązaniem tego problemu jest rozszerzenie sieci neuronowej w taki sposób, by dodając jeden neuron w warstwie stworzyć sieć neuronów o wagach realizujących następujący podział przestrzeni: 1) dla 1-ego neuronu Podział powinien być taki, jak na rysunku 5.
Po dodaniu dodatkowej warstwy z neuronem, możliwe staje się zrealizowanie sumy logicznej, która na wykresie przedstawia się jako część wspólna zbiorów u1>0 i u2>0. Na rysunku 6 można zobaczyć pełną strukturę sieci neuronowej mogącej realizować funkcję XOR. Każdy dodatkowy neuron umożliwia dokonanie liniowego podziału na granicy ui>0 i ui<0 zależnej od wag neuronu. Warstwą wyjściową jest tu taki obszar, który jest kombinacją obszarów mniejszych powstałych z podziału obszaru danych wejściowych (przez dodatkowy neuron).
|