Heim  >  Artikel  >  Backend-Entwicklung  >  Python Deep Learning-Leitfaden

Python Deep Learning-Leitfaden

伊谢尔伦
伊谢尔伦Original
2017-01-23 13:29:243570Durchsuche

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:

Python Deep Learning-Leitfaden

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.

Zusammenfassung der Python-Bibliothek für maschinelles Lernen und der Deep-Learning-Bibliothek


1. Scikit-learn (sehr empfehlenswert)

Scikit-learn ist Basierend auf Scipy ist ein Python-Modul, das für maschinelles Lernen entwickelt wurde. Es bietet eine Vielzahl von Klassifizierungs-, Regressions- und Clustering-Algorithmen, darunter Support-Vektor-Maschinen, logistische Regression, naive Bayes-Klassifikatoren, Random Forests, Gradient Boosting und Clustering-Algorithmen. Außerdem wurden die numerischen und wissenschaftlichen Python-Bibliotheken Numpy und Scipy entworfen

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn