読者です 読者をやめる 読者になる 読者になる

覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。 twitter: @yyoshikaw

meetup app tokyo@2 に行ってきた

meetup app tokyo@2に参加してきました。

以下自分用のメモ


概要

  • テーマ: Deep Learning
  • 開催日: 2016/12/16 18:30 〜
  • 場所: 株式会社gloops 5Fハングアウトフィールド
  • 参加費: 300円


DIGITS : DIGITSでディープラーニングを始めよう!

NVIDA 村上真奈 氏

  • NVIDIA
    • 社員数:9100人(6~7割はエンジニア)
    • ハードウェアエンジニアよりソフトウェアエンジニアが多い
    • GPUの特許を多数持っている
  • GPUの使われどころ
    • GAMING
    • DESIGN
    • HPC: スーパーコンピュータにも入っている
    • 自動運転
  • ディープラーニング・フレームワーク
    • OSSでも大量に存在する
    • 画像分類ぐらいならどれでもいい
    • 組み込みで速さが大事ならCaffe, mxnet
    • TensorFlowはGPUが何枚刺さっているかを自動認識して、勝手にスケールする
  • DIGITS
    • 簡単に試せる
    • DIGTISサーバ立てれば、Webブラウザから利用可能
    • ディープラーニングを体験するには敷居が低い
  • DIGITS 5
    • 領域分割問題に対応
    • ディープラーニング・モデルストア機能を追加
  • DIGITSで何ができる?
    • 画像分類問題
    • 物体検出問題
    • 領域分割問題
  • NVIDIA DIGITS AMI
    • NVIDIAのDIGITS(やドライバやCUDA)入りのAMI
  • NVIDIA主催のイベント
    • NIVIDIA Deep Learning Institue 2017
    • GTC 2017


Chainer : Chainerでつくる簡単ニューラルネットワーク

Preferred Networks 齋藤真樹 氏

  • Preferred Networks(PFN)
    • 社員数:50名(エンジニア45名)
    • 投資元: NTT, FANUC, トヨタ自動車
  • 複雑化するニューラルネットワーク
    • 簡単に記述できるフレームワークが必要になった
    • Chainerを開発
  • Chainer
    • Python native
    • 最新の深層学習のアルゴリズムをネイティブにサポート
    • マルチGPU対応
    • 研究界の自然言語の分野で主に使われている
    • CuPyを開発
      • GPU用の線形代数のライブラリ
  • ニューラルネットワークの基礎
    • 単純な計算の組み合わせで複雑な問題を解く
    • それぞれのレイヤで畳み込みや行列演算などの簡単な処理を行う
    • ニューラルネットワークの学習
      • 推定結果の計算 ⇒ 誤差の計算 ⇒ 逆伝播 ⇒ 修正
    • 大規模ニューラルネットワークの学習
      • 画像を全部入れるのではなく、数枚ずつ入れて逐次的にパラメータを更新
  • 他のフレームワークとChainerの差異
    • 計算グラフの構築
      • Backwardに必要なのは、「変数がどのように計算されたかを記憶しておくこと」
    • Define-by-Run = 計算グラフの動的な構築
      • Variable: 計算過程が記憶される
    • 動的にネットワークを構築することの利点
      • 再帰的なニューラルネットワークを簡単に記述できる
      • 現場の泥臭いデータ(欠損データが多くて)も柔軟に対応できる
    • Chainerの強み
      • 動的構築による柔軟性
      • Python Nativeであることで、デバッグが容易
      • RNN/LSTM対応
    • Chainerの弱み
      • コミュニティ
      • 関数の多さ
  • Chainerを使う上で何が重要か
    • 有名なデータセット
      • MNIST
        • 機械学習会の"Hello World"
      • CIFAR10
    • Chainerで学習させるのに重要なことは
      • Datasetを定義する
      • Linkを定義する
    • Datasetの定義
      • DataSetクラスを定義するのが便利
      • MNIST, CIFAR10 であれば最初からサポートしている
    • Linkの定義
      • パラメータを含む関数を定義
      • 初期化時にパラメータを列挙
      • callにどのように計算するかを記述する
      • report: 自身の状態を他のオブジェクトに伝える。ログを取る際に使用


The Microsoft Cognitive Toolkit : 改めまして、Cognitive ToolKit です。

得上竜一 氏

  • CNTK
    • 特徴
      • Compatibility
      • Commercial-Grade Quality
      • Speed & Scalability
    • 3つのコンポーネント
      • Reader
      • NetworkBuilder
      • Learner
    • Macで動かない
      • Macの場合はDockerで動かしてください


Tensorflow : Deep Learning with Python & Tensorflow

Google ルイス・イアン (Ian Lewis) 氏

  • Deep Learning
    • 深いニューラルネットワーク
    • 分類やデータがどういう数式を表しているかを洗い出すのが得意
    • tensorを利用
      • ディメンションがいくつもある
    • なぜ流行ってるのか?
      • 今までは研究目的
      • ハードウェアが進化して人間が解きたい問題を解けるようになってきた
  • TensorFlow
    • Googleの中で実際に利用している
    • 各レイヤをそのまま各デバイスにマッピングできる



関連エントリ