Dzięki hipotezie „losu na loterię” przestaniemy tracić czas i pieniądze na trenowanie ogromnych sieci neuronowych
Sieć neuronowa stosowana w głębokim uczeniu składa się z kilku poziomów wirtualnych neuronów. Neurony są ze sobą połączone i to właśnie te połączenia są kluczowe w działaniu sieci. Przed treningiem odbywa się coś, co nazywamy inicjalizacją, czyli przypisanie połączeniom między neuronami losowych wag, które wyrażają się w wartościach liczbowych. Reprezentują one siłę połączenia pomiędzy neuronami.
Następnie sieć neuronową „karmi się” danymi treningowymi, na przykład obrazami ręcznie pisanych liter wraz z opisem, jakie znaki reprezentują. Pod wpływem tych danych wagi połączeń są modyfikowane i dostrajane, podobnie jak połączenia w naszym mózgu zmieniają się w miarę zdobywania doświadczenia – sieć neuronowa uczy się rozpoznawać zależności i wzorce w obrazach i prawidłowo rozpoznawać litery. Rezultatem jest skomplikowana sieć połączeń o różnej intensywności, której można użyć do interpretacji nowych danych, na przykład tekstu pisanego.
Co ciekawe, losowa inicjalizacja sieci neuronowej czasami tworzy konfigurację, która nie da się wyuczyć, niezależnie od tego, ile danych treningowych byśmy przez nią przepuścili. Ryzyko takiej sytuacji jest zależne od wielkości sieci – im większa sieć, tym mniejsze prawdopodobieństwo, że inicjalizacja się nie powiedzie. Dlatego naukowcy mają tendencję do wykorzystywania w swoich badaniach dużych sieci – o wielu poziomach i wielu neuronach na poziom.
Okazuje się, że kiedy trening zostanie zakończony, tylko niewielka część połączeń pozostaje silna i głównie one będą później wykorzystywane w pracy sieci. Pozostałe są tak słabe, że można je usunąć bez znaczącego wpływu na wydajność. Taka też była praktyka – po treningu „przerzedza się” sieci neuronowe z nieużywanych połączeń.
Dziesięciokrotnie mniejsza sieć neuronowa wymaga do treningu zdecydowanie mniejszej mocy obliczeniowej
Jonathan Frankle i Michael Carbin z Massachusetts Institute of Technology (MIT) zadali pytanie, czy nie da się uprościć tego procesu i trenować od razu mniejszych sieci bez zbędnych połączeń. W swoich badaniach odkryli, że inicjalizacja ma bardzo istotny wpływ na późniejszy kształt sieci – wagi, które przypisano poszczególnym połączeniom na starcie – decydują o tym, które elementy sieci będą aktywne po treningu.
Odkryli, że jeśli po treningu usunie się zbędne połączenia, a następnie pozostałym przypisze się wartości takie, jak po inicjalizacji, to taką mniejszą, bardziej ekonomiczną sieć neuronową można z sukcesem użyć do innych zadań – wytrenować na nowym zestawie danych.
Na tej podstawie stworzyli hipotezę „losu na loterii”. Mówi ona, że losowo zainicjalizowana sieci neuronowa zawiera podsieć, która – jeśli ją wydzielić z „sieci-matki” i wytrenować – osiągnie porównywalną do niej skuteczność.
Dlaczego „los na loterii”? Bo inicjalizacja, która opiera się na losowym przypisaniu wag, przypomina loterię. Im większa sieć, im więcej neuronów i połączeń, tym więcej losów na loterii. Wspomniana w hipotezie podsieć jest zwycięskim losem.
Twórcy hipotezy stwierdzili, że minisieć stanowiąca „zwycięski los” może być nawet dziesięciokrotnie mniejsza od pierwotnej sieci.
Jonathan Frankle w wypowiedzi dla MIT Technology Review postuluje stworzenie publicznie dostępnej bazy pozwalającej na wymianę „zwycięskich losów” wraz z opisami ich potencjalnych zastosowań, na przykład rozpoznawania przedmiotów, pisma czy przetwarzania języka naturalnego.
Nietrudno wyobrazić sobie praktyczne implikacje. Dziesięciokrotnie mniejsza sieć neuronowa wymaga do treningu zdecydowanie mniejszej mocy obliczeniowej. Trening pobranego z bazy modelu mógłby się odbywać lokalnie, a nie w chmurze obliczeniowej, co przekładałoby się na mniejsze koszty, bezpieczeństwo danych i – w dłuższej perspektywie – przyczyniłoby się do demokratyzacji technologii.
Jest to także rozwiązanie… ekologiczne. Niedawno pisaliśmy o tym, że trenowanie wielkich sieci neuronowych to koszt energii sięgający 650 tysięcy kilowatogodzin, co przekłada się na emisję do atmosfery 280 ton dwutlenku węgla.