Nigdy nie dowiemy się, czy do wytrenowania danej sieci neuronowej wystarczy kilka przykładów, czy może potrzebne będą miliony. Matematycy udowodnili, że nie da się tego udowodnić
To bardzo elegancka praca. I wagi ciężkiej. Dowodzi, że istnieją fundamentalne ograniczenia wiedzy o sieciach neuronowych. W styczniowym wydaniu „Nature Machine Intelligence” naukowcy przedstawiają bowiem matematyczny dowód na to, że nigdy nie dowiemy się niektórych podstawowych rzeczy o sieciach neuronowych.
„Matematyczne podstawy uczenia maszynowego odegrały kluczową rolę w rozwoju tej dziedziny” – piszą naukowcy we wstępie do pracy. – „Korzyści z matematyki jednak czasem mają swój koszt. W dużym skrócie, Gödel i Cohen wykazali, że nie wszystko da się udowodnić. W naszej pracy wykazujemy, że uczenie maszynowe również dzieli ten sam los. Opisujemy proste scenariusze, w których wyuczalności [sieci neuronowej] nie można dowieść ani jej zaprzeczyć z wykorzystaniem standardowych aksjomatów matematyki. Nasz dowód oparty jest na tym, że hipoteza continuum nie może być ani udowodniona, ani obalona. Wykazujemy, że w niektórych przypadkach rozwiązanie problemu oszacowania maksimum jest równoważne z hipotezą continuum”.
Czym jest hipoteza continuum? W 1878 roku Georg Cantor, twórca teorii mnogości, wykazał, że moce zbiorów liczb naturalnych i rzeczywistych nie są równe. Rozważał wtedy, czy istnieje zbiór, którego moc jest pośrednia (większa od mocy zbioru liczb naturalnych i mniejsza od mocy zbioru liczb rzeczywistych). Postawił hipotezę, zwaną hipotezą continuum, że takiego zbioru nie ma. Ale ani on, ani wielu matematyków po nim nie potrafiło tego dowieść.
Dopiero w 1940 roku Kurt Gödel wykazał, że hipoteza nie jest sprzeczna z aksjomatami teorii mnogości. W 1963 r. zaś Paul Cohen udowodnił, że jest od nich niezależna. Można udowodnić zdanie zawierające jej prawdziwość, jak i jej zaprzeczenie.
Naukowcy przedstawiają matematyczny dowód na to, że nigdy nie dowiemy się niektórych podstawowych rzeczy o sieciach neuronowych
Autorzy pracy wyszli z założenia, że jeśli zdolność do uczenia się zdefiniować jako możliwość predykcji odnośnie do dużych zbiorów danych na podstawie próbkowania mniejszej ilości danych ze zbioru, to trzeba wziąć pod uwagę, że może istnieć nieskończenie wiele sposobów, na jakie można wybrać mniejsze zbiory.
Dowodzą, że jeśli hipoteza continuum jest prawdziwa, to istnieje możliwość predykcji wyników działania sieci na podstawie odpowiednio małego zbioru danych wejściowych. Ale jeśli hipoteza ta jest fałszywa, to żadna skończona próba danych nigdy na to nie pozwoli. Stwierdzenie, czy rozważana przez badaczy sieć neuronowa może się nauczyć czegoś na podstawie odpowiednio małego zbioru danych, jest zatem czasami nierozstrzygalne.
W informatyce znane są problemy, na które nie ma odpowiedzi. W oparciu o pracę Gödla Alan Turing dowiódł, że istnieją pewne klasy problemów, które są nierozstrzygalne obliczeniowo w skończonej liczbie kroków.
„To dość istotne [odkrycie] dla teorii uczenia maszynowego, ale nie jestem pewien, czy będzie miało wpływ na praktykę” – komentuje dla „Nature” Peter O’Hearn z University College London. Ale w redakcyjnym komentarzu „Unprovability comes to machine learning” Lev Reyzin z University of Illinois sugeruje: „Być może takie wyniki jak ten przyniosą dziedzinie uczenia maszynowego zdrową dawkę pokory, nawet jeśli algorytmy uczenia maszynowego rewolucjonizują właśnie świat wokół nas”.
Matematycy badają sieci
Jednym z ważniejszych odkryć w teorii sieci neuronowych był dowód (przedstawiony w 1989 r.), że nawet jeśli sieć ma tylko jedną warstwę, ale złożoną z nieskończonej liczby neuronów, będzie mogła obliczyć cokolwiek, co zechcemy. W praktyce nikt nie dysponuje nieskończoną liczbą neuronów, ale odkrycie to pozwoliło zrozumieć, czemu rozległe sieci mogą wychwytywać więcej różnych relacji pomiędzy danymi.
Dopiero niedawno badacze zaczęli matematycznie opisywać kierunek przeciwny, czyli to, do jakiego stopnia można ograniczyć liczbę neuronów w jednej warstwie, żeby sieć nadal działała. W pracy opublikowanej w 2018 r. badacze z Massachusetts Institute of Technology (David Rolnick i Max Tegmark) dowiedli, że zwiększanie głębokości sieci (liczby warstw) i zmniejszanie szerokości (liczby neuronów w warstwie) pozwala na wykonanie tych samych obliczeń przy wykładniczo malejącej liczbie neuronów (dla przykładu 2100 neuronów w jednej warstwie da tyle samo, co 210 w dwóch warstwach).
Jesse Johnson z Oklahoma State University udowodnił natomiast, że ograniczanie szerokości warstw jest możliwe tylko do pewnego stopnia (neuronów w jednej warstwie musi być przynajmniej tyle, ile zmiennych zawierają dane), inaczej sieć staje się do danego celu bezużyteczna.
Wreszcie w maju ubiegłego roku badacze z MIT dowiedli, że w każdej nauczonej już czegoś sieci istnieje mniejsza, którą można wyuczyć nowego zadania. Nauczone raz sieci neuronowe można przyciąć do jednej dziesiątej pierwotnych rozmiarów, a potem wykorzystać ponownie do innych celów.