オンラインコースを受講せずに機械学習を学ぶ最良の方法とは?
What is the best way to start learning machine learning and deep learning without taking any online courses? originally appeared on Quora: the place to gain and share knowledge, empowering people to learn from others and better understanding the world.
Answer by Eric Jang, Research engineer at Google Brain, on Quora:
Let me first first from saying that is no single “best way” to learn machine learning, and you should find a system that works well for you.まず最初に、機械学習を学ぶ「最良の方法」は存在せず、自分にとってうまくいくシステムを見つけるべきだということをお話しします。 コースの構造を好む人もいれば、自分のペースで本を読むのが好きな人もいますし、すぐにコードに飛び込みたい人もいます。
私は 2012 年に Andrew Ng の機械学習 Coursera コースから始めましたが、線形代数も統計や機械学習についてもほとんど何も知りませんでした。 このクラスはニューラルネットワークをカバーしていますが、ディープラーニングのコースではないことに注意してください。 このコースでは、「機械学習」を数値最適化以外の何ものでもないものとして定式化しており、とても面白かったです。
オンラインコースが遅すぎる場合は、おそらく Goodfellow、Bengio、および Courville による Deep Learning book が最高の統合リソースとなるでしょう。 統計的/数学的に厳密なバックグラウンドは、有用な Deep Learning を行うために必要ではありませんが、モデルがなぜ機能するか/しないか、そして何が役に立つかについて仮説を立てるのに非常に役立ちます。 Murphy の確率的機械学習の教科書は、数学的に厳密な ML の素晴らしい基礎となります (図も素晴らしいです!)
DL の本を読み終えたら、論文のいくつかを自分で実装して、深層学習のサブ分野/サブ分野の 1 つに「特化」することができます。 いくつかのトピックの例です。
- ベイジアンディープラーニング(ニューラルネットとグラフィカルモデルの組み合わせ)
- ディープ強化学習(AlphaGo、アタリ打ちAI、ロボット)
- 生成モデル(GANs、PixelCNN.NET)
- 逆境法(GAN、Actor-Critic)
- ディープラーニングの理論
- コンピュータビジョン
- NLP/音声(翻訳、キャプション、seq2seqモデル)
- 記号的推論(e.g.g. 証明解法)
- リカレントニューラルネットワーク(例 LSTM、外部記憶、注意)
- アプリケーション(がんの分類、タンパク質の折り畳み、ビデオからの読唇術などのドメイン固有の問題の解決)
- メタ学習/学習(Synthetic Gradients、パスネット)
- Progressive Nets
- DenseNet
- Synthetic Gradients
- Neural Turing Machines
- Embed-to-Control
- ニューラル機械翻訳
- 機械学習について。 やる気のある科学者が自宅で自動売買システムを構築するのは、どれくらい難しいですか?
- コンピュータプログラミング:初心者のプログラマーを見分ける方法を教えてください。
- 学習。 どうすれば、より速く、より良く考えることができますか?
- ベイズ型学習(Bayesian Neural Nets、Neural Nets、Graphical Nets)
Deep Learning分野はここ数年で劇的に拡大し、短時間でDeep Learningのすべてのサブフィールドを理解することは現実的ではないところまで来ています。 1つの分野を極めることで、他の分野も学びやすくなると思います。 これらの分野には、タスクをエンドツーエンドで学習するためにディープラーニングの表現力を利用するという事実以外に、もうそれほど多くの共通点はありませんし、(理論的なコンピュータ科学というよりも)一般的に実験的な趣があります。
最近、最も興味深い深層学習の論文には、TensorFlow、Pytorch、Torch、Keras、または Theano で公開されている実装が含まれているため、既存のモデルを改善できるかどうか (より優れた ResNet を作成するなど) を見て、すばやく直観を構築する方法があります。 深層学習フレームワークは複雑で学ぶのに少し時間がかかります。DLフレームワークをマスターする最速の方法は、フレームワークの不明瞭な機能やDLの複数のサブフィールドにまたがるアイデアを行使する、挑戦的なニューラルネットのアーキテクチャを実装することです。 トリッキーなアーキテクチャ/トレーニングパイプラインに関する推奨事項をいくつか紹介します。
Finally, 機械学習の研究者の多くはTwitterを利用していますし、Redditの機械学習コミュニティはニューラルネットワークの最新ニュースを入手するのに便利な場所です。 この分野は非常に競争が激しく、動きが速いので、常に最新情報を得るのに役立ちます。
この質問はもともとQuoraに掲載されたものです。 Twitter、Facebook、Google+でQuoraをフォローすることができます。 その他の質問:
Quora: The place to gain and share knowledge, empowering people to learn from others and better understanding the world.