Dlatego prawdopodobnie lepszym pomysłem jest użycie PReLU, ELU lub innych nieszczelnych aktywacji podobnych do ReLU, które nie tylko umierają do zera, ale spadają do około 0,1 * x, gdy x staje się ujemny, aby kontynuować naukę. Przez długi czas wydawało mi się, że ReLU są historią jak sigmoid, choć z jakiegoś powodu ludzie nadal publikują z nimi artykuły. Dlaczego? Nie wiem
Dmytro Mishkin i inni faceci faktycznie przetestowali sieć z wieloma różnymi rodzajami aktywacji, powinieneś sprawdzić ich wyniki na temat wydajności różnych funkcji aktywacyjnych i innych rzeczy. Jednak niektóre funkcje, takie jak XOR, są lepiej poznawane przy użyciu zwykłego ReLU. Nie myśl o żadnych neuronach w kategoriach dogmatycznych, ponieważ sieci neuronowe są bardzo w toku. Nikt na świecie tak naprawdę ich nie zna i nie rozumie na tyle dobrze, aby powiedzieć boską prawdę. Nikt. Wypróbuj różne rzeczy, dokonuj własnych odkryć. Pamiętaj, że korzystanie z ReLU jest bardzo nowym osiągnięciem i przez dziesięciolecia wszyscy doktoranci w tej dziedzinie korzystali z nadmiernie skomplikowanych funkcji aktywacyjnych, z których teraz możemy się tylko śmiać. Zbyt często „zbyt duża wiedza” może przynieść złe wyniki. Ważne jest, aby zrozumieć, że sieci neuronowe nie są nauką ścisłą. Nic w matematyce nie mówi, że sieci neuronowe faktycznie będą działać tak dobrze, jak one. To heurystyka. A więc jest bardzo plastyczny.
FYI nawet aktywacja wartości bezwzględnej daje dobre wyniki w przypadku niektórych problemów, na przykład problemów podobnych do XOR. Różne funkcje aktywacji są lepiej dostosowane do różnych celów. Próbowałem Cifar-10 z abs () i wydawało się, że działa gorzej. Chociaż nie mogę powiedzieć, że „jest to gorsza funkcja aktywacji do rozpoznawania wizualnego”, ponieważ nie jestem pewien, na przykład, czy moja wstępna inicjalizacja była dla niego optymalna itp. Sam fakt, że uczyła się względnie dobrze mnie zadziwiło.
Ponadto w prawdziwym życiu „pochodne” przekazywane do backpropu niekoniecznie muszą odpowiadać faktycznym pochodnym matematycznym.
Posunąłbym się nawet do stwierdzenia, że powinniśmy zakazać nazywania ich „pochodnymi” i zacząć nazywać je czymś innym, na przykład: error activation functions
aby nie zamykać naszych umysłów na możliwości majstrowania przy nich. Można na przykład użyć aktywacji ReLU, ale podać wartość 0,1 lub coś takiego zamiast 0 jako pochodną dla x <0. W pewnym sensie masz wtedy zwykły ReLU, ale neurony nie są w stanie „umrzeć z powodu adaptacji”. Nazywam to NecroRelu, ponieważ jest to ReLU, które nie może umrzeć. W niektórych przypadkach (choć zdecydowanie nie w większości) działa to lepiej niż zwykły LeakyReLU, który faktycznie ma pochodną 0,1 przy x <0 i lepszą niż zwykle ReLU. Nie sądzę jednak, aby zbyt wielu innych badało taką funkcję, ale może to być ogólnie fajna funkcja aktywacji, której nikt nie rozważał tylko dlatego, że są zbyt skoncentrowani na matematyce.
Jeśli chodzi o to, co jest powszechnie używane, w przypadku aktywacji tanH (x) zwykle przyjmuje się 1 - x² zamiast 1 - tanH (x) ² jako pochodną w celu szybszego obliczenia.
Pamiętaj też, że ReLU nie jest wcale takie „oczywiście lepsze” niż, na przykład, TanH. TanH może być lepszy w niektórych przypadkach. Po prostu, jak się wydaje, nie w rozpoznawaniu wizualnym. Chociaż na przykład ELU ma nieco sigmoidalną miękkość i jest to obecnie jedna z najbardziej znanych funkcji aktywacyjnych do rozpoznawania wizualnego. Naprawdę nie próbowałem, ale założę się, że można ustawić kilka grup z różnymi funkcjami aktywacji na tym samym poziomie warstwy, co jest korzystne. Ponieważ inną logikę lepiej opisują różne funkcje aktywacyjne. A czasem prawdopodobnie potrzebujesz kilku rodzajów oceny.
Zauważ, że ważne jest, aby mieć inicjalizację odpowiadającą typowi twojej funkcji aktywacyjnej. Przeciekające ReLU potrzebują na przykład innego inicjatora niż zwykłe ReLU.
EDYCJA: W rzeczywistości standardowa ReLU wydaje się mniej podatna na przeregulowanie w porównaniu z nieszczelnymi przy nowoczesnej architekturze. Przynajmniej w rozpoznawaniu obrazu. Wydaje się, że jeśli wybierasz sieć o bardzo wysokiej dokładności z ogromnym obciążeniem parametrów, lepiej trzymać się zwykłego ReLU vs. nieszczelne opcje. Ale oczywiście przetestuj to wszystko sam. Być może niektóre nieszczelne rzeczy będą działać lepiej, jeśli zostanie podana większa regularność.