Deep Learning (betreut von der Society of Artificial Intelligence) Buch - 2015/11/5 http://www.amazon.co.jp/dp/476490487X/ref=pd_lpo_sbs_dp_ss_1?pf_rd_p=187205609&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=4061529021&pf_rd_m=AN1VRQENFRJN5&pf_rd_r=1ZJ9T7KCKHC8QV0QKN9H Ich habe Kapitel 4 von zusammengefasst.
DistBelief Google ist die Quelle von Tensorflow, das entwickelt wurde. Eine gute Implementierung der verteilten parallelen Technologie.
Bisher erforderte MapReduce eine qualitativ hochwertige Kommunikation. Die Lösung dafür.
Es gibt zwei Arten der Parallelisierung -Modell (Aufgabe) parallel: Der Prozess ist für jede Maschine aufgeteilt. Flow Arbeit. -Daten parallel: Teilen Sie die Daten auf, die in den Verarbeitungsablauf aufgenommen werden sollen. Der Unglaube nutzt diese zusammen.
Mit Distbelief müssen sich Benutzer nur auf "Berechnen eines Knotens" und "Informationen zum Senden an den nächsten Knoten" konzentrieren, und der Computer entscheidet, wo das Modell und wo die Daten aufgeteilt werden sollen.
Die Gradientenberechnung und Parameteraktualisierung werden parallel zum Modell durchgeführt, und die tatsächliche Datenberechnung wird parallel zu den Daten durchgeführt. Als Gradientenberechnungsmethode wird die Regenguss-SGD (probabilistische Gradientenabstiegsmethode) verwendet. Selbst wenn das Replikatmodell, das eine bestimmte Datengruppe verarbeitet, fehlschlägt, funktioniert der Rest.
Sandblaster L-BFGS wird für die Stapelverarbeitung verwendet (eine Methode, um dies nach und nach zu tun). Da dies datenparallel ist, ist am Ende eine Datensynchronisation erforderlich. Das Warten auf den langsamsten Computer ist zu ärgerlich. Verkleinern Sie den Stapel und geben Sie ihn nacheinander an die Knoten weiter. Aufgaben werden in der Reihenfolge vom Ende verteilt.
Bei der sprachlichen Verarbeitung ist nur ein kleiner Teil des langen Vektors ungleich Null und der Rest ist 0 (dünne Matrix). Die Bildverarbeitung hat andererseits einen dichten Vektor. Es gibt nur wenige Zweige in der Bildverarbeitung, und die gleiche Verarbeitung kann endlos durchgeführt werden. Dies ist ein Bereich, in dem GPUs gut sind. Deshalb denken viele Leute darüber nach, es der GPU zu überlassen.
Auch die Übertragungsgeschwindigkeit zwischen GPU / CPU / Speicher kann ein subtiler Engpass sein.
InfiniBand Wahnsinnig schnelles Kabel. Mit einer Leistung von 56 Gbit / s scheint es in der Lage zu sein, das für die GPU typische Problem der Übertragungsgeschwindigkeit zu lösen.
Technologie zur Lösung des Problems der internen Kovariatenverschiebung. Die interne Kovariatenverschiebung bedeutet, dass sich die Verteilung von x zum Zeitpunkt der Eingabe während des Lernens erheblich ändert. Da die Gewichte begeistert sind, sich auf diese Verschiebung einzustellen, kann das Lernen der Schicht selbst erst danach fortgesetzt werden. Das verlangsamt mich.
Die Chargennormalisierung normalisiert diese Verschiebung. Gleichzeitig wird ein Bleaching (Normalisierung + Unkorrelation) durchgeführt.
Ensemble-Lernen, bei dem der Durchschnitt mehrerer Modelle für die Inferenz verwendet wird, ist genau. Aber es dauert zu lange.
Im Fall eines neuronalen Netzwerks ist flach schnell und tief langsam. Die Destillation beschleunigt das Lernen tiefer neuronaler Netze aus dem Lernen flacher neuronaler Netze.
Wenn das Optimum θ ausgewählt ist, ist der Gradient von E 0. Dann stimmen die Steigungen des Fehlerterms L und des Normalisierungsterms R von E überein. Mit anderen Worten, wenn Sie wissen, wie man einen Fehler macht, können Sie auch den Normalisierungsterm kennen. Eine Technik, die dies gut nutzt.
Dropout So steuern Sie das Überlernen. Eine Methode zum Ignorieren von Knoten mit einer bestimmten Rate in der Lernphase. Ändern Sie jedes Mal, wenn Sie die zu lernenden Daten ändern, den zu ignorierenden Knoten. Während des Tests nicht ignorieren. Die Ignorierrate wird im Allgemeinen eingegeben: 0,2, mittlere Schicht: 0,5.
ReLu
max(0,x)
Die Gradientenberechnung ist schnell und erfordert keinen besonderen Einfallsreichtum. Der Fehler verschwindet nicht und der Fehler breitet sich auf die tiefen Knoten aus. MaxOut
max wx
Eine Methode zur Auswahl der größten von mehreren linearen Funktionen. Es ist linear und wahnsinnig einfach, während es komplexe Zustände ausdrücken kann. Es scheint sehr gut zu sein.
Recommended Posts