ホームページ >バックエンド開発 >Python チュートリアル >Python ディープラーニング ガイド
ディープラーニングは人工知能の分野で顕著なトピックであり、かなり前から注目を集めています。コンピュータービジョン (Computer Vision) やゲーム (Alpha GO) などの分野で人間の能力を超えた画期的な進歩があり、大きな注目を集めています。前回の調査以来、ディープラーニングへの関心が大幅に高まっています。
下の画像は Google トレンドで示されているものです:
このトピックに興味がある場合は、この記事は技術以外の優れた入門書です。ディープラーニングの最新トレンドについて知りたい場合は、この記事が包括的にまとめられています。
ここでは、初心者やディープラーニングをさらに探求したい人に学習パスを提供することを目的としています。ディープラーニングを征服する旅に乗り出す準備はできていますか?さあ、出発しましょう。
ステップ 0: 遠征の準備をする
詳細な学習の分野に入る前に、機械学習の基本知識を理解することをお勧めします。 「機械学習への学習パス」は、この分野での学習を開始するための完全なリソースです。
短いバージョンが必要な場合は、以下をご覧ください:
基本数学、リソース 1: 「数学 | カーン アカデミー」 (特に微積分、確率、線形代数)
Python の基本、リソース: 「コンピューター サイエンスの紹介」 "、EDX コース
統計の基礎、リソース:「統計入門」、Udacity のコース
機械学習の基礎、リソース:「機械学習の入門」、Udacity のコース
時間: 2 ~ 6 を推奨
ステップ 1 : マシンをセットアップします
次のステップに進む前に、サポートされているハードウェアがあることを確認してください。一般的な推奨事項は少なくとも次のとおりです:
十分なGPU (4 GB以上)、できればNvidia製
十分なCPU (Intel Core i3などはOKですが、Intel Pentiumは不可)
4GB RAMまたはデータによって異なりますセット。
まだよくわからない場合は、このハードウェア ガイドをご覧ください
PS: あなたがハードコア ゲーマー (もちろん、キャンディ クラッシュ プレーヤーだけではありません!) であれば、おそらく必要なハードウェアをすでに持っているでしょう。
必要なハードウェアをお持ちでない場合は、アマゾン ウェブ サービス (AWS) を購入またはレンタルできます。これは、深層学習に AWS を使用するための優れたガイドです。
注: この段階では深層学習ライブラリをインストールする必要はありません。これらはステップ 3 で行われます。
ステップ 2: 試してみる
十分な予備知識が得られたので、ディープ ラーニングについてさらに詳しく学ぶことができます。
個人的な好みに応じて、以下をフォローできます:
ブログ: (リソース 1: 「ディープラーニングの基礎」 リソース 2: 「ハッカーのニューラル ネットワーク ガイド」)
ビデオ: 「簡略化されたディープ ラーニング」
教科書: "ニューラル ネットワーク」ネットワークとディープ ラーニング》
これらの前提条件に加えて、一般的なディープ ラーニング ライブラリとそれを実行する言語についても知っておく必要があります。これは (包括的ではない) リストです (より包括的なリストについては wiki ページを確認してください):
Caffe
DeepLearning4j
Tensorflow
Theano
Torch
その他の有名なライブラリには次のものがあります:
Mocha
neon
H2O
MXNet
Keras
Lasagne
Nolearn
ここに言語別に分類された深層学習ライブラリのリストがあります
スタンフォードの cs231n コースを読むことをお勧めします 講義 12: 人気のある深層学習ライブラリの概要
期間: 推奨 1 ~ 3 週間
ステップ 3: 自分の冒険を選択してください
ここからが楽しい部分です!ディープラーニングはさまざまな分野で応用され、最先端の成果をもたらしています。この分野に参入するには、読者であるあなたが自分に合った道を選択する必要があります。これは、現在の理解に加えて適切な基礎を身につけるための実践的な経験である必要があります。
注: 各パスには、入門ブログ、実践的なプロジェクト、深層学習プログラム ライブラリ、プロジェクトに必要な補助コースが含まれています。まずは概要を理解してから、必要なライブラリをインストールして、プロジェクトの作業を開始してください。これに関して問題が発生した場合は、関連するサポート コースをご利用ください。
深層学習によるコンピューター ビジョン
概要: 「コンピューター ビジョンの DL」コンピューター ビジョン ブログ
プロジェクト: "FacialKeypoint Detection" 顔のキーポイント検出チュートリアル
必要なライブラリ: Nolearn
関連コース: "cs231n: Volume Accumulated Neural Network Visual認識」
自然言語処理のための深層学習
概要: 「深層学習、NLP、および表現」 (ブログ「深層学習、自然言語処理および表現」)
プロジェクト: 「深層学習チャットボット」 :
「パート 1」 "
"パート 2"
必要なライブラリ: tensorflow
関連コース: "cs224d: 自然言語処理における深層学習の応用"
音声/音声認識のための深層学習
入門: "Deep Talk: Lessons Learned" from Deep Learning」のニュースと対応するビデオ。
プロジェクト: 「Magenta (tensorflow) による音楽の生成」
必要なライブラリ: Magenta、
関連コース: 「Deep Learning (Spring 2016)、cilvr Lab @ New York」
Deep Learning のための強化学習
はじめにプロジェクト: 「深層強化学習: ピクセルからのピンポン ゲーム」
必要なライブラリ: 要件はありません。ただし、モデルをテストするには openAI ジムが必要です
関連コース: 「cs294: 深層強化学習」
時間: 推奨 1-2数か月
ステップ 4: ディープ ラーニングを深く掘り下げる
これで、ディープ ラーニングの殿堂入りを (ほぼ) 獲得できるようになりました。今後の道は長くて奥が深い (冗談です)。実際、重要なことはまだ残っています。ここで、この新しいスキルに慣れて使用してみましょう
ディープ ラーニングについては、上記の手順を繰り返してください (例: 取引のためのディープ ラーニング、エネルギー効率を最適化するためのディープ ラーニング)。
新しく学んだスキルを使って何かを作成します (大きな力には大きな責任が伴うことを忘れないでください) 自分の深さをテストする スキルを学ぶ (Kaggle など) ディープ ラーニング コミュニティ (Google グループなど) に参加する 最新情報をフォローする研究結果と研究者 (「RE.WORK DL Summit」など) 時間: 推奨事項 - 上限なし! 具体的には、Python を使用して機械学習を開発または学習することは、ディープ ラーニングの重要なモジュールです1. Python の科学的操作、データの並べ替え、画像の結果を知るには、numpy、pandas、matplotlib の 3 つのモジュールが不可欠です。
2. 機械学習の観点から、scikit learn は多くの機械を統合するモジュールです。さまざまな機械学習手法をサポートしており、プロジェクトに合った手法を常に見つけることができます3. Tensorflow も先進的で、ニューラル ネットワークに多大な貢献をしており、多くの Theano を採用しています。開発者にとって、tensorflow より優れたものはありません。Google のような大企業であれば、間違いなく更新に時間がかかることはありません。 Tensorflow と Theano なので、Windows、MacOS、Linux で使用できます
5. 他にも使用できるモジュールはたくさんありますが、私の個人的な機械学習のキャリアでは主にこれらを使用します。みんなの学習を促進し、機械学習の分野における中国人の力を促進するために、私は独自の scikit learn、Theano、Keras、tensorflow の中国語教育ビデオのセットと、機械学習の入門シリーズを作成しました。中国での反応はあまり良くありませんが、YouTubeで多くの人が視聴しました。皆さんも中国人民の力を応援していただければ幸いです。
Python機械学習ライブラリとディープラーニングライブラリの概要
1. Scikit-learn(強くお勧めします)
Scikit-learnは、Scipyに基づいて構築された機械学習用のPythonモジュールであり、その特徴は分類のための多様なアルゴリズムです。 、回帰とクラスタリングには、サポート ベクター マシン、ロジスティック回帰、単純ベイズ分類器、ランダム フォレスト、勾配ブースティング、クラスタリング アルゴリズム、DBSCAN が含まれます。また、Python の数値および科学ライブラリである Numpy と Scipy も設計されました
2. Keras (深層学習)
3. ラザニア (ディープラーニング)
おいしいイタリア料理だけでなく、Kerasと同様の機能を備えたディープラーニングライブラリですが、デザインはそれらとは少し異なります。
4.Pylearn2
Pylearn は、機械学習の研究を簡素化する Theano ベースのライブラリ プログラムです。深層学習や人工知能の研究で一般的に使用される多くのモデルとトレーニング アルゴリズムを、確率的勾配降下法などの単一の実験パッケージにカプセル化します。
5.NuPIC
NuPIC は、HTM 学習アルゴリズムをツールとして使用する機械知能プラットフォームです。 HTM は皮質の正確な計算方法です。 HTM の中核は、時間ベースの継続学習アルゴリズムと、記憶と呼び出しの時空間パターンです。 NuPIC は、さまざまな問題、特にストリーミング データ ソースからの異常検出と予測に適しています。
6. Nilearn
Nilearn は、神経画像データを迅速に統計的に学習できる Python モジュールです。 Python 言語の scikit-learn ツールボックスと、予測モデリング、分類、デコード、接続性分析用のいくつかのアプリケーションを使用して、多変量統計を実行します。
7.PyBrain
Pybrainとは、Python言語をベースとした強化学習、人工知能、ニューラルネットワークライブラリの略称です。 その目標は、柔軟で使いやすく強力な機械学習アルゴリズムを提供し、さまざまな事前定義された環境でアルゴリズムをテストすることです。
8.Pattern
Pattern は、Python 言語のネットワーク マイニング モジュールです。データマイニング、自然言語処理、ネットワーク分析、機械学習のためのツールを提供します。ベクトル空間モデル、クラスタリング、サポート ベクター マシン、パーセプトロンをサポートし、分類には KNN 分類法を使用します。
9.Fuel
Fuel は、機械学習モデルのデータを提供します。 MNIST、CIFAR-10 (画像データセット)、Google の One Billion Words (テキスト) などのデータセットを共有するためのインターフェイスを備えています。これを使用して、さまざまな方法で自分のデータを置き換えます。
10.Bob
Bob は、無料の信号処理および機械学習ツールです。そのツールボックスは Python と C++ で共同作成されており、より効率的で開発時間を短縮できるように設計されており、画像処理ツール、音声およびビデオ処理、機械学習、パターン認識を行うための多数のソフトウェア パッケージで構成されています。 。
11.Skdata
Skdata は、機械学習および統計データセット用のライブラリ プログラムです。このモジュールは、おもちゃの問題、一般的なコンピューター ビジョン、自然言語データセットに対する標準的な Python の使用法を提供します。
12.MILK
MILK は、Python 言語の機械学習ツールキットです。 SVMS、K-NN、ランダム フォレスト、デシジョン ツリーなど、利用可能な多くの分類の中で、主に教師付き分類手法を使用します。 また、機能の選択も実行されます。 これらの分類器はさまざまな方法で結合され、教師なし学習、親和性ゴールド伝播、MILK によってサポートされる K 平均法クラスタリングなどのさまざまな分類システムを形成します。
13.IEPY
IEPY は、関係性抽出に焦点を当てたオープンソースの情報抽出ツールです。これは主に、大規模なデータセットから情報を抽出する必要があるユーザーと、新しいアルゴリズムを試したい科学者を対象としています。
14.Quepy
Quepy は、自然言語の質問を変更することでデータベース クエリ言語でクエリを実行する Python フレームワークです。これは、自然言語およびデータベース クエリにおけるさまざまな種類の問題として単純に定義できます。したがって、コーディングせずに自然言語をデータベースに入力する独自のシステムを構築できます。
現在、Quepy は Sparql および MQL クエリ言語のサポートを提供しています。また、他のデータベース クエリ言語にも拡張する計画があります。
15.Hebel
Hebel は、Python 言語でのニューラル ネットワークの深層学習用のライブラリ プログラムであり、GPU と CUDA アクセラレーションに PyCUDA を使用します。これはニューラル ネットワーク モデルにとって最も重要なタイプのツールであり、ダイナミクス、ネステロフ ダイナミクス、信号損失、停止方法など、さまざまなアクティビティ関数のアクティベーション関数を提供できます。
16.mlxtend
これは、日常のデータ サイエンス タスクに役立つツールと拡張機能で構成されるライブラリ プログラムです。
17.nolearn
このパッケージには、機械学習タスクの完了に役立つ多数のユーティリティ モジュールが含まれています。これらのモジュールの多くは scikit-learn で動作し、他のモジュールの方が便利な場合もあります。
18.Ramp
Ramp は、Python 言語での機械学習のプロトタイピングを高速化するソリューションを開発するライブラリ プログラムです。これは、Python 言語の既存の機械学習および統計ツール (scikit-learn、rpy2 など) にシンプルな宣言構文探索機能を提供する、機械学習用の軽量のパンダベースのプラグイン可能なフレームワークです。アルゴリズムと変換を迅速に実装し、効率的に。
19.機能鍛造
この一連のツールは、scikit-learn と互換性のある API を通じて機械学習関数を作成およびテストします。
このライブラリは、多くの機械学習プログラムで役立つツールのセットを提供します。 scikit-learn このツールを使用すると、非常に助けられたと感じるでしょう。 (ただし、これはアルゴリズムが異なる場合にのみ機能します。)
20. REP
REP は、調和のとれた再現可能な方法でデータ移動ドライバーを指示するために提供される環境です。
これには、TMVA、Sklearn、XGBoost、uBoost などのさまざまな操作を提供する統合分類子ラッパーが含まれています。また、母集団に対して並行して分類器をトレーニングできます。インタラクティブなプロットも提供します。
21.Python Learning Machine サンプル
Amazon の Machine Learning で構築されたシンプルなソフトウェアのコレクション。
22.Python-ELM
scikit-learnをベースとした極限学習マシンをPython言語で実装したものです。
23.gensim
トピックモデルのPython実装
スケーラブルな統計セマンティクス
プレーンテキストドキュメントの意味構造の分析
意味的に類似したドキュメントの取得