Grundlegendes Problem mit Deep Learning und neuronalen Netzen im Allgemeinen.
Die Lösungen, die zu den Trainingsdaten passen, sind unendlich. Wir haben keine präzise mathematische Gleichung, die nur von einer einzigen erfüllt wird und die wir am besten verallgemeinern können. Einfach gesagt, wir wissen nicht, welche Verallgemeinerungen am besten sind.
Das Optimieren von Gewichten ist kein konvexes Problem, daher wissen wir nie, dass wir am Ende ein globales oder lokales Minimum haben.
Warum also nicht einfach die neuronalen Netze auslagern und stattdessen nach einem besseren ML-Modell suchen? Etwas, das wir verstehen und das mit einer Reihe mathematischer Gleichungen übereinstimmt? Linear und SVM haben diese mathematischen Nachteile nicht und stimmen voll und ganz mit einem Satz mathematischer Gleichungen überein. Warum nicht einfach auf der gleichen Linie denken (aber nicht linear sein müssen) und ein neues ML-Modell entwickeln, das besser ist als Linear und SVM sowie neuronale Netze und Deep Learning?
quelle
Antworten:
Es ist ein Problem, nicht zu wissen, welche Lösung am besten verallgemeinert, aber es sollte uns nicht davon abhalten, eine gute Lösung anderweitig zu verwenden. Die Menschen selbst wissen oft nicht, was am besten verallgemeinert werden kann (z. B. wenn man konkurrierende Theorien der Physik betrachtet), aber das bereitet uns nicht allzu viele Probleme.
Es hat sich gezeigt, dass es äußerst selten vorkommt, dass das Training aufgrund lokaler Mindestanforderungen fehlschlägt. Die meisten lokalen Minima in einem tiefen neuronalen Netzwerk haben einen ähnlichen Wert wie das globale Minimum, daher ist dies kein Problem. Quelle
Die allgemeinere Antwort lautet jedoch, dass Sie den ganzen Tag über Nichtkonvexität und Modellauswahl sprechen können und die Leute neuronale Netze weiterhin verwenden, nur weil sie besser funktionieren als alles andere (zumindest bei Dingen wie der Bildklassifizierung).
Natürlich gibt es auch Leute, die argumentieren, wir sollten uns nicht zu sehr auf CNNs konzentrieren, so wie die Community sich vor einigen Jahrzehnten auf SVMs konzentriert hat, und stattdessen weiter nach der nächsten großen Sache suchen. Insbesondere erinnere ich mich, dass Hinton die Wirksamkeit von CNNs als etwas bedauert hat, das die Forschung behindern könnte. verwandter Beitrag
quelle
Wie die Kommentare zu Ihrer Frage zeigen, arbeiten viele Menschen daran, etwas Besseres zu finden. Ich möchte diese Frage jedoch beantworten, indem ich den Kommentar von @josh erweitere
Alle Modelle sind falsch, aber einige sind nützlich (Wiki)
Die obige Aussage ist eine allgemeine Wahrheit, die verwendet wird, um die Natur statistischer Modelle zu beschreiben. Anhand der verfügbaren Daten können wir Modelle erstellen, mit denen wir nützliche Dinge tun können, z. B. einen prognostizierten Wert approximieren.
Nehmen Sie zum Beispiel lineare Regression
Unter Verwendung einer Reihe von Beobachtungen können wir ein Modell anpassen, um einen ungefähren Wert für eine abhängige Variable zu erhalten, wenn alle Werte für die unabhängige (n) Variable (n) gegeben sind.
Abweichungen von unserem Modell (wie im Bild oben zu sehen) erscheinen zufällig, einige Beobachtungen liegen unterhalb der Linie und einige oberhalb, aber unsere Regressionslinie zeigt eine allgemeine Korrelation. Während Abweichungen in unserem Modell zufällig erscheinen, spielen in realistischen Szenarien andere Faktoren eine Rolle, die diese Abweichung verursachen. Stellen Sie sich zum Beispiel vor, Sie beobachten Autos, wie sie durch eine Kreuzung fahren, an der sie entweder nach links oder rechts abbiegen müssen, um fortzufahren. Die Autos biegen in keinem bestimmten Muster ab. Während wir sagen können, dass die Richtung, in die die Autos abbiegen, völlig zufällig ist, erreicht jeder Fahrer die Kreuzung und trifft an diesem Punkt eine zufällige Entscheidung, in welche Richtung er abbiegen soll? In Wirklichkeit steuern sie wahrscheinlich aus einem bestimmten Grund an einen bestimmten Ort, und ohne zu versuchen, jedes Auto anzuhalten, um sie nach ihrer Begründung zu fragen, können wir ihre Handlungen nur als zufällig bezeichnen.
Wo wir in der Lage sind, ein Modell mit minimaler Abweichung anzupassen, wie sicher können wir dann sein, dass eine unbekannte, unbemerkte oder nicht messbare Variable unser Modell irgendwann nicht mehr wirft? Löst der Flügelschlag eines Schmetterlings in Brasilien einen Tornado in Texas aus?
Das Problem bei der Verwendung der von Ihnen erwähnten linearen und SVN-Modelle besteht darin, dass wir unsere Variablen manuell beobachten müssen und wie sie sich gegenseitig beeinflussen. Wir müssen dann entscheiden, welche Variablen wichtig sind, und einen aufgabenspezifischen Algorithmus schreiben. Dies kann einfach sein, wenn wir nur ein paar Variablen haben, aber was ist, wenn wir Tausende hatten? Was wäre, wenn wir ein verallgemeinertes Bilderkennungsmodell erstellen wollten, könnte dies mit diesem Ansatz realistisch erreicht werden?
Deep Learning und künstliche neuronale Netze (ANNs) können uns dabei helfen, nützliche Modelle für große Datenmengen mit einer großen Anzahl von Variablen (z. B. Bildbibliotheken) zu erstellen. Wie Sie bereits erwähnt haben, gibt es eine unverständliche Anzahl von Lösungen, die mit ANNs in die Daten passen könnten. Unterscheidet sich diese Anzahl jedoch wirklich von der Anzahl der Lösungen, die wir selbst durch Ausprobieren entwickeln müssten?
Die Anwendung von ANNs erledigt einen Großteil der Arbeit für uns. Wir können unsere Eingaben und gewünschten Ausgaben spezifizieren (und sie später optimieren, um Verbesserungen vorzunehmen) und es der ANN überlassen, die Lösung zu finden. Aus diesem Grund werden ANNs oft als "Black Boxes" bezeichnet . Ausgehend von einer bestimmten Eingabe geben sie eine Annäherung aus, jedoch enthalten diese Annäherungen (im Allgemeinen) keine Details darüber, wie sie angenähert wurden.
Es kommt also wirklich darauf an, welches Problem Sie lösen möchten, da das Problem bestimmt, welcher Modellansatz sinnvoller ist. Modelle sind nicht absolut genau und daher gibt es immer ein Element, bei dem man sich irrt. Je genauer Ihre Ergebnisse sind, desto nützlicher sind sie. Je nach Problem kann es sogar nützlicher sein, detailliertere Ergebnisse zu erhalten, als eine höhere Genauigkeit zu erzielen.
Wenn Sie beispielsweise einen Personenkredit-Score berechnen, können Sie mithilfe von Regression und SVMs Berechnungen durchführen, die besser untersucht werden können. Es ist sehr nützlich, das Modell direkt zu optimieren und den Kunden zu erklären, welche Auswirkungen separate unabhängige Variablen auf ihre Gesamtpunktzahl haben. Eine ANN kann bei der Verarbeitung größerer Mengen von Variablen helfen, um eine genauere Bewertung zu erzielen. Wäre diese Genauigkeit jedoch nützlicher?
quelle
Das globale Minimum kann genauso gut nutzlos sein, also ist es uns egal, ob wir es finden oder nicht. Der Grund ist, dass für tiefe NetzwerkeNicht nur die Zeit zum Auffinden wird mit zunehmender Netzwerkgröße exponentiell länger, sondern auch das globale Minimum entspricht häufig einer Überanpassung des Trainingssatzes. Dadurch würde die Verallgemeinerungsfähigkeit des DNN (die uns wirklich am Herzen liegt) leiden. Außerdem bevorzugen wir oft flachere Minima, die einem höheren Wert der Verlustfunktion entsprechen, als schärfere Minima, die einem niedrigeren Wert der Verlustfunktion entsprechen, da die zweite sehr schlecht mit Unsicherheiten in den Eingaben umgehen wird. Dies wird mit der Entwicklung des Bayesian Deep Learning immer deutlicher. Robuste Optimierung schlägt deterministische Optimierung sehr oft, wenn sie auf Probleme der realen Welt angewendet wird, bei denen Unsicherheit wichtig ist.
Schließlich ist es eine Tatsache, dass DNNs Methoden wie XGBoost bei der Bildklassifizierung und NLP in den Hintern treten. Ein Unternehmen, das mit der Image-Klassifizierung Gewinne erzielen muss, wählt sie korrekt als Modelle aus, die in der Produktion eingesetzt werden sollen ( und investiert einen erheblichen Betrag in Feature-Engineering, Daten-Pipeline usw., aber ich schweife ab). Dies bedeutet nicht, dass sie die gesamte ML-Umgebung dominieren: Beispielsweise schneiden sie bei strukturierten Daten schlechter ab als XGBoost (siehe die letzten Gewinner von Kaggle-Wettbewerben), und sie scheinen sich bei der Zeitreihenmodellierung noch nicht so gut zu behaupten wie Partikelfilter. Einige sehr neue Innovationen bei RNNs können diese Situation jedoch ändern.
quelle
Ich denke, der beste Weg, um über diese Frage nachzudenken, ist der Wettbewerb auf dem Markt. Wenn Sie Deep Learning aufgeben und Ihre Konkurrenten es verwenden UND es zufällig besser funktioniert als das, was Sie verwendet haben, werden Sie auf dem Markt geschlagen.
Ich denke, das ist es, was zum Teil heute passiert, dh Deep Learning scheint bei den vielen Problemen auf dem Markt besser zu funktionieren als alles andere. Beispielsweise sind Online- Sprachübersetzer, die Deep Learning verwenden, besser als die zuvor verwendeten rein sprachlichen Ansätze. Noch vor ein paar Jahren war dies nicht der Fall, aber Fortschritte beim Deep Learning brachten diejenigen, die es gewohnt waren, in die Führungspositionen auf dem Markt.
Ich wiederhole immer wieder "den Markt", denn das ist es, was den gegenwärtigen Anstieg des tiefen Lernens antreibt. In dem Moment, in dem das Geschäft etwas Nützliches findet, wird sich etwas ausbreiten. Es ist nicht so , dass wir , das Komitee, entschieden hätten, dass Deep Learning populär sein sollte. Es ist Geschäft und Wettbewerb.
Der zweite Teil ist, dass es neben dem tatsächlichen Erfolg von ML auch Angst gibt, das Boot zu verpassen. Viele Unternehmen sind paranoid, dass sie als Unternehmen scheitern, wenn sie die KI verpassen. Diese Befürchtung wird von all diesen Beratungsunternehmen, Gartners usw. genährt , die den CEOs zuflüstern, dass sie KI machen oder morgen sterben müssen.
Niemand zwingt Unternehmen, Deep Learning anzuwenden. IT und F & E freuen sich über ein neues Spielzeug. Academia jubelt, also wird diese Party so lange dauern, bis die Musik aufhört, dh bis das tiefe Lernen aufhört zu liefern. In der Zwischenzeit können Sie es ablegen und eine bessere Lösung finden.
quelle
Es gibt ausgezeichnete Antworten, die sich hauptsächlich auf die Nützlichkeit von DL und ANN beziehen. Aber ich möchte das OP auf grundlegendere Weise beanstanden, da die Frage die mathematische Inkonsistenz neuronaler Netze bereits als selbstverständlich ansieht.
Zuallererst gibt es eine mathematische Theorie hinter (den meisten Modellen von) neuronalen Netzen. Sie könnten auch argumentieren, dass die lineare Regression nicht verallgemeinert wird, es sei denn, das zugrunde liegende Modell ist ... nun, linear. In neuronalen Algorithmen wird ein Modell angenommen (auch wenn nicht explizit) und der Anpassungsfehler berechnet. Die Tatsache, dass Algorithmen mit verschiedenen Heuristiken modifiziert werden, macht die ursprüngliche mathematische Unterstützung nicht ungültig. Übrigens ist die lokale Optimierung auch eine mathematisch konsistente, geschweige denn nützliche Theorie.
Wenn neuronale Netze nur eine Klasse von Methoden innerhalb der gesamten Toolbox von Wissenschaftlern darstellen, welche Linie unterscheidet neuronale Netze von den übrigen Techniken? Tatsächlich galten SVMs früher als eine Klasse von NNs und erscheinen immer noch in denselben Büchern. Andererseits könnten NNs als (nichtlineare) Regressionstechnik angesehen werden, möglicherweise mit einer gewissen Vereinfachung. Ich stimme dem OP zu, dass wir nach besseren, fundierten und effizienten Algorithmen suchen müssen, unabhängig davon, ob Sie sie als NNs bezeichnen oder nicht.
quelle
Ich vermute, für ein Problem interessieren wir uns weniger für die mathematische Genauigkeit und Einfachheit, aber mehr für die Nützlichkeit. Der aktuelle Status ist, dass ein neuronales Netzwerk bestimmte Aufgaben wie die Mustererkennung in der Bildverarbeitung besser ausführen kann.
quelle
In dieser Frage steckt viel. Gehen wir nacheinander durch, was Sie geschrieben haben.
Die Tatsache, dass es unendlich viele Lösungen gibt, ist darauf zurückzuführen, dass das Lernproblem ein schlecht gestelltes Problem ist. Es kann also kein einziges geben, das am besten verallgemeinert. Außerdem kann, unabhängig davon, welche Methode wir verwenden, kein Theorem für kostenloses Mittagessen garantieren, dass es bei allen Lernproblemen die beste ist.
Diese Aussage ist nicht wirklich wahr. Es gibt Theoreme zur empirischen Risikominimierung von Vapnik & Chervonenkis, die die Anzahl der Stichproben, die VC-Dimension der Lernmethode und den Generalisierungsfehler verbinden. Beachten Sie, dass dies nur für einen bestimmten Datensatz gilt. Ausgehend von einem Datensatz und einem Lernverfahren kennen wir also die Grenzen der Verallgemeinerung. Es ist zu beachten, dass es für verschiedene Datensätze keine einzige beste Lernprozedur gibt und diese nicht sein kann, da es keinen Satz für kostenloses Mittagessen gibt.
Hier gibt es einige Dinge, die Sie beachten müssen. Das Optimieren eines nicht konvexen Problems ist nicht so einfach wie eines konvexen. das ist wahr. Die Klasse der konvexen Lernmethoden ist jedoch begrenzt (lineare Regression, SVM), und in der Praxis schneiden sie bei einer Vielzahl von Problemen schlechter ab als die Klasse der nichtkonvexen (Boosting, CNN). Der entscheidende Teil ist also, dass in der Praxis neuronale Netze am besten funktionieren. Obwohl es eine Reihe sehr wichtiger Elemente gibt, die dafür sorgen, dass neuronale Netze gut funktionieren:
Sich mit Dingen zu befassen, die funktionieren, weil man sie nicht versteht, ist keine gute Forschungsrichtung. Das Bemühen, sie zu verstehen, ist andererseits eine gute Forschungsrichtung. Ich bin auch anderer Meinung, dass neuronale Netze nicht mit mathematischen Gleichungen vereinbar sind. Sie sind ziemlich konsequent. Wir wissen, wie wir sie optimieren und Rückschlüsse ziehen können.
quelle
Wie wäre es mit einer experimentellen Betrachtung neuronaler Netze? Nur weil wir sie erstellt haben, heißt das noch lange nicht, dass wir sie intuitiv verstehen müssen. Oder dass wir nicht mit ihnen spielen dürfen, um besser zu verstehen, was sie tun.
Hier sind ein paar Gedanken, die ich über sie habe:
Dies steht im Einklang mit unserer Denkweise. Es stimmt sogar mit der Funktionsweise der wissenschaftlichen Methode überein. Indem wir also neuronale Netze knacken, lösen wir möglicherweise auch die allgemeine Frage, was Wissen darstellt.
quelle
Vergessen Sie nicht, dass es ein weites Forschungsgebiet gibt, das LMs, GLM und Mehrebenenmodelle verwendet. In letzter Zeit sind Bayes'sche Techniken und das Hamilton'sche Monte Carlo (die STAN-Community ist wirklich an vorderster Front dabei) erwachsen geworden und es gibt eine Reihe von Problemen, die von STAN sehr einfach gelöst werden und die keine NNs oder tiefen Netze wirklich benötigen. Die sozialwissenschaftliche Forschung und die Mikroökonomie sind zwei (große) Beispiele für solche Bereiche, die Stan schnell einführen.
Stan-Modelle sind sehr "lesbar". Die Koeffizienten haben tatsächlich eine posteriore Verteilungsinterpretation, ebenso wie die Vorhersagen. Die Prioren sind Teil des Datenerzeugungsprozesses und müssen nicht konjugiert sein, um performant zu sein (wie Gibbs). Das Modell, das in Stan passt, ist ein Vergnügen, es stimmt die lästigen MCMC-Parameter automatisch ziemlich gut ab und warnt Sie, wenn die Erkundung mit wirklich schönen Visualisierungen feststeckt.
Wenn du es noch nicht ausprobiert hast, sieh dir hier tolle Stan-Demos an .
Letztendlich denke ich, dass die Leute nicht so viel über dieses Zeug reden, weil die Forschung auf diesem Gebiet und die Probleme nicht so "sexy" / "cool" sind wie bei NNs.
quelle
Was passiert normalerweise, wenn es keine mathematische Konsistenz gibt (zumindest in diesem Fall von neuronalen Netzen) ... wenn es nicht die gewünschten Ergebnisse liefert, kommt Ihr Chef zurück und sagt ... Hey, warum nicht? Versuchen Sie, auszusteigen (welche Gewichte, welche Schicht, wie viele Kopfschmerzen haben Sie, da es keine mathematische Methode gibt, dies zu bestimmen). Nachdem Sie also versucht haben, eine geringfügige Verbesserung zu erzielen, aber nicht die gewünschte, kommt Ihr Chef zurück und sagt, warum nicht versuchen, Gewicht zu verlieren (welcher Faktor?)? und später, warum versuchst du es nicht mit ReLU oder einer anderen Aktivierung auf einigen Ebenen und trotzdem nicht, warum versuchst du es nicht mit 'max pooling'? Immer noch nicht, warum nicht versuchen, Batch-Normalisierung, immer noch nicht oder zumindest Konvergenz, aber nicht gewünschtes Ergebnis, Oh, Sie sind in einem lokalen Minimum, versuchen Sie andere Lernrate Zeitplan, nur die Netzwerkarchitektur ändern? und wiederhole alles in verschiedenen kombinationen! Halten Sie es in einer Schleife, bis Sie erfolgreich sind!
Wenn Sie andererseits nach der Konvergenz eine konsistente SVM versuchen, ist der von uns verwendete lineare Kernel nicht gut genug, wenn das Ergebnis nicht gut ist, da die Daten möglicherweise nicht linear sind. Verwenden Sie einen anders geformten Kernel, und versuchen Sie es ein anders geformter Kernel, wenn Sie eine Ahnung haben, wenn immer noch nicht, lassen Sie es einfach, es ist eine Einschränkung von SVM.
Was ich sage ist, dass die neuronalen Netze so inkonsistent sind, dass es nicht einmal falsch ist! Es akzeptiert niemals seine Niederlage! Der Ingenieur / Designer übernimmt die Last, falls es nicht wie gewünscht funktioniert.
quelle