[PYTHON] Organisation von Plattformen für maschinelles Lernen und tiefes Lernen

Einführung

In letzter Zeit ist die Offenheit der Plattform populär geworden. Lassen Sie uns daher die Plattform für maschinelles Lernen und die Plattform für tiefes Lernen (Framework) neu organisieren.

Hauptplattformen

PaaS-Service

Name URL
Google Cloud Platform https://cloud.google.com/
Azure Machine Learning https://azure.microsoft.com/ja-jp/services/machine-learning
Amazon Machine Learning https://aws.amazon.com/jp/machine-learning
Bluemix IBM Watson https://www.ibm.com/watson/

Lernrahmen (Python)

Name URL
Theano http://deeplearning.net/software/theano/index.html
TensorFlow https://www.tensorflow.org/
Caffe http://caffe.berkeleyvision.org/
Chainer http://chainer.org/
Keras https://keras.io/

Eine kurze Beschreibung des PaaS-Dienstes

Die von jedem Anbieter angebotenen Dienstleistungen umfassen vorab erlernte Modellübersetzungen und Bild- / Videoerkennung.

Google Cloud Platform Screen Shot 0029-07-04 at 10.53.49 PM.png

Es wird eine von Google bereitgestellte Plattform für maschinelles Lernen sein. Ein verwalteter Dienst, der es einfach macht, Modelle für maschinelles Lernen für alle Daten unabhängig von ihrer Größe zu erstellen. Sie können TensorFlow auch in der Cloud verwenden.

Inhalt des maschinellen Lernens

・ Cloud Machine Learning Engine Sie können aus verschiedenen Daten wie überwachter Regression / Klassifizierung und unbeaufsichtigtem Clustering lernen. Der verwendete Algorithmus wird nicht offenbart.

Azure Machine Learning Screen Shot 0029-07-04 at 10.56.59 PM.png

Azure Machine Learning ist ein Cloud Predictive Analysis-Dienst, mit dem Sie schnell Vorhersagemodelle als Analyselösung erstellen und bereitstellen können. Mit einer Bibliothek gebrauchsfertiger Algorithmen können Sie Modelle auf einem mit dem Internet verbundenen PC erstellen und schnell eine Vorhersagelösung bereitstellen.

Inhalt des maschinellen Lernens

· Azure ML Sie können auch aus verschiedenen Daten wie überwachter Regression / Klassifizierung und unbeaufsichtigtem Clustering lernen. Sie können den zu verwendenden Algorithmus auswählen. (Es gibt zu viele Algorithmen und es ist über Spezifikation.)

Amazon Machine Learning amazon_machine_learning.png

Amazon Machine Learning ist ein verwalteter Dienst zum Erstellen von Modellen für maschinelles Lernen und zum Generieren von Vorhersagen, mit dem Sie robuste, skalierbare und erweiterte Anwendungen entwickeln können. Mit Amazon Machine Learning können Sie leistungsstarke Technologien für maschinelles Lernen verwenden, ohne dass Sie umfassendes Hintergrundwissen über Algorithmen und Techniken des maschinellen Lernens benötigen.

Inhalt des maschinellen Lernens

・ Amazon Machine Learning Sie können auch aus verschiedenen Daten wie überwachter Regression / Klassifizierung und unbeaufsichtigtem Clustering lernen.

[Verwendeter Algorithmus] Regression: Lineare Regression Klassifizierung Binäre Klassifizierung: Logistische Regression Klassifizierung mehrerer Klassen: Multinomiale logistische Regression

Bluemix IBM Watson IBM-Watson-Logo.png

IBM definiert KI als "Augmented Intelligence" und nicht als "Künstliche Intelligenz", um das menschliche Wissen zu erweitern und zu verbessern, und bietet Kunden IBM Watson als kognitive Kernlösung. Es bietet. IBM Watson ist eine Technologieplattform, die die Verarbeitung natürlicher Sprache und maschinelles Lernen verwendet, um Erkenntnisse aus großen Mengen unstrukturierter Daten zu gewinnen.

Inhalt des maschinellen Lernens

Sie können auch aus verschiedenen Daten wie überwachter Regression / Klassifizierung und unbeaufsichtigtem Clustering lernen. Da es mehrere gelernte APIs gibt, ist es auch praktisch, einen neuen Dienst zu erstellen.   [Verwendeter Algorithmus] Privat Es scheint, dass "mehrere verfügbare Algorithmen in Betracht gezogen werden und derjenige ausgewählt wird, der Ihren Anforderungen entspricht."

Eine kurze Beschreibung des Lernrahmens

Es ist ein von OSS vertriebenes Framework.

Theano main-thumb-t-449747-200-vosprwwgrsgxbcuogpvzqfdrnccpscnt.jpeg

http://deeplearning.net/software/theano/index.html

Viele globale Forscher, die als Großvater des Deep-Learning-Frameworks bezeichnet werden, verwenden Theano, das in Python geschrieben wurde.

Verdienst und Fehler

verdienen
Das Berechnungsdiagramm ist leicht zu sehen und zu abstrahieren
Rekursive neuronale Netze passen gut in Rechengraphen
Hochwertige Wrapper (Keras, Lasagne) sparen Zeit
Fehler
Die Fehlermeldung ist möglicherweise nicht hilfreich
Das Kompilieren größerer Modelle kann länger dauern
Unzureichende Unterstützung für vorgefertigte Modelle
Einzelne GPU

TensorFlow tensor-flow_opengraph_h.png

https://www.tensorflow.org/

TnesorFlow ist die neueste Bibliothek neuronaler Netze, die von Google im Rahmen des Projekts "Google Brain" entwickelt wurde.

Funktionen auf hoher Ebene können implementiert und Berechnungen in Datenflüssen und Diagrammen dargestellt werden. Das Innere der Bibliothek ist in C ++ erstellt, Python ist jedoch ebenfalls enthalten und verfügt über eine Struktur, die flexibel verwendet werden kann.

Verdienst und Fehler

verdienen
Computational Graph Abstraktion
Die Kompilierungszeit ist kürzer als bei Theano
Visualisieren Sie mit TensorBoard
Parallele Verarbeitung von Daten und Modell
Fehler
Langsamer als andere Frameworks
Es gibt nicht viele vorgefertigte Modelle.
Computergraphen sind langsam, weil sie nur Python sind.
Keine kommerzielle Unterstützung
Besuchen Sie Python, um jede neue Trainingseinheit zu laden
Dynamische Eingabe ist fehleranfällig in großen Softwareprojekten

Caffe caffe-logo.jpg

http://caffe.berkeleyvision.org/

Caffe ist eine bekannte und weit verbreitete Bildverarbeitungsbibliothek, die eine Portierung von Matlabs schnellem Faltungsnetzwerk in C und C ++ darstellt. Caffe konzentriert sich auf die Bildverarbeitung und zielt nicht auf andere vertiefte Lernmethoden wie Text-, Audio- und Zeitreihendaten ab.

Verdienst und Fehler

verdienen
Geeignet für Feed-Forward-Netzwerke und Bildverarbeitung
Geeignet zur Feinabstimmung bestehender Netzwerke
Trainieren Sie Ihr Modell, ohne Code zu schreiben
Die Python-Oberfläche ist sehr nützlich
Fehler
C auf der neuen GPU-Ebene++/Müssen CUDA schreiben
Nicht für rekursive neuronale Netze geeignet
Für große Netzwerke (GoogLeNet,ResNet) Schwer zu bedienen
Nicht erweiterbar
Keine kommerzielle Unterstützung
Es braucht Zeit, um sich zu entwickeln

Chainer tensor-flow_opengraph_h.png

http://chainer.org/

Chainer ist ein Open Source-Framework für neuronale Netzwerke mit einer Python-API. Das Kernentwicklungsteam ist in Preferred Networks aktiv, einem in Tokio ansässigen Startup für maschinelles Lernen mit vielen Ingenieuren der Universität Tokio. Bis zum Aufkommen von DyNet von CMU und PyTorch von Facebook war Chainer das wichtigste neuronale Netzwerk-Framework für dynamische Berechnungsgraphen und ein Netzwerk, das Eingaben unterschiedlicher Länge ermöglichte und es für die Verarbeitung natürlicher Sprache beliebt machte. Es ist eine hohe Funktion. Mit seinen eigenen Benchmarks ist Chainer schneller als andere Frameworks für Python und verfügt über TensorFlow, die langsamste Testgruppe, einschließlich MxNet und CNTK.

Verdienst und Fehler

verdienen
Es kann ein intuitives Berechnungsdiagramm erstellt werden
Relativ einfach zu debuggen
Fehler
Die Berechnungsgeschwindigkeit ist tendenziell langsam
Ich mache mir Sorgen, ob ich mit dem Update Schritt halten kann
Die Benutzerpopulation ist immer noch klein(Außerhalb Japans)

Keras 1b042898-d4d8-4a90-b7aa-831eea3a5f83.png

https://keras.io/

Keras ist eine Bibliothek, die an der Spitze von Theano und TensorFlow verwendet wird. Sie ist kein Wrapper für das gründliche Erlernen von Hochgeschwindigkeitsberechnungsbibliotheken und bietet eine intuitive API.

Wenn Sie mit dem tiefen Lernen beginnen, fällt die Programmierbarriere auf. Mit Keras können Sie jedoch schnell ein einfaches Netzwerk erlernen, auch wenn Sie keine Programmiererfahrung haben.

verdienen
Wahrscheinlich in Ordnung, auch wenn Sie keine Programmiererfahrung haben
Das Framework wächst weiterhin schnell
Viele Benutzer
Keras ist wohl der anfängerfreundlichste
Fehler
Der Inhalt des Prozesses ist aus dem Code völlig unbekannt
Es ist mühsam, die ursprüngliche Verarbeitung zuzulassen
Kann nach dem Erstellen des Berechnungsdiagramms nicht geändert werden

schließlich

Es gibt keinen Unterschied zwischen PaaS-Unternehmen, was sie erreichen können. Ich denke, das Spiel wird einfach zu bedienen sein.

In Bezug auf das Framework wurde neulich SONY veröffentlicht! Es scheint, dass OSS in Zukunft weiter zunehmen wird!

Ich denke, es ist am besten zu wählen, was Sie brauchen, um das zu erreichen, was Sie tun möchten, aber ich denke, dass die Grundlagen wie Algorithmusauswahl und neuronales Design absolut notwendig sind.

Recommended Posts

Organisation von Plattformen für maschinelles Lernen und tiefes Lernen
Maschinelles Lernen und mathematische Optimierung
Künstliche Intelligenz, maschinelles Lernen, tiefes Lernen zu implementieren und zu verstehen
Bedeutung des maschinellen Lernens und des Mini-Batch-Lernens
Klassifikation und Regression beim maschinellen Lernen
Maschinelles Lernen
Tiefes Lernen
Anfänger des maschinellen Lernens nehmen an Courseras Deep Learning-Kurs teil
[Maschinelles Lernen] OOB (Out-Of-Bag) und sein Verhältnis
Einführung in Deep Learning ~ Falten und Pooling ~
Bedeutung von Deep-Learning-Modellen und -Parametern
Persönliche Notizen und Links zum maschinellen Lernen ① (Maschinelles Lernen)
Zusammenfassung der Klassifizierung und Implementierung von Algorithmen für maschinelles Lernen
Erstellen einer Umgebung für Python und maschinelles Lernen (macOS)
"OpenCV-Python Tutorials" und "Praktisches maschinelles Lernsystem"
Deep Learning Memorandum
Python Deep Learning
Deep Learning × Python
[Memo] Maschinelles Lernen
Klassifikation des maschinellen Lernens
Beispiel für maschinelles Lernen
Studieren Sie maschinelles Lernen und Informatik. Ressourcenliste
Chainer und Deep Learning durch Funktionsnäherung gelernt
Empfohlene Studienreihenfolge für Anfänger des maschinellen Lernens / Deep Learning
Ein Memorandum zum Studieren und Implementieren von Deep Learning
Erweitern und erweitern Sie Ihren eigenen Deep Learning-Datensatz
[Hinweis] Python beim Starten von maschinellem Lernen / Deep Learning [Links]
Maschinelles Lernen Aufteilung der Trainingsdaten und Lernen / Vorhersage / Verifizierung
Paralleles Lernen von Deep Learning durch Keras und Kubernetes
Einführung in Deep Learning ~ Lokalisierungs- und Verlustfunktion ~
[Für Anfänger künstlicher Intelligenz] Maschinelles Lernen / Deep Learning Programming Lernpfad und Nachschlagewerke
Zusammenfassung des Lernprogramms für maschinelles Lernen
Erstes tiefes Lernen ~ Kampf ~
Maschinelles Lernen mit Raspberry Pi 4 und Coral USB Accelerator
Maschinelles Lernen Über Overlearning
Ich habe den Deep Learning Library Chainer installiert und verwendet
Python: Deep Learning-Praxis
"Apache Flink" neue maschinelle Lernoberfläche und Flink-Python-Modul
Deep Learning / Aktivierungsfunktionen
Deep Learning von Grund auf neu
Maschinelles Lernen: Betreut --AdaBoost
Logistische Regression beim maschinellen Lernen
[Maschinelles Lernen] SVM sowohl aus Scikit-Lernen als auch aus Mathematik verstehen
Deep Learning Bildanalyse beginnend mit Kaggle und Keras
Einfaches maschinelles Lernen mit Scikit-Learn und Flask ✕ Web App
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 1 und 2
Deep Learning 1 Übung des Deep Learning
Maschinelles Lernen unterstützt Vektormaschine
Deep Learning / Cross Entropy
Erstes tiefes Lernen ~ Vorbereitung ~
Erstes tiefes Lernen ~ Lösung ~
Lineare Regression des maschinellen Lernens
Ich habe versucht, tief zu lernen
Memo zum Kurs für maschinelles Lernen
Bibliothek für maschinelles Lernen dlib
Maschinelles Lernen (TensorFlow) + Lotto 6
Vorhersagen von Tags durch Extrahieren von Musikfunktionen mit Deep Learning
Lerne irgendwie maschinelles Lernen
DNN (Deep Learning) Library: Vergleich von Chainer und TensorFlow (1)