Dieser Beitrag
Obwohl es auch im Titel enthalten ist, handelt es sich um einen Beitrag über eine Aufzeichnung, die von einem Amateur hinterlassen wurde, der weder ein Deep Learning-Forscher noch irgendetwas ist. Bitte verzeihen Sie mir etwaige Fehler und lesen Sie sie. (Wenn etwas nicht stimmt, würde ich es begrüßen, wenn Sie in den Kommentaren darauf hinweisen könnten)
Um es grob auszudrücken, es gibt verschiedene Gesichtspunkte, aber Deep Learning macht das Neuronale Netzwerk, das als eine Art maschinelles Lernen bekannt ist, überraschend vielschichtig (Deep) und eine große Datenmenge (Bilder usw.), die bis dahin nicht allgemein bekannt sein kann. Es ist eine der Methoden des maschinellen Lernens, die es ermöglicht, Konzepte höherer Ordnung wie Merkmale und Bedeutungen, die in den Daten enthalten sind, mithilfe von Sprache zu lernen.
Deep Learning entstand 2006 in Paper, veröffentlicht von Geoffrey Hinton et al. Von der University of Toronto, Kanada Im Laufe des Jahres war es beim [berühmten Wettbewerb] der Bilderkennung (http://www.image-net.org/) eine schrittweise Entwicklung, die die Leistung um 1-2% pro Jahr verbesserte, aber an zweiter oder niedrigerer Stelle stand. Dies wurde durch den Gewinn der Meisterschaft mit einem überwältigenden Unterschied in der Anerkennungsleistung von 10% oder mehr bemerkt.
Vor kurzem hat Google gesagt, dass Computer Katzen erkennen können. Es wurde berichtet, dass das UC Berkley-Team gelernt hat, Deep Learning zu verwenden, um Robotern dabei zu helfen, einfache Aufgaben automatisch auszuführen.
Auf diese Weise wird es auch auf Lernroboter usw. angewendet und ist vielseitig einsetzbar, da es eine extrem hohe Leistung aufweist und die Maschine automatisch handwerkliche Teile wie Bildmerkmale erlernen kann, die bisher von Menschen entworfen wurden. Es zieht aufgrund seiner hohen Sexualität Aufmerksamkeit auf sich und die Forschung wird auf der ganzen Welt gefördert.
Natürlich hatte ich keine Schwierigkeiten, verschiedene Dinge zu verstehen (ich bin es überhaupt noch), aber vorerst werden Amateure mit Deep Learning beginnen! Vorher werde ich kurz nur drei Dinge schreiben, die Sie wissen müssen Neural Network Deep Learning ist eine Art neuronales Netzwerk. Sie müssen also über Neural Network Bescheid wissen. Was genau ist das Neuronale Netz?
Das Neuronale Netz ist ein vereinfachtes Modell des elektrischen Signalaustauschs, den Neuronen im Gehirn durchführen.
In Neural Network werden Neuronen als solche modelliert, die ein Signal ausgeben, wenn die gewichtete Eingabe einen bestimmten Schwellenwert überschreitet, und mehrere von ihnen werden vorbereitet und verbunden.
Zitiert aus Wikipedia
In diesem Beispiel befinden sich 3 Neuronen in Input, 4 in Hidden und 2 in Output, Input ist mit Hidden verbunden und Hidden ist in einer Richtung mit Output verbunden (es gibt auch ein neuronales Netzwerk, das miteinander verbunden ist, aber ich werde es nicht erklären. ) Obwohl in der Abbildung nicht dargestellt, ist das Gewicht oben auf jedem Pfeil angegeben. Dann machen Sie folgendes:
Ich werde die Details der Formeln weglassen, aber diese werden schließlich als Matrixoperationen ausgedrückt und berechnet. Vorerst denke ich, dass es gut wäre, das Bild zu haben, dass jedes Neuron Eingaben von anderen Neuronen empfängt und es an das nächste Neuron ausgibt, das über einem bestimmten Niveau liegt. Auf diese Weise konnten wir den Austausch elektrischer Signale modellieren, die sich im Gehirn nacheinander ausbreiten.
Erhöhen Sie in Deep Learning die Anzahl der Ebenen (deep = Deep), sodass dies zu Input → Hidden → Hidden → many ・ ・ (viele) ・ ・ ・ → Hidden → Output wird.
Fügen Sie dann beispielsweise das Bild, dh den Wert jedes Pixels, in die Eingabe ein und passen Sie den Gewichtswert so an, dass das oberste Neuron der Ausgabe 1 ist, wenn das Bild eine Katze ist, und andernfalls 0. Dies ist Lernen im Neuronalen Netz Dann wird (hoffentlich) dieses Neuron ausgelöst, wenn es sich um eine Katze handelt, dies wird ausgelöst, wenn es sich um einen Menschen handelt, und so weiter. Die Ausgabe reagiert entsprechend dem Eingabebild, und das Netzwerk erstellt aus dem Bild eine Katze oder einen Menschen mit höherem Konzept. Sie werden erkennen können
GPU Schließlich wiederholt das Neuronale Netz Matrixoperationen, um mit dem Lernen fortzufahren. Natürlich wird die Berechnung mit einem Computer durchgeführt, aber beim Deep Learning wird, wie der Name "Deep" andeutet, die Matrixoperation während des Lernens häufig ausgeführt. Wenn die Berechnung lange dauert, kann es Tage dauern, bis das Lernergebnis angezeigt wird, was ein Problem darstellt.
Also benutzen wir GPU. Die GPU soll ursprünglich die Grafikverarbeitung beschleunigen, die die CPU nicht sehr gut kann. Die GPU verfügt jedoch über mehr Kerne als die CPU und erstellt Tausende von Threads, um diese parallel zu verarbeiten. Es hat die Eigenschaft, dass es gut darin ist, es ernsthaft zu tun. Andererseits wiederholen Matrixoperationen die Summe und das Produkt von Zeilen und Spalten, können jedoch unabhängig berechnet werden (die Berechnung von Zeilen 2 und Spalten 2 muss auf die Multiplikation von Zeilen 1 und Spalten 1 gewartet werden). Es ist nicht so, dass du es nicht kannst), also ist es sehr gut für die Verarbeitung auf einer GPU geeignet. Die Verwendung von GPUs anstelle von CPUs reduziert die für das endgültige Lernen erforderliche Zeit. Daher wird im Deep Learning-Bereich häufig GPUs für Berechnungen verwendet. Es wird empfohlen, GPUs in den unten beschriebenen Bibliotheken zu verwenden.
Insbesondere wird häufig die von nVidia herausgegebene Bibliothek zur Verwendung der GPU CUDA verwendet. Überprüfen Sie in der Bedienungsanleitung der Grafikkarte mit dem nVidia-Chip, ob es sich um eine CUDA-kompatible GPU handelt. Liste der CUDA-kompatiblen Chips (Es tut mir leid, wenn es überhaupt nicht nVidia ist. Wenn die CUDA-kompatible Grafikkarte billig ist, können Sie sie ab etwa 20.000 Yen kaufen!)
Ich habe übrigens keine solche GPU! Ich habe keine Pläne, es zu kaufen! Selbst wenn Sie das sagen, kann Caffe, das später beschrieben wird, das Lernen ausführen (obwohl es langsamer sein wird), selbst wenn Sie die CPU verwenden. Wenn die Daten klein sind, kann das Lernen auch mit der CPU in zehn Sekunden bis Minuten abgeschlossen werden.
Ich denke, Sie sollten sich vorerst daran erinnern, dass das Lernen schneller als die CPU endet, wenn Sie GPU in Deep Learning verwenden.
Um mit Deep Leaning zu beginnen, können Sie von Grund auf neu programmieren, um Neuron zu modellieren und Lernmechanismen aufzubauen. Deep Learning verfügt jedoch über eine praktische Bibliothek, die das Lernen erleichtert. Viele sind für die Öffentlichkeit zugänglich Hier werden wir Deep Learning mit Caffe durchführen, einer der Bibliotheken darin.
Neben Caffe gibt es Bibliotheken wie Theano und Torch.
Es gibt keinen klaren Grund, aber die Information, dass es einfacher (wahrscheinlich) als Theano ist und die Bibliothek in C ++ geschrieben ist und von Python aus verwendet werden kann, so dass es scheint, dass die Schwelle des Lernens in Bezug auf die Programmiersprache niedrig ist, also hier Caffe Fortfahren mit
Was ich sagen möchte ist, dass es eine Bibliothek gibt, so dass Sie es ohne Wissen tun können.
Jetzt können Sie mit Deep Learning beginnen Im nächsten Artikel möchte ich das Verfahren zur Installation von Caffe unter Ubuntu erläutern.
Deep Learning Caffe Video des Deep Learning Lecture an der Nara Advanced University (Englisch) Einführung in die CUDA-Programmierung
Recommended Posts