Dlaczego funkcje pochodne są używane w sieciach neuronowych?

13

Na przykład chce się przewidzieć ceny domu i mieć dwie cechy wejściowe: długość i szerokość domu. Czasami jeden zawiera również „wielowymiarowe” funkcje wprowadzania, takie jak obszar, który ma długość * szerokość.

1) Po co uwzględniać funkcje pochodne? Czy sieć neuronowa nie powinna nauczyć się związku między długością, szerokością i ceną podczas treningu? Dlaczego trzecia funkcja, obszar nie jest zbędna?

Ponadto czasami widzę też, że ludzie uruchamiają algorytmy selekcji genetycznej funkcji wejściowych w celu zmniejszenia ich liczby.

2) Po co zmniejszać funkcje wprowadzania, jeśli wszystkie zawierają przydatne informacje? Czy sieć neuronowa nie powinna przypisywać odpowiednich wag każdej funkcji wejściowej zgodnie z jej znaczeniem? Jaki jest sens uruchamiania algorytmów selekcji genetycznej?

siamii
źródło

Odpowiedzi:

8

1): Uwzględnienie funkcji pochodnych jest sposobem na wprowadzenie wiedzy eksperckiej do procesu szkolenia, a tym samym jego przyspieszenie. Na przykład często pracuję z fizykami w swoich badaniach. Kiedy buduję model optymalizacyjny, podają mi 3 lub 4 parametry, ale zwykle znają również pewne formy, które powinny pojawić się w równaniu. Na przykład mogę otrzymać zmienne i , ale ekspert wie, że jest ważne. Włączając go jako funkcję, oszczędzam modelowi dodatkowy wysiłek, aby dowiedzieć się, że jest ważny. To prawda, że ​​czasem eksperci od domen się mylą, ale z mojego doświadczenia zwykle wiedzą, o czym mówią.nlnlnl

2): Są dwa powody, dla których o tym wiem. Po pierwsze, jeśli masz tysiące dostarczonych funkcji (jak to często bywa w rzeczywistych danych) i brakuje ci czasu procesora na szkolenie (również częste zjawisko), możesz użyć szeregu różnych algorytmów wyboru funkcji, aby zredukować przestrzeń funkcji z góry. Zasadnicze podejście do tego często wykorzystuje miary teoretyczne do wyboru cech o największej mocy predykcyjnej. Po drugie, nawet jeśli możesz sobie pozwolić na trenowanie wszystkich danych i wszystkich posiadanych funkcji, sieci neuronowe są często krytykowane za to, że są modelami „czarnej skrzynki”. Wcześniejsze zmniejszenie przestrzeni funkcji może pomóc w rozwiązaniu tego problemu. Na przykład użytkownik patrząc na NN nie może łatwo stwierdzić, czy waga 0,01 oznacza „0, ale proces optymalizacji nie do końca doszedł” lub „

John Doucette
źródło
0

1) Większość sieci neuronowych nie może wykonywać multiplikacji; mogą tylko obliczyć sumy (które następnie są indywidualnie przekazywane przez funkcję aktywacji ). Zamiast tego muszą oszacować te mnożenia, jeśli są one ważne, co wymaga dużej liczby neuronów, zwłaszcza jeśli czynniki mogą obejmować duże odległości.

Jeśli okaże się, że obszar domu jest w rzeczywistości ważną funkcją, pomożesz sieci, jeśli zapewnisz mu ten obszar, ponieważ może on następnie użyć neuronów, które byłyby wymagane do oszacowania pomnożenia szerokości i długości robić inne rzeczy.

Dlatego uwzględnienie funkcji wielomianów może w niektórych przypadkach być korzystne dla sieci, ale w innych przypadkach nie ma znaczącego wpływu. Ponadto funkcje wielomianowe są tylko jednym rodzajem funkcji pochodnych, które mogą być pomocne dla sieci. Innym typem funkcji pochodnej, która może okazać się pomocna, są na przykład logarytmy zmiennych wejściowych (uważane za dodatnie), które sieć musi również oszacować, aby uzyskać.

Pomysł polegałby na umożliwieniu sieci wykonywania większej liczby operacji między liczbami niż tylko dodawaniu, aby umożliwić jej skuteczne obliczanie takich rzeczy, jak same cechy wielomianowe, ale nie jest jasne, jak to by działało. Jedną architekturą, która wygląda tak, jakby robi coś podobnego, jest sieć sum produktów .

2) Poza kosztem obliczeniowym, o którym wspomniał John, zwiększenie liczby parametrów w modelu, co jest nieuniknione, gdy wprowadzisz więcej danych wejściowych, również zwiększa ryzyko przeładowania sieci , szczególnie jeśli masz mało danych treningowych.

Można to jednak uczynić znacznie mniejszym problemem, jeśli zastosowana zostanie dobra metoda regularyzacji. (Wydaje się, że rezygnacja z tego działa bardzo dobrze) Teoretycznie, przy wystarczająco dobrej metodzie regularyzacji, nadmierne dopasowanie nie powinno stanowić żadnego problemu. Jak zauważa Hinton, człowiek ma w mózgu 10–14 synaps (odpowiadających połączeniom w sieci neuronowej), ale żyje tylko w kolejności 10–9 sekund, ale nadal wydaje się, że jesteśmy w stanie uogólniać całkiem dobrze. Jasne jest więc, że posiadanie wielu parametrów, które można dostroić, powinno być dobrym rozwiązaniem z odpowiednim algorytmem.

Cześć Żegnaj
źródło