Upgrade to Pro — share decks privately, control downloads, hide ads and more …

uncommon-topics-on-machine-learning

 uncommon-topics-on-machine-learning

ryo nakamaru

May 18, 2017
Tweet

More Decks by ryo nakamaru

Other Decks in Technology

Transcript

  1. y = ax + b a, b を 人間が事前に決める のが一般的プログラミング。

    実データから コンピュータに計算させる のが機械学習。 機械学習とは 19
  2. y = ax + b 例) x : Pairs で最近見かけたよさげな人の

    特徴 y : このひとと付き合ったら幸せになれるか 機械学習とは 20
  3. y = ax + b 例) 人間「 y = 0.7

    * 性格x + 0.2 * 外見x + 0.1 * 収入x でしょ」 機械「それでは精度が低い。過去のデータからいえば ɹɹɹy = 0.4 * 性格x + 0.1 * 外見x + 0.5 * 収入x が適切」 機械学習とは 21
  4. y = ax + b a, b を決めるための作業を 学習、 決まった

    a, b のことを 学習済みモデル と言う。 学習済みモデルを使って 実際に x を投入し y を得るのが 推論。 学習と推論 22
  5. y = ax + b データから a, b を帰納的に求める具体的な方法のこと。 •

    A / B どっち?問題 → ロジスティック回帰 • 売上を予測したい → 線形回帰 • 顧客をセグメント分けしたい → k 平均法 • レコメンドを出したい → 協調フィルタリング • … 学習アルゴリズム 25
  6. 機械学習全般、解決したい問題ごとに選択 するのが 学習アルゴリズム。深層学習であっても同じ。 例) • このきゅうりは S? M? L? →

    畳み込みニューラルネットワーク (CNN) • 今の発言はポジティブ? → 再帰型ニューラルネットワーク (RNN) • 人が飛び出してきた!車を減速!! → あれこれ組み合わせ • … 深層学習アルゴリズム 32
  7. 美しい組み合わせの例、AlphaGo。 (論文: http://www.nature.com/nature/journal/v529/n7587/abs/nature16961.html ) • 4 つのディープニューラルネットワークを利用 • それぞれ 初級者

    pπ / 中級者 pσ / 上級者 pρ / 情勢判断 vθ といった位置付け • pπ は人間の 800 万の盤面データを元に学習。精度は低いが高速に解を得る。 • pσ は 13 層の CNN。3,000 万盤面を 50 GPU で 3.4 億ステップ、3 週間学習。 プロの指し手を 57.0% の精度で予想できる。 • pρ は 50 GPU で 1 日かけ128 万回自己対戦。既存ソフトに 85% の圧倒的勝率。 • vθ は pσ でランダムに 3,000 万盤面を生成し、pρ で 1 億 6,000 万回ロールアウトした勝率を 教師データに、50 GPU で一週間 5,000 万回確率勾配降下法を実施。 • 実対戦では1,202 CPU + 176 GPUが使われ、pσ で次の手選択、vθ で盤面評価。 • 勝率はいいが理詰めの pρ より、人間の癖を学んだ pσ を使ったか。 • 勝因は pρ の徹底的な強化学習に加え、モンテカルロ木探索と CNN の組合せか。 深層学習アルゴリズム 33
  8. TensorFlow、MXNet、CNTK、Caffe2、Chainer・・ それぞれの特徴を鑑み、選択する。 • 対応アルゴリズム • 動作端末・環境 • 計算速度 / リソース利用効率

    • 利用可能な言語 / 手続的・宣言的 • スケーラビリティ / 複数 GPU、並列サーバ対応 • 情報の豊富さ / エコシステム / 商用サポート • … 深層学習フレームワーク 40
  9. データ収集に便利なサービス • AWS IoT • Amazon Kinesis Streams • Amazon

    CloudWatch Logs • Amazon S3 • Amazon DynamoDB • Amazon Cognito + AWS SDK • Amazon API Gateway 61
  10. データ前処理に便利なサービス • Amazon Mechanical Turk • Amazon Athena • AWS

    Lambda / Step Functions • AWS CloudWatch Events • Amazon EMR / Batch / EC2 64
  11. (NVIDIA) GPU 70 ݱࡏ AWS Ͱ GPU Λ࢖͏ͱ͖ͷ Tips Λ·ͱΊ·ͨ͠

    https://speakerdeck.com/pottava/tesorflow-v1-dot-0-on-ec2
  12. 試行錯誤フェーズに便利なサービス • Amazon Machine Learning • Amazon EMR / EC2

    ‣ p2 / g2 (GPU) instances ‣ Deep Learning AMI • Amazon EBS / S3 / ECR 74
  13. GPU インスタンス 76 AWS には 2 種類あります(現行世代) g2 系: NVIDIA

    GRID K520     1,536 CUDA cores / GPU が 2 つで 1 つの K520     g2 で使える GPU は本来グラフィック・ゲーミング用途 p2 系: NVIDIA Tesla K80     倍精度演算最大 2.91 TFLOPS、単精度演算最大 8.74 TFLOPS     2,496 CUDA cores / GPU が 2 つで 1 つの K80     p2 の GPU は汎用コンピューティング用途
  14. 学習フェーズに便利なサービス • Amazon EMR / Batch / EC2 ‣ p2

    / g2 (GPU) instances ‣ Deep Learning AMI ‣ Spot Fleet / AutoScaling Group • Amazon Machine Learning • Amazon EFS / EBS / S3 / ECR • Amazon SQS 81
  15. Google ファミリーなら.. 84 • Cloud Datalab • Cloud Dataprep •

    Cloud ML Engine ‣ Managed TensorFlow ‣ GPU support • Cloud TPU alpha private beta
  16. 推論フェーズに便利なサービス • Amazon ECS / EC2 ‣ p2 / g2

    (GPU) instances ‣ Deep Learning AMI ‣ Spot Fleet / AutoScaling Group • AWS Lambda / Amazon API Gateway • AWS ElasticBeanstalk • Amazon EFS / EBS / S3 / ECR 88
  17. ありがとうございました 参考文献: • AWS Batch – 簡単に使えて効率的なバッチコンピューティング機能 – AWS https://aws.amazon.com/jp/batch/

    • AWS Black Belt Online Seminar「AWS Batch」の資料およびQA公開 http://aws.typepad.com/sajp/2017/02/aws-black-belt-online-seminar- aws-batch.html#QCPzBdn.twitter_tweet_count_m • re:Invent 2016: AWS Big Data & Machine Learning Sessions。 https://aws.amazon.com/blogs/big-data/reinvent-2016-aws-big-data- machine-learning-sessions/ Spark your ideas with us