/Machine Learning: Facebook erweitert Einsatz von Caffe2

Machine Learning: Facebook erweitert Einsatz von Caffe2


Das Open-Source-Framework ersetzt inzwischen weltweit die phrasenbasierte Übersetzung beim sozialen Netz und bietet neuerdings Modelle für rekurrente neuronale Netze.

Das Caffe2-Team hat in einem Blogbeitrag angekündigt, dass das Deep-Learning-Framework ab sofort auch rekurrente neuronale Netze (RNN) bietet. Facebook hatte den Nachfolger des an der University of California in Berkley entstandenen Deep-Learning-Frameworks Caffe im April auf der hauseigenen Entwicklerkonferenz f8 als Open-Source-Software veröffentlicht. Seinerzeit gab es aber noch keinen Support für RNN-Modelle.

Laut dem Blogbeitrag hat der Einsatz von Caffe2 für die maschinelle Übersetzung bei Facebook die Effizienz um den Faktor 2,5 erhöht. Daher hat das soziale Netz nun die komplette Übersetzung von phrasenbasierten Systemen auf neuronale Modelle umgestellt. Das führte wiederum dazu, dass viele Facebook-Teams, darunter das für Spracherkennung und das für das Ranking von Werbungen Caffe2 zum Trainieren von RNN-Modellen genutzt haben.

Rekurrente neuronale Netze verwenden im Gegensatz zu den in nur eine Richtung arbeitenden Feedforward-Netzen Rückkopplungen, die entweder direkt (Direct Feedback) zum selben Neuron, seitlich (Lateral Feedback) zu einem Neuron auf derselben Schicht oder indirekt (Indirect Feedback) zu einer vorhergehenden Schicht führen. Sie eignen sich unter anderem gut für maschinelle Übersetzung sowie Sprach- und Handschriftenerkennung.

Die RNN-Bibliothek von Caffe2 ist wohl recht allgemein gehalten. Die einzelnen RNN-Zellen sind jeweils kleinere Caffe2-Netzwerke. Entwickler können vorhandene RNNCells mit einer API ansprechen und in Python neue schreiben. MultiRNNCell verbindet wiederum mehrere Zellen zu einer komplexen.



Vereinfachte Übersicht der RNN-Engine

Bild:
Caffe2

Offensichtlich verwenden das System zudem beim Training der rekurrenten neuronalen Netze einen Algorithmus, der Backpropagation Through Time (BPTT) heißt und besonders speichereffizient sein soll. Darüber hinaus implementiert Caffe2 ebenso wie TensorFlow statische RNNs, die dann zum Einsatz kommen, wenn die Länge der Sequenz bereits im Vorfeld bekannt ist.

Weitere Details lassen sich dem Blogbeitrag entnehmen. Auf GitHub finden sich neben der Software selbst einige Anleitungen, Tutorials sowie Dokumentationen der C++- und Python-APIs.


(rme)