Podstawowy problem z głębokim uczeniem się i ogólnie sieciami neuronowymi.
Rozwiązania pasujące do danych treningowych są nieskończone. Nie mamy precyzyjnego równania matematycznego, które spełnia tylko jeden i który można powiedzieć, że uogólnia najlepiej. Mówiąc wprost, nie wiemy, które uogólniają się najlepiej.
Optymalizacja wag nie jest problemem wypukłym, więc nigdy nie wiemy, że otrzymamy globalne lub lokalne minimum.
Dlaczego więc nie porzucić sieci neuronowych i zamiast tego poszukać lepszego modelu ML? Coś, co rozumiemy i co jest zgodne z zestawem równań matematycznych? Liniowy i SVM nie mają tych matematycznych wad i są w pełni zgodne z zestawem równań matematycznych. Dlaczego nie pomyśleć o tych samych liniach (choć nie muszą być liniowe) i zaproponować nowy model ML lepszy niż Linear i SVM oraz sieci neuronowe i głębokie uczenie się?
źródło
Odpowiedzi:
Brak możliwości ustalenia, które rozwiązanie najlepiej się uogólnia, stanowi problem, ale nie powinno nas to powstrzymywać przed korzystaniem z dobrego rozwiązania. Sami ludzie często nie wiedzą, co najlepiej się uogólnia (na przykład konkurujące ze sobą ujednolicające teorie fizyki), ale nie powoduje to zbyt wielu problemów.
Wykazano, że bardzo rzadko zdarza się niepowodzenie szkolenia z powodu lokalnych minimów. Większość lokalnych minimów w głębokiej sieci neuronowej ma wartość zbliżoną do globalnego minimum, więc nie stanowi to problemu. źródło
Ale szerszą odpowiedzią jest to, że przez cały dzień można rozmawiać o niewypukłości i wyborze modelu, a ludzie nadal będą korzystać z sieci neuronowych po prostu dlatego, że działają lepiej niż cokolwiek innego (przynajmniej w takich kwestiach, jak klasyfikacja obrazów).
Oczywiście są też ludzie, którzy twierdzą, że nie powinniśmy zbytnio koncentrować się na CNN, tak jak społeczność była skupiona na SVM kilka dekad temu, i zamiast tego szukali następnej wielkiej rzeczy. W szczególności myślę, że pamiętam Hintona żałującego skuteczności CNN jako czegoś, co może utrudniać badania. powiązany post
źródło
Jak wskazują komentarze do twojego pytania, wiele osób pracuje nad znalezieniem czegoś lepszego. Chciałbym odpowiedzieć na to pytanie, rozszerzając komentarz pozostawiony przez @josh
Wszystkie modele są złe, ale niektóre są przydatne (Wiki)
Powyższe stwierdzenie jest ogólną prawdą stosowaną do opisania natury modeli statystycznych. Korzystając z dostępnych danych, możemy tworzyć modele, które pozwalają nam robić użyteczne rzeczy, takie jak przybliżanie przewidywanej wartości.
Weźmy na przykład regresję liniową
Korzystając z wielu obserwacji, możemy dopasować model, aby dać nam przybliżoną wartość dla zmiennej zależnej, biorąc pod uwagę dowolne wartości dla zmiennych niezależnych.
Odchylenia od naszego modelu (jak widać na powyższym obrazku) wydają się losowe, niektóre obserwacje znajdują się poniżej linii, a niektóre powyżej, ale nasza linia regresji pokazuje ogólną korelację. Podczas gdy odchylenia w naszym modelu wydają się losowe, w realistycznych scenariuszach będą inne czynniki, które powodują to odchylenie. Na przykład wyobraź sobie, że oglądasz samochody jadące przez skrzyżowanie, gdzie muszą skręcić w lewo lub w prawo, aby kontynuować, samochody nie skręcają w żaden szczególny sposób. Chociaż możemy powiedzieć, że kierunek, w którym skręcają samochody, jest całkowicie losowy, czy każdy kierowca dociera do skrzyżowania i w tym momencie podejmuje losową decyzję, w którą stronę skręcić? W rzeczywistości prawdopodobnie kierują się gdzieś z konkretnego powodu i bez próby zatrzymania każdego samochodu, aby zapytać go o ich uzasadnienie, możemy jedynie opisać ich działania jako losowe.
Gdzie jesteśmy w stanie dopasować model z minimalnym odchyleniem, to jak możemy być pewni, że nieznana, niezauważalna lub niezmierzalna zmienna w pewnym momencie rzuci nasz model? Czy trzepot skrzydeł motyla w Brazylii wywołuje tornado w Teksasie?
Problem z używaniem modeli liniowych i SVN, o których wspominasz sam, polega na tym, że jesteśmy nieco zobowiązani do ręcznej obserwacji naszych zmiennych i ich wzajemnego wpływu. Następnie musimy zdecydować, które zmienne są ważne i napisać algorytm specyficzny dla zadania. Może to być proste, jeśli mamy tylko kilka zmiennych, ale co, jeśli mielibyśmy tysiące? Co jeśli chcielibyśmy stworzyć uogólniony model rozpoznawania obrazów, czy można to realistycznie osiągnąć dzięki takiemu podejściu?
Dogłębne uczenie się i sztuczne sieci neuronowe (ANN) mogą pomóc nam w tworzeniu użytecznych modeli dla ogromnych zestawów danych zawierających ogromne ilości zmiennych (np. Bibliotek obrazów). Jak wspomniałeś, istnieje niezrozumiała liczba rozwiązań, które mogłyby pasować do danych przy użyciu ANN, ale czy ta liczba naprawdę różni się od ilości rozwiązań, które musielibyśmy opracować na zasadzie prób i błędów?
Zastosowanie SSN wykonuje dla nas wiele pracy, możemy określić nasze dane wejściowe i pożądane wyniki (i dostosować je później, aby wprowadzić ulepszenia) i pozostawić SSN znalezienie rozwiązania. Właśnie dlatego ANN są często opisywane jako „czarne skrzynki” . Na podstawie danych wejściowych generują one przybliżenie, jednak (ogólnie) przybliżenia te nie zawierają szczegółów dotyczących ich przybliżenia.
I tak naprawdę sprowadza się to do tego, jaki problem próbujesz rozwiązać, ponieważ problem decyduje o tym, które podejście modelowe jest bardziej przydatne. Modele nie są absolutnie dokładne i dlatego zawsze występuje błąd, jednak im dokładniejsze wyniki, tym bardziej są użyteczne. Przydanie się bardziej szczegółowych informacji na temat sposobu przybliżenia może być również przydatne, w zależności od problemu może być nawet bardziej użyteczne niż zwiększona dokładność.
Jeśli na przykład obliczasz zdolność kredytową osób, użycie regresji i SVM zapewnia obliczenia, które można lepiej zbadać. Możliwość zarówno ulepszenia modelu bezpośrednio, jak i wyjaśnienia klientom, jaki wpływ na ich ogólny wynik mają oddzielne zmienne niezależne, jest bardzo przydatna. ANN może pomóc w przetwarzaniu większej ilości zmiennych w celu uzyskania dokładniejszego wyniku, ale czy ta dokładność byłaby bardziej przydatna?
źródło
Globalne minimum może równie dobrze być bezużyteczne, więc nie obchodzi nas, czy je znajdziemy, czy nie. Powodem jest to, że w przypadku głębokich sieci, nie tylko czas jej znalezienia staje się wykładniczo dłuższy wraz ze wzrostem wielkości sieci, ale także globalne minimum często odpowiada przeregulowaniu zestawu treningowego. W ten sposób ucierpiałaby zdolność do generalizacji DNN (na czym naprawdę nam zależy). Często też wolimy bardziej płaskie minima odpowiadające wyższej wartości funkcji straty, niż ostrzejsze minima odpowiadające niższej wartości funkcji straty, ponieważ druga bardzo źle poradzi sobie z niepewnością na wejściach. Staje się to coraz wyraźniejsze wraz z rozwojem Bayesian Deep Learning. Solidna optymalizacja bardzo często pokonuje deterministyczną optymalizację, gdy jest stosowana do rzeczywistych problemów, w których ważna jest niepewność.
Wreszcie faktem jest, że DNN po prostu skaczą z metod takich jak XGBoost w klasyfikacji obrazów i NLP. Firma, która musi czerpać zyski z klasyfikacji obrazów, prawidłowo wybierze je jako modele do wdrożenia w produkcji ( i zainwestuje znaczną ilość pieniędzy w opracowanie funkcji, przesyłanie danych itp., Ale dygresuję). Nie oznacza to, że dominują w całym środowisku ML: na przykład robią gorzej niż XGBoost w ustrukturyzowanych danych (patrz ostatni zwycięzcy konkursów Kaggle) i wydaje się, że nie radzą sobie tak dobrze jak filtry cząstek w modelowaniu szeregów czasowych. Jednak niektóre bardzo najnowsze innowacje w sieciach RNN mogą zmienić tę sytuację.
źródło
Myślę, że najlepszym sposobem na zastanowienie się nad tym pytaniem jest konkurencyjny rynek. Jeśli porzucisz głębokie uczenie się, a konkurenci go wykorzystają, ORAZ okazuje się, że działa ono lepiej niż to, czego używałeś, wtedy zostaniesz pokonany na rynku.
Wydaje mi się, że tak właśnie się dzisiaj dzieje, tzn. Głębokie uczenie się wydaje się działać lepiej niż cokolwiek innego w przypadku wielu problemów na rynku. Na przykład tłumacze języka online korzystający z głębokiego uczenia się są lepsi niż wcześniej stosowane podejścia czysto językowe. Jeszcze kilka lat temu tak nie było, ale postępy w głębokim uczeniu się doprowadziły tych, którzy przywykli do pozycji lidera na rynku.
Powtarzam „rynek”, ponieważ to właśnie napędza obecny wzrost głębokiego uczenia się. W momencie, gdy biznes znajdzie coś pożytecznego, coś stanie się szeroko rozpowszechnione. To nie tak , że my , komitet, zdecydowaliśmy, że głębokie uczenie się powinno być popularne. To biznes i konkurencja.
Druga część polega na tym, że oprócz faktycznego sukcesu ML, istnieje również lęk przed przegapieniem łodzi. Wiele firm ma paranoję, że jeśli przegapią sztuczną inteligencję, upadną jako firmy. Strach ten jest podsycany przez wszystkie te domy konsultacyjne, Gartnerów itp., Szepcząc do prezesów, że muszą zrobić AI lub umrzeć jutro.
Nikt nie zmusza firm do korzystania z głębokiego uczenia się. IT i R&D są podekscytowani nową zabawką. Doping akademii, więc impreza potrwa, dopóki muzyka się nie skończy, tj. Dopóki głębokie uczenie się nie skończy. W międzyczasie możesz go rzucić i wymyślić lepsze rozwiązanie.
źródło
Istnieją doskonałe odpowiedzi, w większości uwzględniające przydatność DL i ANN. Chciałbym jednak sprzeciwić się OP w bardziej fundamentalny sposób, ponieważ pytanie to już przyjmuje za pewnik matematyczną niekonsekwencję sieci neuronowych.
Przede wszystkim, nie jest matematyczną teorię (większość modeli) Neural Networks. Można również argumentować, że regresja liniowa nie uogólnia się, chyba że model podstawowy jest ... no cóż, liniowy. W algorytmach neuronowych zakłada się model (nawet jeśli nie jest to jawny) i obliczany jest błąd dopasowania. Fakt, że algorytmy są modyfikowane za pomocą różnych heurystyk, nie unieważnia pierwotnego wsparcia matematycznego. BTW, lokalna optymalizacja jest również matematycznie spójną, a tym bardziej użyteczną teorią.
W tej linii, jeśli sieci neuronowe stanowią tylko jedną klasę metod w ramach całego zestawu narzędzi naukowców, jaka jest linia oddzielająca sieci neuronowe od reszty technik? W rzeczywistości SVM były kiedyś uważane za klasę NN i wciąż pojawiają się w tych samych książkach. Z drugiej strony, NN można uznać za technikę regresji (nieliniowej), być może z pewnym uproszczeniem. Zgadzam się z PO, że musimy szukać lepszych, dobrze uzasadnionych, wydajnych algorytmów, niezależnie od tego, czy oznaczysz je jako NN, czy nie.
źródło
Chyba dla jakiegoś problemu mniej zależy nam na matematycznym rygorze i prostocie, ale bardziej na jego użyteczności, obecny status to sieć neuronowa, która lepiej wykonuje pewne zadania, takie jak rozpoznawanie wzorców w przetwarzaniu obrazu.
źródło
W tym pytaniu jest wiele. Zobaczmy, co napisałeś jeden po drugim.
Fakt, że istnieje nieskończenie wiele rozwiązań, wynika z tego, że problem uczenia się jest problemem źle postawionym, więc nie może istnieć jeden, który najlepiej by się uogólniał. Ponadto, bez twierdzenia o darmowym obiedzie, jakąkolwiek metodą zastosujemy, nie możemy zagwarantować, że jest najlepsza we wszystkich problemach edukacyjnych.
To stwierdzenie nie jest do końca prawdziwe. Istnieją twierdzenia o minimalizacji ryzyka empirycznego autorstwa Vapnika i Chervonenkisa, które łączą liczbę próbek, wymiar VC metody uczenia się i błąd uogólnienia. Pamiętaj, że dotyczy to tylko danego zestawu danych. Biorąc pod uwagę zbiór danych i procedurę uczenia się, znamy granice uogólnienia. Zauważ, że dla różnych zestawów danych nie ma i nie może być pojedyncza najlepsza procedura uczenia się z powodu braku twierdzenia o darmowym obiedzie.
Oto kilka rzeczy, o których musisz pamiętać. Optymalizacja nie wypukłego problemu nie jest tak łatwa jak wypukła; to prawda. Jednak klasa metod uczenia się, które są wypukłe, jest ograniczona (regresja liniowa, SVM) i w praktyce osiągają gorsze wyniki niż klasa metod niewypukłych (wzmocnienie, CNN) w różnych problemach. Najważniejsze jest więc to, że w praktyce najlepiej działają sieci neuronowe. Chociaż istnieje wiele bardzo ważnych elementów, które sprawiają, że sieci neuronowe działają dobrze:
Zrzucanie rzeczy, które działają z powodu ich niezrozumienia, nie jest doskonałym kierunkiem badań. Z drugiej strony, wysiłek w ich zrozumieniu jest doskonałym kierunkiem badań. Nie zgadzam się również z tym, że sieci neuronowe są niezgodne z równaniami matematycznymi. Są dość spójne. Wiemy, jak je zoptymalizować i przeprowadzić wnioskowanie.
źródło
Co powiesz na oglądanie sieci neuronowych z eksperymentalnego punktu widzenia? To, że je stworzyliśmy, nie oznacza, że jesteśmy zobowiązani do ich intuicyjnego zrozumienia. Lub że nie wolno nam się z nimi bawić, aby lepiej zrozumieć, co robią.
Oto kilka przemyśleń na ich temat:
Jest to zgodne z naszym sposobem myślenia. Jest to nawet zgodne z działaniem metody naukowej. Tak więc, pękając sieci neuronowe, możemy również rozwiązać ogólne pytanie, co reprezentuje wiedza.
źródło
Nie zapominaj, że istnieje szeroka dziedzina badań wykorzystująca LM, GLM, modelowanie wielopoziomowe. Ostatnio techniki bayesowskie i Hamiltonian Monte Carlo (społeczność STAN jest naprawdę na czele tego) osiągnęły pełnoletność i wiele problemów, które STAN rozwiązuje naprawdę łatwo i tak naprawdę nie potrzebują sieci NN ani głębokich sieci. Badania w dziedzinie nauk społecznych Mikroekonomia to dwa (duże) przykłady takich dziedzin, które szybko przyjmują Stana.
Modele Stana są bardzo „czytelne”. Współczynniki faktycznie mają interpretację rozkładu późniejszego, podobnie jak prognozy. Priory są częścią procesu generowania danych i nie muszą być sprzężone, aby były wydajne (jak gibbs). Modelowanie w stanie jest rozkoszą, faktycznie dostraja nieprzyjemne parametry MCMC automatycznie całkiem dobrze i ostrzega, gdy eksploracja utknie z naprawdę ładnymi wizualizacjami.
Jeśli nie próbował go już zobaczyć niesamowite pokazy Stan tutaj ).
Pod koniec dnia myślę, że ludzie nie rozmawiają o tym zbyt wiele, ponieważ badania w tej dziedzinie i problemy nie są tak „seksowne” / „fajne” jak w przypadku NN.
źródło
Co zwykle dzieje się, gdy nie ma spójności matematycznej (przynajmniej w tym przypadku sieci neuronowych) ... kiedy nie daje pożądanych wyników, na zestawie testowym szef powróci i powie ... Hej, dlaczego nie spróbuj Porzuć (jakie wagi, która warstwa, ile to twój ból głowy, ponieważ nie ma matematycznego sposobu ustalenia), więc po tym, jak spróbujesz i mam nadzieję, że uzyskasz marginalną poprawę, ale nie pożądaną, twój szef wróci i powie, dlaczego nie próbuj odchudzania (jaki czynnik?)? a później, dlaczego nie wypróbować ReLU lub innej aktywacji na niektórych warstwach, a nadal nie, dlaczego nie spróbować „maksymalnego łączenia”? wciąż nie, dlaczego nie spróbować normalizacji wsadowej, nadal nie lub przynajmniej konwergencji, ale nie pożądany wynik, Och, jesteś w lokalnym minimum, spróbuj innego harmonogramu szybkości uczenia się, po prostu zmienić architekturę sieci? i powtórz wszystko powyżej w różnych kombinacjach! Trzymaj to w pętli, dopóki nie odniesiesz sukcesu!
Z drugiej strony, jeśli próbujesz spójnego SVM, po konwergencji, jeśli wynik nie jest dobry, to dobrze, liniowe jądro, którego używamy, nie jest wystarczająco dobre, ponieważ dane mogą nie być liniowe, użyj jądra o innym kształcie, spróbuj jądro w innym kształcie, jeśli masz przeczucie, jeśli nadal nie, po prostu zostaw je, jest to ograniczenie SVM.
Mówię o tym, że sieci neuronowe są tak niespójne, że nawet nie jest źle! Nigdy nie akceptuje swojej porażki! Inżynier / projektant bierze na siebie ciężar, na wypadek, gdyby nie działał zgodnie z oczekiwaniami.
źródło