Deep Learning ist ein prominentes Thema im Bereich der künstlichen Intelligenz und erregt schon seit geraumer Zeit Aufmerksamkeit. Es hat aufgrund von Durchbrüchen, die über die menschlichen Fähigkeiten hinausgehen, in Bereichen wie Computer Vision (Computer Vision) und Gaming (Alpha GO) große Aufmerksamkeit erregt. Seit der letzten Umfrage ist das Interesse an Deep Learning deutlich gestiegen.
Das zeigt uns Google Trends:
Dieser Artikel ist ein guter nicht-technischer Artikel, wenn Sie daran interessiert sind, dieses Thema vorzustellen. Wenn Sie mehr über die neuesten Trends im Deep Learning erfahren möchten, finden Sie in diesem Artikel eine umfassende Zusammenfassung.
Hier möchten wir einen Lernpfad für Neulinge und diejenigen bieten, die Deep Learning weiter erforschen möchten. Sind Sie also bereit, sich auf die Reise zu begeben, um Deep Learning zu erobern? Machen wir uns auf den Weg.
Schritt 0: Bereiten Sie sich auf die Expedition vor
Es wird empfohlen, dass Sie die Grundkenntnisse des maschinellen Lernens verstehen, bevor Sie in den Bereich des vertieften Lernens einsteigen. „Learning Paths to Machine Learning“ ist eine umfassende Ressource, die Ihnen den Einstieg in dieses Fachgebiet erleichtert.
Wenn Sie eine kürzere Version wünschen, schauen Sie unten nach:
Grundlegende Mathematik, Ressource 1: „Mathematik | Khan Academy“ (insbesondere Analysis, Wahrscheinlichkeit und lineare Algebra)
Python-Grundlagen, Ressourcen: „Einführung in die Informatik“, EDX-Kurs
Statistik-Grundlagen, Ressourcen: „Einführung in die Statistik“, Udacity-Kurs
Grundlagen des maschinellen Lernens, Ressourcen: „Einführung in „Machine Learning“, Udacitys Kurs
Zeit: Empfohlen 2-6 Monate
Schritt 1: Richten Sie Ihre Maschine ein
Bevor Sie mit dem nächsten Schritt fortfahren, stellen Sie bitte sicher, dass Sie dies getan haben unterstützende Hardware. Die allgemeine Empfehlung sollte mindestens lauten:
Eine ausreichend gute GPU (4+ GB), vorzugsweise Nvidias
Eine ausreichende CPU (z. B. Intel Core i3 ist in Ordnung, Intel Pentium jedoch nicht) )
4GB RAM oder je nach Datensatz.
Wenn Sie sich immer noch nicht sicher sind, werfen Sie einen Blick auf diese Hardware-Anleitung
PS: Wenn Sie ein Hardcore-Gamer sind (und natürlich nicht nur ein Candy Crush-Spieler!), dann sind Sie hier genau richtig Wahrscheinlich haben Sie bereits die Hardware, die Sie benötigen.
Wenn Sie nicht über die erforderliche Hardware verfügen, können Sie einen Amazon Web Service (AWS) kaufen oder mieten. Hier finden Sie eine gute Anleitung zur Verwendung von AWS für Deep Learning.
Hinweis: Zu diesem Zeitpunkt muss keine Deep-Learning-Lernbibliothek installiert werden. Dies erfolgt in Schritt 3.
Schritt 2: Probieren Sie es aus
Da Sie nun über genügend Vorkenntnisse verfügen, können Sie mehr über Deep Learning erfahren.
Je nach persönlicher Vorliebe können Sie folgen:
Blog: (Ressource 1: „Grundlagen des Deep Learning“ Ressource 2: „Hacker's Guide to Neural Networks“)
Video: „Deep Learning Simplified“
Lehrbuch: „Neuronale Netze und Deep Learning“
Zusätzlich zu diesen Voraussetzungen sollten Sie auch gängige Deep-Learning-Bibliotheken und die Sprachen, in denen sie laufen, kennen . Hier ist eine (nicht umfassende) Liste (eine umfassendere Liste finden Sie auf der Wiki-Seite):
Caffe
DeepLearning4j
Tensorflow
Theano
Fackel
Einige andere berühmte Bibliotheken sind:
Mocha
neon
H2O
MXNet
Keras
Lasagne
Nolearn
Hier ist eine Liste von Deep-Learning-Bibliotheken, sortiert nach Sprache
Es wird empfohlen, Stanfords CS231n-Kursvorlesung zu lesen 12: Beliebte Übersicht über Deep-Learning-Bibliotheken
Dauer: 1-3 Wochen empfohlen
Schritt 3: Wählen Sie Ihren eigenen Abenteuerweg
Jetzt kommt der spaßige Teil! Deep Learning wurde in verschiedenen Bereichen angewendet und hat zu modernsten Ergebnissen geführt. Um dieses Feld zu betreten, müssen Sie als Leser einen Weg wählen, der zu Ihnen passt. Dies sollte eine praktische Erfahrung sein, damit Sie zusätzlich zu Ihrem aktuellen Verständnis eine geeignete Grundlage erhalten.
Hinweis: Jeder Pfad beinhaltet einen Einführungsblog, ein praktisches Projekt, die Deep-Learning-Programmbibliothek und für das Projekt erforderliche Hilfskurse. Verstehen Sie zunächst die Einführung, installieren Sie dann die erforderlichen Bibliotheken und beginnen Sie mit der Arbeit an Ihrem Projekt. Sollten Sie dabei auf Schwierigkeiten stoßen, nutzen Sie die entsprechenden Kurse zur Unterstützung.
Computer Vision mit Deep Learning
Einführung: „DL für Computer Vision“ Computer Vision Blog
Projekt: „FacialKeypoint Detection“ Tutorial zur Gesichts-Keypoint-Erkennung
Also erforderliche Bibliothek : Nolearn
Verwandte Kurse: „cs231n: Convolutional Neural Network Visual Recognition“
Deep Learning für die Verarbeitung natürlicher Sprache
Einführung in die Einführung: „DeepLearning, NLP und Repräsentationen“ („Deep Learning, Natural Language Processing and Representation“-Blog)
Projekt: „Deep Learning Chatbot“:
„Teil Eins“
„Zweiter Teil“
Erforderliche Bibliotheken: tensorflow
Verwandte Kurse: „cs224d: Anwendung von Deep Learning in der Verarbeitung natürlicher Sprache“
Deep Learning für Sprach-/Audioerkennung
Erste Schritte: „Deep Talk: Lessons Learned from Deep Learning“-News und entsprechendes Video.
Projekt: „Generieren von Musik mit Magenta (Tensorflow)“
Erforderliche Bibliotheken: Magenta,
Verwandte Kurse: „Deep Learning (Frühjahr 2016), cilvr Lab @ New York
Deep Learning Reinforcement Learning
Einführung und Projekt: „Deep Reinforcement Learning: Tischtennisspiel von Pixels“
Erforderliche Bibliotheken: Keine Anforderungen, zum Testen benötigen Sie jedoch openAI gym Ihr Modell
Verwandte Kurse: „cs294: Deep Reinforcement Learning“
Zeit: 1-2 Monate empfohlen
Schritt 4: Vertiefendes Deep Learning
ist jetzt (fast) in der Lage, sich einen Platz in der Deep Learning Hall of Fame zu sichern! Hier sind einige Tipps, um Ihre Fähigkeiten zu verbessern
Wählen Sie einen anderen Weg und wiederholen Sie die oben genannten Schritte
Oben nicht erwähnt (Beispiele: Deep Learning für den Handel, Deep Learning für die Optimierung der Energieeffizienz)
Nutzen Sie Ihre neu erlernten Fähigkeiten, um etwas zu erschaffen (denken Sie daran, mit großer Kraft kommt auch große Verantwortung)
Testen Sie Ihre Deep-Learning-Fähigkeiten (wie Kaggle)
Nehmen Sie am Deep Learning teil Communities (z. B. Google Groups)
Verfolgen Sie die neuesten Forschungsergebnisse und Forscher (z. B. „RE.WORK DL Summit“.“)
Zeit: Vorschlag – keine Obergrenze!
Lassen Sie uns insbesondere über die Verwendung von Python zum Entwickeln oder Erlernen von maschinellem Lernen sprechen. Es sollte als ein unverzichtbares Modul bezeichnet werden.
1 Diese drei sind unverzichtbar: Numpy, Pandas, Matplotlib.
2. In Bezug auf maschinelles Lernen ist Scikit Learn ein Modul, das viele Methoden des maschinellen Lernens vereint unterstützt eine Vielzahl von Methoden des maschinellen Lernens. Tensorflow hat auch großartige Beiträge geleistet und viele Theano-Entwickler eingestellt Entwicklung neuronaler Netze als Tensorflow, und wenn Sie an Google denken, wird die Geschwindigkeit der Updates definitiv nicht langsam sein.
4 Und ganz einfach, Keras ist ein sehr gutes Modul, das Tensorflow und Theano zugrunde liegt und daher unter Windows, MacOS und Linux verwendet werden kann.
5 Persönliche Karriere im Bereich maschinelles Lernen, ich verwende diese hauptsächlich.
Um allen das Lernen zu erleichtern und die Leistungsfähigkeit der Chinesen im Bereich des maschinellen Lernens zu fördern, habe ich meine eigenen Lehrvideos zu Scikit Learn, Theano, Keras und Tensorflow für Chinesisch erstellt, eine Einführungsreihe in maschinelles Lernen. Die Resonanz in China war nicht groß, aber viele Leute haben es auf YouTube gesehen. Ich hoffe, dass jeder die Macht des chinesischen Volkes unterstützen wird.
2. Keras (Deep Learning)
Keras ist ein Deep-Learning-Framework, das auf Theano basiert Design bezieht sich auf Torch, ist in der Python-Sprache geschrieben und eine hochmodulare neuronale Netzwerkbibliothek, die GPU und CPU unterstützt.
3. Lasagne (Deep Learning)Nicht nur ein köstliches italienisches Gericht, sondern auch eine Deep-Learning-Bibliothek mit ähnlichen Funktionen wie Keras, deren Design sich jedoch etwas von diesen unterscheidet.
4.Pylearn2
Pylearn ist ein auf Theano basierendes Bibliotheksprogramm, das die maschinelle Lernforschung vereinfacht. Es fasst viele häufig verwendete Modelle und Trainingsalgorithmen in der Deep-Learning- und Künstliche-Intelligenz-Forschung in einem einzigen experimentellen Paket zusammen, beispielsweise den stochastischen Gradientenabstieg.
5.NuPIC
NuPIC ist eine Plattform für maschinelle Intelligenz, die den HTM-Lernalgorithmus als Werkzeug verwendet. HTM ist eine genaue Berechnungsmethode für den Kortex. Der Kern von HTM ist ein zeitbasierter kontinuierlicher Lernalgorithmus und ein räumlich-zeitliches Muster der Speicherung und des Abrufs. NuPIC eignet sich für eine Vielzahl von Problemen, insbesondere für die Erkennung und Vorhersage von Anomalien aus Streaming-Datenquellen.
6. Nilearn
Nilearn ist ein Python-Modul, das Neuroimaging-Daten schnell statistisch erlernen kann. Es verwendet die Scikit-Learn-Toolbox in der Python-Sprache und einige Anwendungen für prädiktive Modellierung, Klassifizierung, Dekodierung und Konnektivitätsanalyse, um multivariate Statistiken durchzuführen.
7.PyBrain
Pybrain ist die Abkürzung für Reinforcement Learning, künstliche Intelligenz und eine auf der Python-Sprache basierende neuronale Netzwerkbibliothek. Ziel ist es, flexible, benutzerfreundliche und leistungsstarke Algorithmen für maschinelles Lernen bereitzustellen und Ihre Algorithmen in einer Vielzahl vordefinierter Umgebungen zu testen.
8.Pattern
Pattern ist ein Network-Mining-Modul in der Python-Sprache. Es bietet Tools für Data Mining, Verarbeitung natürlicher Sprache, Netzwerkanalyse und maschinelles Lernen. Es unterstützt Vektorraummodelle, Clustering, Support-Vektormaschinen und Perzeptrone und verwendet zur Klassifizierung die KNN-Klassifizierungsmethode.
9.Fuel
Fuel stellt Daten für Ihr maschinelles Lernmodell bereit. Es verfügt über eine Schnittstelle zum Teilen von Datensätzen wie MNIST, CIFAR-10 (Bilddatensatz) und Google's One Billion Words (Text). Sie nutzen es, um Ihre eigenen Daten auf vielfältige Weise zu ersetzen.
10.Bob
Bob ist ein kostenloses Signalverarbeitungs- und maschinelles Lerntool. Die Toolbox ist in Python und C++ geschrieben und soll effizienter sein und die Entwicklungszeit verkürzen. Sie besteht aus einer großen Anzahl von Softwarepaketen für die Verarbeitung von Bildbearbeitung, Audio- und Videoverarbeitung sowie maschinelles Lernen .
11.Skdata
Skdata ist ein Bibliotheksprogramm für maschinelles Lernen und statistische Datensätze. Dieses Modul bietet Standard-Python-Nutzung für Spielzeugprobleme, beliebte Computer Vision und Datensätze in natürlicher Sprache.
12.MILK
MILK ist ein Toolkit für maschinelles Lernen in Python-Sprache. Unter den vielen verfügbaren Klassifizierungen wie SVMS, K-NN, Random Forests und Entscheidungsbäumen werden hauptsächlich überwachte Klassifizierungsmethoden verwendet. Es führt auch die Funktionsauswahl durch. Diese Klassifikatoren werden auf vielfältige Weise kombiniert, um verschiedene Klassifizierungssysteme zu bilden, z. B. unüberwachtes Lernen, Affinitätsgoldausbreitung und von MILK unterstütztes K-Means-Clustering.
13. IEPY
IEPY ist ein Open-Source-Tool zur Informationsextraktion, das sich auf die Beziehungsextraktion konzentriert. Es richtet sich hauptsächlich an Benutzer, die Informationen aus großen Datensätzen extrahieren müssen, und an Wissenschaftler, die neue Algorithmen ausprobieren möchten.
14.Quepy
Quepy ist ein Python-Framework, das Abfragen in der Datenbankabfragesprache durch Ändern von Fragen in natürlicher Sprache durchführt. Es kann einfach als verschiedene Arten von Problemen bei Abfragen in natürlicher Sprache und Datenbanken definiert werden. So können Sie Ihr eigenes System erstellen, das natürliche Sprache ohne Programmieraufwand in Ihre Datenbank einspeist.
Quepy bietet jetzt Unterstützung für Sparql- und MQL-Abfragesprachen. Und es gibt Pläne, es auf andere Datenbankabfragesprachen auszuweiten.
15.Hebel
Hebel ist ein Bibliotheksprogramm für Deep Learning neuronaler Netze in der Python-Sprache. Es verwendet PyCUDA für GPU und CUDA-Beschleunigung. Es ist das wichtigste Werkzeug für neuronale Netzwerkmodelle und kann Aktivierungsfunktionen für eine Reihe verschiedener Aktivitätsfunktionen bereitstellen, wie z. B. Dynamik, Nesterov-Dynamik, Signalverlust und Stoppmethoden.
16.mlxtend
Es ist ein Bibliotheksprogramm, das aus nützlichen Tools und Erweiterungen für tägliche Data-Science-Aufgaben besteht.
17.nolearn
Dieses Paket enthält eine große Anzahl von Hilfsmodulen, die Ihnen bei der Erledigung maschineller Lernaufgaben helfen können. Viele dieser Module funktionieren mit scikit-learn, andere sind oft nützlicher.
18.Ramp
Ramp ist ein Bibliotheksprogramm, das Lösungen zur Beschleunigung des Prototypings beim maschinellen Lernen in der Python-Sprache entwickelt. Es handelt sich um ein leichtes, auf Pandas basierendes, steckbares Framework für maschinelles Lernen. Es bietet eine einfache deklarative Syntax-Explorationsfunktion für vorhandene maschinelle Lern- und Statistiktools (wie scikit-learn, rpy2 usw.). und effizient.
19.Feature Forge
Diese Reihe von Tools erstellt und testet Funktionen für maschinelles Lernen über eine mit scikit-learn kompatible API.
Diese Bibliothek bietet eine Reihe von Tools, die in vielen Programmen für maschinelles Lernen nützlich sein werden. Wenn Sie dieses Tool von scikit-learn verwenden, werden Sie das Gefühl haben, dass Ihnen sehr geholfen wurde. (Obwohl dies nur funktioniert, wenn Sie unterschiedliche Algorithmen haben.)
20. REP
Bei REP geht es um eine harmonische, reproduzierbare Durchführung. Eine Umgebung, die durch die Datenbewegung bereitgestellt wird Treiber.
Es verfügt über einen einheitlichen Klassifikator-Wrapper, der eine Vielzahl von Operationen bereitstellt, wie z. B. TMVA, Sklearn, XGBoost, uBoost usw. Und es kann Klassifikatoren parallel für eine Population trainieren. Es bietet auch eine interaktive Handlung.
21.Python Learning Machine-Beispiele
Eine Sammlung einfacher Software, die mit dem maschinellen Lernen von Amazon erstellt wurde.
22.Python-ELM
Dies ist eine Implementierung einer extremen Lernmaschine basierend auf Scikit-Learn in der Python-Sprache.
23.gensim
Themenmodell-Python-Implementierung
Skalierbare statistische Semantik
Nur-Text-Dokumente auf semantische Struktur analysieren
Semantisch abrufen ähnliche Dokumente