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

Talk about ML and DL for happy engineer's life

Talk about ML and DL for happy engineer's life

DevFest Tokyo 2016での発表資料
http://gdg-tokyo.connpass.com/event/38927/

Norihiro Shimoda

October 08, 2016
Tweet

More Decks by Norihiro Shimoda

Other Decks in Technology

Transcript

  1. エンジニアとして
    知っておくと幸せになれる
    (かも知れない)
    機械学習とTensorFlowのこと
    by  Norhiro Shimoda

    View Slide

  2. ⾃自⼰己紹介
    • 下⽥田倫倫⼤大(@rindai87)
    • データ分析専業の会社で⾊色々やってます。
    • 職歴的にはエンジニアになりますが、何故か
    データサイエンス的な話で露露出させていただく
    機会が多めです。

    View Slide

  3. • つい⼀一昨⽇日の2016年年10⽉月
    8⽇日に発⾜足しました(させ
    ました)
    • 先⾏行行して動いているいくつ
    かの勉強会とも合流流予定
    • CloudMLなどもスコープに
    活動していく予定
    TensorFlow User  Groupについて
    公開資料料ではカット

    View Slide

  4. View Slide

  5. View Slide

  6. #2のMeetupも計画中

    View Slide

  7. 最近、機械学習とか
    ⼈人⼯工知能が
    ものすごいブームですね
    出典:https://www.coursera.org/learn/machine-‐‑‒learning

    View Slide

  8. ⼈人⼯工知能すごい!というイメージ
    出典:https://www.google.com/selfdrivingcar/where/
    出典:
    https://gogameguru.com/i/2016/03/AlphaGo-‐‑‒
    Lee-‐‑‒Sedol-‐‑‒game-‐‑‒3-‐‑‒game-‐‑‒over.jpg
    ⾃自動運転
    AlphaGO
    ⼈人が運転するより事故率率率が低いらしい
    囲碁のプロ棋⼠士に勝利利した

    View Slide

  9. ⼈人⼯工知能使えそう!というイメージ
    出典:https://cloud.google.com/products/
    超すごいGoogleの
    ⼈人⼯工知能の要素技術を
    クラウドで簡単に使えそう
    な雰囲気!!!

    View Slide

  10. 結果、こういう流流れが
    できつつあります

    View Slide

  11. クラウドで
    ⼈人⼯工知能関連のAPI
    あるじゃない

    APIを使ってみる

    ビジネスニーズに
    微妙にフィットしない

    スクラッチでやるしか

    機械学習むずい
    \(^o^)/

    View Slide

  12. エンジニアを取り巻く環境
    機械学習が使
    えそうな案件
    ⼈人⼯工知能が
    キーワードに
    なっている新
    規案件
    ⼈人⼯工知能やりた
    まえという謎の
    プレッシャー
    ⼈人⼯工知能や機械
    学習への興味
    数年年前まではなかった機械学習や⼈人⼯工知能
    というキーワードが⾒見見え隠れする今⽇日このごろ

    View Slide

  13. エンジニアも機械学習
    っぽい話が分かった⽅方が
    良良さそう??

    View Slide

  14. 本⽇日お話すること
    誰でも⼤大体理理解した気になれる
    機械学習とTensorFlowの話

    View Slide

  15. まずは機械学習のお話

    View Slide

  16. 弊社でもよくある話
    機械学習とか分析を勉強したいん
    ですよね
    社内にいるデータサイエンティス
    トに聞いたり⾃自分で勉強すればい
    いんじゃないですか?
    それがどうしたら良良いかよくわか
    らないんですよー
    エンジニア 私

    View Slide

  17. 機械学習理理解のstep別イメージ
    • Step1
    – 賢いブラックボックスとして使う
    • Step2
    – ⽤用途別に呼び出す⼿手法を判断できる
    • Step3
    – 得られた結果の判断とパラメータのチューニング
    • Step4
    – 機械学習のアルゴリズムを実装できる
    • etc…

    View Slide

  18. 機械学習理理解のstep別イメージ
    • Step1
    – 賢いブラックボックスとして使う
    • Step2
    – ⽤用途別に呼び出す⼿手法を判断できる
    • Step3
    – 得られた結果の判断とパラメータのチューニング
    • Step4
    – 機械学習のアルゴリズムを実装できる
    • etc…

    View Slide

  19. ブラックボックスとしての機械学習
    アルゴリズムが取り扱えるデータフォーマット
    機械学習のアルゴリズム
    何らかの結果
    ⼊入⼒力力
    ⼊入出⼒力力の変換だけして
    ライブラリ呼び出し

    View Slide

  20. ⾔言ってることはわかるけど⾯面⽩白くない
    著作者:dice-‐‑‒kt 出典:http://free-‐‑‒photos.gatag.net/2014/05/15/180000.html

    View Slide

  21. 機械学習理理解のstep別イメージ
    • Step1
    – 賢いブラックボックスとして使う
    • Step2
    – ⽤用途別に呼び出す⼿手法を判断できる
    • Step3
    – 得られた結果の判断とパラメータのチューニング
    • Step4
    – 機械学習のアルゴリズムを実装できる
    • etc…

    View Slide

  22. ⽤用途別のアルゴリズムの選択
    出典:http://scikit-‐‑‒learn.org/stable/tutorial/machine_̲learning_̲map/

    View Slide

  23. やっぱり⾔言ってることは
    わかるけどやりたかった
    機械学習ではない
    著作者:Gwen241   出典:http://free-‐‑‒photos.gatag.net/2014/07/20/060000.html

    View Slide

  24. 機械学習理理解のstep別イメージ
    • Step1
    – 賢いブラックボックスとして使う
    • Step2
    – ⽤用途別に呼び出す⼿手法を判断できる
    • Step3
    – 得られた結果の判断とパラメータのチューニング
    • Step4
    – 機械学習のアルゴリズムを実装できる
    • etc…

    View Slide

  25. 結果理理解とチューニング
    アルゴリズムが取り扱える
    データフォーマットへの変換
    機械学習の
    アルゴリズム
    何らかの結果
    ⼊入⼒力力
    結果の解釈
    パラメータ
    チューニング
    アルゴリズムの
    再選択

    View Slide

  26. 出典:http://playground.tensorflow.org/

    View Slide

  27. 結果理理解とチューニング
    アルゴリズムが取り扱える
    データフォーマットへの変換
    機械学習の
    アルゴリズム
    何らかの結果
    ⼊入⼒力力
    結果の解釈
    パラメータ
    チューニング
    アルゴリズムの
    再選択

    View Slide

  28. 出典:http://playground.tensorflow.org/
    アルゴリズムや使っているツー
    ルに合わせ、いい感じの結果が
    出るように⼊入⼒力力を加⼯工する

    View Slide

  29. 結果理理解とチューニング
    アルゴリズムが取り扱える
    データフォーマットへの変換
    機械学習の
    アルゴリズム
    何らかの結果
    ⼊入⼒力力
    結果の解釈
    パラメータ
    チューニング
    アルゴリズムの
    再選択

    View Slide

  30. 出典:http://playground.tensorflow.org/
    結果を⾒見見て今のパラメータ
    で良良いかかどうかを判断

    View Slide

  31. 結果理理解とチューニング
    アルゴリズムが取り扱える
    データフォーマットへの変換
    機械学習の
    アルゴリズム
    何らかの結果
    ⼊入⼒力力
    結果の解釈
    パラメータ
    チューニング
    アルゴリズムの
    再選択

    View Slide

  32. 出典:http://playground.tensorflow.org/
    ⾚赤いところを問題に合わせて
    いい感じに調整する

    View Slide

  33. 結果理理解とチューニング
    アルゴリズムが取り扱える
    データフォーマットへの変換
    機械学習の
    アルゴリズム
    何らかの結果
    ⼊入⼒力力
    結果の解釈
    パラメータ
    チューニング
    アルゴリズムの
    再選択

    View Slide

  34. 出典:http://playground.tensorflow.org/
    あー、これじゃだめだ、
    とそもそも違うアルゴリズムを
    選ぶこともある

    View Slide

  35. 機械学習っぽいけど
    急に難易易度度が上がりすぎじゃね?
    出典:http://labaq.com/archives/51849423.html

    View Slide

  36. Step2までだと機械学習
    やってる感がありません
    機械学習やってる感が欲しい⼈人は
    Step3以降降を⽬目指すと
    良良いかもしれません

    View Slide

  37. Step3以降降に進むには
    • 数学から逃げずに⽐比較的硬派な本などで地道に
    知識識を蓄えていきましょう
    ※私もStp2と3の間をウロウロしている1⼈人な気がします…
    etc…

    View Slide

  38. ちなみに深層学習もこうなの?
    という疑問に関しては…

    View Slide

  39. いわゆる機械学習
    アルゴリズムが取り扱える
    データフォーマットへの変換
    機械学習の
    アルゴリズム
    何らかの結果
    ⼊入⼒力力
    結果の解釈
    パラメータ
    チューニング
    アルゴリズムの
    再選択
    ここをどれだけ頑張るが
    結果に⼤大きく影響を与える

    View Slide

  40. 深層学習と⾔言われている領領域
    アルゴリズムが取り扱える
    データフォーマットへの変換
    機械学習の
    アルゴリズム
    何らかの結果
    ⼊入⼒力力
    結果の解釈
    パラメータ
    チューニング
    アルゴリズムの
    再選択
    層が深いためパラメータが
    すごくたくさんある

    View Slide

  41. 層がものすごくたくさん
    各層毎に様々なパラメータが…
    出典:http://playground.tensorflow.org/

    View Slide

  42. 例例:Inception-‐‑‒V3
    出典:https://research.googleblog.com/2016/03/train-‐‑‒your-‐‑‒own-‐‑‒image-‐‑‒classifier-‐‑‒with.html
    ImageNetという画像分類のベンチマー
    クのためにGoogleが発案したモデル

    View Slide

  43. Step4以降降の話には⾏行行かずに
    TensorFlowのお話

    View Slide

  44. TensorFlowとは?
    • Googleによって2015年年11⽉月に公開されたオー
    プンソース
    – Google内部で多数の使⽤用実績があるらしい
    Google  Photo
    画像の⾃自動分類
    Google  翻訳
    翻訳の⾃自動学習
    Gmail
    スパムフィルタ
    OK  Google
    ⾳音声認識識

    View Slide

  45. TensorFlowにありがちな勘違い
    TensorFlowは深層学習に
    特化したツールである

    View Slide

  46. TensorFlowの正しい認識識
    TensorFlowはデータフローグラフを
    利利⽤用した数値計算のための
    オープンソースの
    ソフトウェアライブラリである
    TensorFlow™  is  an  open  source  software  library  
    for  numerical  computation  using  data  flow  graphs.
    TensorFlow公式サイトより

    View Slide

  47. TensorFlowの超基本
    OP
    Input Output
    OP
    OP
    Input
    グラフを意識識しながら処理理を記述して
    最後にどびゃっと実⾏行行する

    View Slide

  48. TensorFlowのパラダイム
    • はじめにテンソルの演算グラフを作る
    • グラフの実⾏行行単位をセッションという
    • 定数、変数、プレースホルダーを宣⾔言できる
    • 作ったグラフはデバイス(CPUやGPU)に展開
    して実⾏行行する
    • 分散処理理も可能である

    View Slide

  49. TensorFlowのパラダイム
    • はじめにテンソルの演算グラフを作る
    • グラフの実⾏行行単位をセッションという
    • 定数、変数、プレースホルダーを宣⾔言できる
    • 作ったグラフはデバイス(CPUやGPU)に展開
    して実⾏行行する
    • 分散処理理も可能である
    ということを、Pythonをインターフェースとして
    ⾏行行っているフレームワーク
    機械学習に関する便便利利なヘルパー関数がいっぱい
    あるのがポイント

    View Slide

  50. ここだけ押さえればTensorFlowが
    分かる簡単な例例
    • 例例1:⾜足し算
    – 演算(operation)
    • 例例2:カウントアップ
    – 変数(Variable)
    • 例例3:⼊入⼒力力値をいろいろと変える
    – プレースホルダー(Placeholder)
    • 例例4:セッションを使う
    – セッション(Session)
    • 例例5:⾼高ランクなテンソルの演算
    – テンソル(Tensor)

    View Slide

  51. ここだけ押さえればTensorFlowが
    分かる簡単な例例
    • 例例1:⾜足し算
    – 演算(operation)
    • 例例2:カウントアップ
    – 変数(Variable)
    • 例例3:⼊入⼒力力値をいろいろと変える
    – プレースホルダー(Placeholder)
    • 例例4:セッションを使う
    – セッション(Session)
    • 例例5:⾼高ランクなテンソルの演算
    – テンソル(Tensor)

    View Slide

  52. 1+2  =  3の⾜足し算

    View Slide

  53. 演算(Operation)
    x(定数)
    y(定数)
    +
    演算がグラフのノードとなる(この場合は加算の演算)
    tf.add()
    tf.constant()
    tf.constant()

    View Slide

  54. 演算(Operation)
    x(定数)
    y(定数)
    +
    演算がグラフのノードとなる(この場合は加算の演算)
    tf.add()
    tf.constant()
    tf.constant()
    1
    2
    3

    View Slide

  55. ここだけ押さえればTensorFlowが
    分かる簡単な例例
    • 例例1:⾜足し算
    – 演算(operation)
    • 例例2:カウントアップ
    – 変数(Variable)
    • 例例3:⼊入⼒力力値をいろいろと変える
    – プレースホルダー(Placeholder)
    • 例例4:セッションを使う
    – セッション(Session)
    • 例例5:⾼高ランクなテンソルの演算
    – テンソル(Tensor)

    View Slide

  56. カウントアップ

    View Slide

  57. 変数(Variable)
    inc(定数) +
    cnt(変数)
    通常のプログラミング⾔言語の変数などと同じように
    代⼊入可能な箱として変数がある
    tf.assign()
    tf.Variable()
    tf.constant()
    tf.add()
    1
    0

    View Slide

  58. 変数(Variable)
    inc(定数) +
    cnt(変数)
    tf.assign()
    tf.Variable()
    tf.constant()
    tf.add()
    1
    0
    1
    通常のプログラミング⾔言語の変数などと同じように
    代⼊入可能な箱として変数がある

    View Slide

  59. 変数(Variable)
    inc(定数) +
    cnt(変数)
    tf.assign()
    tf.Variable()
    tf.constant()
    tf.add()
    1
    1
    2
    通常のプログラミング⾔言語の変数などと同じように
    代⼊入可能な箱として変数がある

    View Slide

  60. 変数(Variable)
    inc(定数) +
    cnt(変数)
    tf.assign()
    tf.Variable()
    tf.constant()
    tf.add()
    1
    2
    3
    通常のプログラミング⾔言語の変数などと同じように
    代⼊入可能な箱として変数がある

    View Slide

  61. ここだけ押さえればTensorFlowが
    分かる簡単な例例
    • 例例1:⾜足し算
    – 演算(operation)
    • 例例2:カウントアップ
    – 変数(Variable)
    • 例例3:⼊入⼒力力値をいろいろと変える
    – プレースホルダー(Placeholder)
    • 例例4:セッションを使う
    – セッション(Session)
    • 例例5:⾼高ランクなテンソルの演算
    – テンソル(Tensor)

    View Slide

  62. いろんな値を⼊入⼒力力する

    View Slide

  63. プレースホルダー(Placeholder)
    y
    (プレースホルダ)
    x(定数) +
    tf.constant()
    tf.add()
    tf.placeholder()
    あらかじめ箱を作っておいて
    実⾏行行時に好きな値を⼊入⼒力力させる
    1

    View Slide

  64. プレースホルダー(Placeholder)
    y
    (プレースホルダ)
    x(定数) +
    tf.constant()
    tf.add()
    tf.placeholder()
    feed_̲dict
    1
    1 2
    あらかじめ箱を作っておいて
    実⾏行行時に好きな値を⼊入⼒力力させる

    View Slide

  65. プレースホルダー(Placeholder)
    y
    (プレースホルダ)
    x(定数) +
    tf.constant()
    tf.add()
    tf.placeholder()
    feed_̲dict
    3
    1
    4
    あらかじめ箱を作っておいて
    実⾏行行時に好きな値を⼊入⼒力力させる

    View Slide

  66. ここだけ押さえればTensorFlowが
    分かる簡単な例例
    • 例例1:⾜足し算
    – 演算(operation)
    • 例例2:カウントアップ
    – 変数(Variable)
    • 例例3:⼊入⼒力力値をいろいろと変える
    – プレースホルダー(Placeholder)
    • 例例4:セッションを使う
    – セッション(Session)
    • 例例5:⾼高ランクなテンソルの演算
    – テンソル(Tensor)

    View Slide

  67. 実⾏行行環境を分ける

    View Slide

  68. セッション
    1(定数) +
    cnt(変数)
    tf.assign()
    tf.Variable()
    tf.constant()
    tf.add()
    1(定数) +
    cnt(変数)
    tf.assign()
    tf.Variable()
    tf.constant() tf.add()
    セッションにより
    グラフの実⾏行行環境が
    まるっと独⽴立立する
    名前空間のようなもの
    tf.Session()
    tf.Session()

    View Slide

  69. ここだけ押さえればTensorFlowが
    分かる簡単な例例
    • 例例1:⾜足し算
    – 演算(operation)
    • 例例2:カウントアップ
    – 変数(Variable)
    • 例例3:⼊入⼒力力値をいろいろと変える
    – プレースホルダー(Placeholder)
    • 例例4:セッションを使う
    – セッション(Session)
    • 例例5:⾼高ランクなテンソルの演算
    – テンソル(Tensor)

    View Slide

  70. テンソル(Tensor)
    のランクを⼤大きくする
    ここまでの話を
    多次元の値に拡張

    View Slide

  71. テンソル
    ランク どうなる
    0 スカラ(要はただの数値)
    1 ベクトル(配列列)
    2 ⾏行行列列(2次元配列列)
    3 3次元配列列(⾏行行列列に厚みがある感じ)
    n n次元配列列(イメージできない世界)
    要は取り扱うデータ構造のことだと思ってください
    今までの話はここ

    View Slide

  72. 多次元版の⾜足し算

    View Slide

  73. ⼊入⼒力力となるテンソルが違うだけ
    x(定数)
    y(定数)
    +
    演算がグラフのノードとなる(この場合は加算の演算)
    tf.add()
    tf.constant()
    tf.constant()
    [[1,2],
    [1,2]]
    [[3,4],
    [3,4]]
    [[4,6],
    [4,6]]

    View Slide

  74. TensorFlowで押さえるべき基本
    は以上です
    このパラダイムに従って深層(機
    械)学習のアルゴリズムを記述す
    る必要があります

    View Slide

  75. 深層学習について
    ディープラーニング、深層学習とは、多層構造の
    ニューラルネットワークを⽤用いた機械学習である。
    Wikipediaより






    ⼊入⼒力力層
    中間層
    (本当はもっといっぱい) 出⼒力力層

    View Slide

  76. ニューラルネットワークの
    グラフのノード⼀一個⼀一個が
    TensorFlowの
    グラフのノードになって…

    View Slide

  77. と、思いがちなので
    若若⼲干ややこしい

    View Slide

  78. TensorFlowでやる場合の深層学習
    (正確には機械学習全般)
    ⼊入⼒力力
    途中の演算
    アルゴリズム
    からの出⼒力力

    アルゴリズムの学習結果
    理理想的な
    出⼒力力値
    アルゴリズムへの
    フィードバック
    情報の演算


    View Slide

  79. 例例えば中間層が3層の
    ニューラルネットワークだと
    こうなる

    View Slide

  80. View Slide

  81. View Slide

  82. TensorFlowでやる場合の深層学習
    (正確には機械学習全般)
    ⼊入⼒力力
    途中の演算
    アルゴリズム
    からの出⼒力力

    アルゴリズムの学習結果
    理理想的な
    出⼒力力値
    アルゴリズムへの
    フィードバック
    情報の演算
    tf.placeholder()
    ヘルパー関数
    ヘルパー関数
    tf.placeholder()
    tf.variable()


    View Slide

  83. TensorFlowでやる場合の深層学習
    (正確には機械学習全般)
    ⼊入⼒力力
    途中の演算
    アルゴリズム
    からの出⼒力力

    アルゴリズムの学習結果
    理理想的な
    出⼒力力値
    アルゴリズムへの
    フィードバック
    情報の演算
    tf.placeholder()
    ヘルパー関数
    ヘルパー関数
    tf.variable() tf.placeholder()
    tf.variable()


    つまり、学習と呼ばれて
    いるプロセスはここを決
    めることに相当

    View Slide

  84. 学習とは…
    ・良良さげなtf.Variableの値を探索索すること
    学習済みのモデルとは…
    ・グラフの構造そのもの
    ・グラフ構造に含まれるtf.Variableの値
    学習済みのモデルの適⽤用とは…
    ・tf.Variableが決まった後のグラフに
    データを通すこと
    深層(機械)学習は時間かかるけど
    学習済みのモデルは⼩小さくなるし、
    新しいデータの適⽤用する時は早い云々…
    TensorFlowの⽂文脈では…

    View Slide

  85. いざ取り組もうとすると
    TensorFlowのパラダイムを意識識しつつ
    使っているヘルパー関数の
    意味を理理解した上で
    プログラミングする必要があり
    けっこう敷居が⾼高い

    View Slide

  86. TensorFlowに関する事実(再掲)
    Pythonをインターフェースとした深層学習に特化し
    た便便利利ツール
    Python版だと機械学習のためのヘルパー関数が多数
    提供された機械学習と相性の良良いデータフロープロ
    グラミングのフレームワーク
    ※当然、深層学習もターゲットにしているので相性
    は良良い

    View Slide

  87. Chainerとかと⽐比べて、セッショ
    ンとかよくわからない概念念が⼀一杯
    出てきて使いにくいんですよね
    そもそも深層学習の⼀一般的な知識識
    がないので、どんな⾵風にグラフを
    構築したり、ヘルパー関数やパラ
    メータをどう選択すればいいかよ
    くわからないんですよね
    結果、こういう評価になりがち
    データサイエンティスト評
    エンジニア評

    View Slide

  88. 逆にGoogleには
    エンジニアリング⼒力力の⾼高い数学
    がバリバリできる超優秀な⽅方が
    沢⼭山いらっしゃるということ
    実はこれが今⽇日⾔言いた
    かったことの⼀一つ

    View Slide

  89. それはさておき
    当然同じような問題を
    みんなが抱えているため
    こういう解決策が出ています

    View Slide

  90. tf.contrib.learn(旧skflow)
    • Pythonの機械学習ライブラリであるScikit-‐‑‒learn
    のように関数呼び出しの感覚でTensorFlowを使
    いたい!として始まったプロジェクト
    – グラフなどを意識識しないで済む⾼高レベルAPIを提供
    • TensorFlowのV0.8で本体に取り込まれた
    • ⼀一緒に深層学習以外のアルゴリズムも提供されて
    いる
    – 線形分類や線形回帰など

    View Slide

  91. 中間層が3層のニューラルネットワークのtf.contrib.learn版

    View Slide

  92. Keras
    • ニューラルネットワークに関する⾼高レイヤな記
    述を⾏行行うことができるPythonのライブラリ
    – 要は深層学習⽤用のDSL的なもの
    – 記述スタイルはChainerっぽい
    • バックエンドとしてTheanoやTensorFlowを選
    択可能なのでTensorFlow専⽤用というわけではな

    • TensorFlow特有の知識識は必要ない

    View Slide

  93. 中間層が3層のニューラルネットワークのKearas版

    View Slide

  94. ⼤大規模データも分散処理理で対応で
    きるし、深層学習の処理理の記述に
    集中できます。(想像)
    深層学習とかはよくわからないで
    すが、関数を呼び出す時のパラ
    メータを⾊色々いじるとなんとなく
    動くところまでは持っていけるの
    で楽ですね。(想像)
    これなら、こういう評価になる??
    データサイエンティスト評(想像)
    エンジニア評(想像)

    View Slide

  95. なんとなくこの流流れは
    Hadoopのときのトレンド
    が思い出されるのは
    私だけでしょうか?

    View Slide

  96. MapReduceとHive
    MapReduceを意識識しないし
    何より慣れ親しんだSQL
    ⽣生のMapReduceで
    処理理を書くのは⾟辛い
    データサイエンティスト

    View Slide

  97. TensorFlowとKeras
    データサイエンティスト
    TensorFlowを意識識しないで
    アルゴリズムに集中できる
    ⽣生のTensorFlowを
    書くのは⾟辛い

    View Slide

  98. 深層学習界隈で
    インターフェースのデ
    ファクトになるのはなん
    なんでしょうね・・・?

    View Slide

  99. TensorFlowの
    話をするなら外せない
    CloudMLの話も少し

    View Slide

  100. 出典:https://cloud.google.com/blog/big-‐‑‒data/2016/09/google-‐‑‒cloud-‐‑‒machine-‐‑‒learning-‐‑‒now-‐‑‒open-‐‑‒to-‐‑‒all-‐‑‒with-‐‑‒new-‐‑‒professional-‐‑‒
    services-‐‑‒and-‐‑‒education-‐‑‒programs
    9/29にPublic  Betaに!

    View Slide

  101. CloudMLでできること
    • TensorFlowによる学習をクラウド上で実⾏行行できる
    – GCS経由でのデータのやり取りなどのお作法がある
    – マシンパワーがたくさん使えるので分散処理理やパラメー
    タの⾃自動チューニングなどができる!
    • 学習済みのモデルをサービスとしてクラウド上で
    提供できる
    – gcloud経由
    – RestAPI経由

    View Slide

  102. CloudMLでできること
    • TensorFlowによる学習をクラウド上で実⾏行行できる
    – GCS経由でのデータのやり取りなどのお作法がある
    – マシンパワーがたくさん使えるので分散処理理やパラメー
    タの⾃自動チューニングなどができる!
    • 学習済みのモデルをサービスとしてクラウド上で
    提供できる
    – gcloud経由
    – RestAPI経由
    TensorFlowのチュートリアルを
    ⼿手元のPCで動かしてみると、この領領域での
    GPUやクラウドの重要性が分かります

    View Slide

  103. 出典:http://gadgetm.jp/I0000291
    チュートリアルでこうなる

    View Slide

  104. CloudMLも絡めたワークフロー
    学習済み
    モデル

    ①ローカルで動作チェック
    ②クラウドでドカンと計算
    ③学習済みモデルをクラウド上、
    サーバー、モバイル上で提供




    View Slide

  105. CloudMLに関しては、今後
    ⼤大きな計算資源が必要になる
    深層学習が普及していくと
    かなりのキラーコンテンツ
    となる可能性がありそうです

    View Slide

  106. 最後にもう⼀一度度
    TensorFlow User  Group

    View Slide

  107. View Slide

  108. View Slide

  109. #2のMeetupも計画中

    View Slide

  110. Thank  You!

    View Slide