Dwie progowe funkcje aktywacji dla danej sieci neuronowej
: 31 sty 2021, o 21:44
Mam pokazać, że wagi w danej sieci neruronowej - która składa się z neuronów z funkcjami aktywacyjnymi które mapują aktywację do klasy \(\displaystyle{ 0}\), jesli jest ona \(\displaystyle{ \le 0}\), i do klasy \(\displaystyle{ 1}\), jeśli aktywacja \(\displaystyle{ > 0}\) - mogą być tak zmienione, że ta sama sieć neuronowa będzie równoważna takiej, w której funkcje aktywacyjne mapowałyby aktywacje do klas \(\displaystyle{ \{-1, 1\}}\) (zamiast odpowiednio\(\displaystyle{ \{0, 1\}}\)).
Weźmy na przykład pojedynczy neuron. Jeśli ma on tylko jedno wejście i tym samym jedną wagę, to jego output będzie taki sam, niezależnie od tego czy dana wejściowa będzie w postaci \(\displaystyle{ \{0, 1\}}\) czy \(\displaystyle{ \{-1, 1\}}\). Ale jeśli neuron ma dwa wejścia i dwie wagi (zakładając na razie klasy \(\displaystyle{ \{0, 1\}}\)), np. \(\displaystyle{ x_1 = 1}\), \(\displaystyle{ x_2 = 0}\) i \(\displaystyle{ w_1 = 5}\), \(\displaystyle{ w_2 = 7}\), to jego output będzie równy \(\displaystyle{ 1}\) ponieważ \(\displaystyle{ 1\cdot5+0\cdot7>0}\). Ale gdybym zmienił notację klas na \(\displaystyle{ \{-1, 1\}}\), tym samym zmieniając \(\displaystyle{ x_2 = -1}\), to w takim przypadku output neurona byłby \(\displaystyle{ -1}\) ponieważ \(\displaystyle{ 1\cdot5 + (−1)\cdot7<0}\).
Nie mogę jakoś wymyślić wzoru na zmianę wag, tak aby po zmianie klas z \(\displaystyle{ \{0, 1\}}\) na \(\displaystyle{ \{-1, 1\}}\), ten sam neuron dalej produkował output \(\displaystyle{ 1}\) - tym samym pokazując, że ta sama sieć neuronowa używająca funkcji aktywacyjnej mapującej do \(\displaystyle{ \{0, 1\}}\) jest równoważna sieci z funkcją aktywacyjną mapującą do \(\displaystyle{ \{-1, 1\}}\). Muszę zmienić odpowiednio wagi jakimś wzorem, tylko nie wiem jak.. (To jest problem czysto teoretyczny, nie praktyczny).
Czy ktoś ma jakieś wskazówki?
Weźmy na przykład pojedynczy neuron. Jeśli ma on tylko jedno wejście i tym samym jedną wagę, to jego output będzie taki sam, niezależnie od tego czy dana wejściowa będzie w postaci \(\displaystyle{ \{0, 1\}}\) czy \(\displaystyle{ \{-1, 1\}}\). Ale jeśli neuron ma dwa wejścia i dwie wagi (zakładając na razie klasy \(\displaystyle{ \{0, 1\}}\)), np. \(\displaystyle{ x_1 = 1}\), \(\displaystyle{ x_2 = 0}\) i \(\displaystyle{ w_1 = 5}\), \(\displaystyle{ w_2 = 7}\), to jego output będzie równy \(\displaystyle{ 1}\) ponieważ \(\displaystyle{ 1\cdot5+0\cdot7>0}\). Ale gdybym zmienił notację klas na \(\displaystyle{ \{-1, 1\}}\), tym samym zmieniając \(\displaystyle{ x_2 = -1}\), to w takim przypadku output neurona byłby \(\displaystyle{ -1}\) ponieważ \(\displaystyle{ 1\cdot5 + (−1)\cdot7<0}\).
Nie mogę jakoś wymyślić wzoru na zmianę wag, tak aby po zmianie klas z \(\displaystyle{ \{0, 1\}}\) na \(\displaystyle{ \{-1, 1\}}\), ten sam neuron dalej produkował output \(\displaystyle{ 1}\) - tym samym pokazując, że ta sama sieć neuronowa używająca funkcji aktywacyjnej mapującej do \(\displaystyle{ \{0, 1\}}\) jest równoważna sieci z funkcją aktywacyjną mapującą do \(\displaystyle{ \{-1, 1\}}\). Muszę zmienić odpowiednio wagi jakimś wzorem, tylko nie wiem jak.. (To jest problem czysto teoretyczny, nie praktyczny).
Czy ktoś ma jakieś wskazówki?