Caffe2 - Einführung
In den letzten Jahren hat sich Deep Learning zu einem großen Trend im maschinellen Lernen entwickelt. Es wurde erfolgreich angewendet, um zuvor unlösbare Probleme in zu lösen Vision, Speech Recognition and Natural Language Processing(NLP). Es gibt viele weitere Bereiche, in denen Deep Learning angewendet wird und die sich als nützlich erwiesen haben.
Caffe (Convolutional Architecture for Fast Feature Embedding) ist ein Deep-Learning-Framework, das bei entwickelt wurde Berkeley Vision and Learning Center (BVLC). Das Caffe-Projekt wurde von Yangqing Jia während seiner Promotion ins Leben gerufen. an der University of California - Berkeley. Caffe bietet eine einfache Möglichkeit, mit tiefem Lernen zu experimentieren. Es ist in C ++ geschrieben und bietet Bindungen fürPython und Matlab.
Es unterstützt viele verschiedene Arten von Deep-Learning-Architekturen wie z CNN (Convolutional Neural Network), LSTM(Langzeit-Kurzzeitgedächtnis) und FC (vollständig verbunden). Es unterstützt die GPU und ist daher ideal für Produktionsumgebungen mit tiefen neuronalen Netzen geeignet. Es unterstützt auch CPU-basierte Kernel-Bibliotheken wieNVIDIA, CUDA Deep Neural Network Bibliothek (cuDNN) und Intel Math Kernel Library (Intel MKL).
Im April 2017 kündigte das in den USA ansässige Social-Networking-Dienstleistungsunternehmen Facebook Caffe2 an, zu dem jetzt RNN (Recurrent Neural Networks) gehört. Im März 2018 wurde Caffe2 in PyTorch fusioniert. Caffe2-Entwickler und Community-Mitglieder haben Modelle zur Lösung verschiedener Probleme erstellt. Diese Modelle stehen der Öffentlichkeit als vorgefertigte Modelle zur Verfügung. Caffe2 hilft den Erstellern bei der Verwendung dieser Modelle und beim Erstellen eines eigenen Netzwerks, um Vorhersagen für den Datensatz zu treffen.
Bevor wir auf die Details von Caffe2 eingehen, lassen Sie uns den Unterschied zwischen verstehen machine learning und deep learning. Dies ist erforderlich, um zu verstehen, wie Modelle in Caffe2 erstellt und verwendet werden.
Maschinelles Lernen v / s Deep Learning
Bei jedem Algorithmus für maschinelles Lernen, sei es ein traditioneller oder ein Deep-Learning-Algorithmus, spielt die Auswahl der Merkmale im Datensatz eine äußerst wichtige Rolle, um die gewünschte Vorhersagegenauigkeit zu erzielen. Bei traditionellen Techniken des maschinellen Lernens ist diefeature selectionwird hauptsächlich durch menschliche Inspektion, Urteilsvermögen und tiefes Domänenwissen durchgeführt. Manchmal können Sie sich an einige getestete Algorithmen für die Funktionsauswahl wenden.
Der traditionelle Ablauf des maschinellen Lernens ist in der folgenden Abbildung dargestellt -
Beim Deep Learning erfolgt die Funktionsauswahl automatisch und ist Teil des Deep Learning-Algorithmus. Dies ist in der folgenden Abbildung dargestellt -
In Deep-Learning-Algorithmen feature engineeringerfolgt automatisch. Im Allgemeinen ist das Feature-Engineering zeitaufwändig und erfordert ein gutes Fachwissen. Um die automatische Merkmalsextraktion zu implementieren, fordern die Deep-Learning-Algorithmen normalerweise eine große Datenmenge an. Wenn Sie also nur Tausende und Zehntausende von Datenpunkten haben, liefert die Deep-Learning-Technik möglicherweise keine zufriedenstellenden Ergebnisse.
Bei größeren Daten liefern die Deep-Learning-Algorithmen im Vergleich zu herkömmlichen ML-Algorithmen bessere Ergebnisse mit dem zusätzlichen Vorteil, dass weniger oder gar keine Features entwickelt werden.