話題の記事

TensorFlow研究会が開催されました!!

2015.12.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

TensorFlow研究会が開催されました!!

先日、渋谷ヒカリエの株式会社ディー・エヌ・エー様にて、株式会社ビズリーチ様主催のTensorFlow研究会が開催されました。

私も予習の上でブログまとめ枠として参加いたしまして、本記事はそのまとめになります。

思いついたアルゴリズムをTensorFlowで実装してみた話 (株式会社トップゲート 藤原氏)

[slideshare id=56050548&doc=tf-study-151211114019]

  • TensorFlowで面白そうだと思って試してみた

  • ステップサイズの設定が面倒

  • 確率的勾配降下法
    • ステップサイズが大きいと全てがNanになる
  • 近接点法だと w が行方不明にならなそう
    • PassiveAggressiveに正則化項がついた感じ
  • ステップサイズを大きくすると勾配降下法だとウェイトが飛んで行く

  • 近接点法だと割りと収束する

  • まとめ 

    • ニューラルネット以外でも手軽に実装出来た
    • TensorBoard便利
    • TOPGATEでは現雑談対話エージェント開発中

Windowsで動かすTensorFlow (富士通株式会社 小副川氏)

[slideshare id=56050718&doc=tfonwin-151211114608]

  • 動機
    • CUDAで動かしたい
    • Winだともっと手軽にできると思った

    • 普段はデータ分析

  • Windowsはサポート外

    • Wheelファイルがない(pip install できない)
    • ビルドツールBazelのWinサポートまだ

    • Dockerで動かす
  • Docker Toolbox

    • 仮想化を有効にする
    • HighになっていなかったらBiosでいじる
  • DockerをインストールしたらTensorFlowのコンテナが用意されている
    • コマンド一発でインストール
  • bazel は現状Windowsサポートなし
    • 2016-02 にはサポート予定のため、ビルドできるようになるのでは?
  • CaffeでCUDAの横流しできたからTensorFlowでもできるかも

TensorFlowでゆるゆりの制作会社を判定してみた (@kivantium氏)

TensorFlowでゆるゆりの制作会社を判定してみた

  • 作ってます
    • ゴチうさのキャラ判定
    • 友利奈緒判定Bot

  • チュートリアルやってみたけどおもしろくない

    • 独自のデータ・セットを読み込む方がおもしろい
  • ゆるゆりについて
    • 三期で製作会社、キャラデザが変わった
    • 見ているうちに見分けがつくようになった
  • MNISTサンプルを参考にRGBを出力できるようにした
    • OPEN CV で入れる
  • 顔認識部分
    • HOG+SVMの物体検出器を使用
    • 顔と認識した部分のうち一番大きい部分を使用
    • 最終的に28x28にする
  • Twitter bot にする
    • Python API使用
    • 画像送るとどっちの期か返信します
  • 結果
    • 定量的な判定をしていないが、ランダムよりはいい
  • Inception-v3 の照会
    • Googleが出した最新の論文のモデル
    • 性能を上げたい
    • 説明されていなかった画像読み込みの方法が説明されている
    • C++のAPIでは特徴抽出ができる
    • トレーニングの方法も書いてある
  • CaffeとChainerと比較すると
    • Caffeは新しいモデルをつくりにくい
    • TensorFlowは書きやすい
    • Sessionの起動が遅い?

TensorFlowで言語識別をやってみた(株式会社ビズリーチ 安田氏)

[slideshare id=56049986&doc=whcuper3tu6kghlhkk2f-signature-a35f4e8364a814ed8e355366c11fac0941bc4107f20658d85ec0fb402e725d1a-poli-151211112053]

  • 会社ではインフラ担当
  • 英語、フランス語、スペイン語の文章を食わせて言語を当てる

    • 線形器ISSOのサンプルを流用(隠れ層はない)
  • 入力データをword単位ではなく文字として学習した
  • 特徴

    • 定義してから実行する
    • Session経由で外部から値を注入できる(placeholder)
  • まとめ
    • 学習タスクは入力データの形式が大事
    • CNN6, 7でやればいい結果がでるのでは(オーディエンスから)

内省するTensorFlow (ジョイズ株式会社 柿原氏)

[slideshare id=56050670&doc=share-151211114425]

  • ロールプレイ英会話の対話ロボ作ってます
  • 内省とは

    • TFのソースをTFで予測!
  • Recurrent NN  - 可変長の入力系を扱える  - 時系列データに向いている

  • TensorFlowの内訳

    • C, CPP で10万行
  • 学習データ準備
    • ファイルをつなげるだけ
    • ソースコードなのでTokenizeせず文字ベースで
  • ニューラルネットで使うモデルが同梱されていて楽
  • 128x2層でやった

  • 感想

    • やっぱり計算が重い
    • さすがにTFで生成されたコードのコンパイルは通らない
    • 豊富に用意されてる計算ユニット使えば数値計算のコードがほぼゼロ
    • Chainerの方が個人的には使いやすかった
    • 分散処理で俺Tueeしたりモバイル向けモデル出力できるかも

TensorFlow vs Theano (東京大学・総合文化研究科 @motake2010氏)

  • TheanoからTensorFlowに乗り換えるべきかどうか判断したかった
  • 似てる

    • 自動微分
    • マルチノード並列化に対応
    • ノード間通信やばそう
    • 行列計算のコアライブラリがEigen(早いことで有名)
  • 環境
    • NVIDIA TITAN
    • Core i7
  • 掛け算結果
    • 5,6 倍TensorFlowの方が遅い
    • DoubleにしてもTheanoの方が早くなった
  • Scan, Theanoは使いにくい
    • for文で使えるから楽
    • RecurrentNN使うときfor文使う
    • RVMもfor使う
  • まとめ
    • 速度はUmm, Scanは使いやすい

Neural art を TensorFlow で実装した (幾多氏)

  • Neural art とは
    • 任意の写真に任意の絵画の画風を適用する
  • Neural art の原理
  • CNNとは

    • 奥にいけば行くほど具体的になっていく
  • 最適化変数をノイズにして損失関数を減らしていく
  • スタイルの画風を適用できる

  • 特徴を一本のベクトルに引き伸ばし、一本にする

  • VGGを使う

    • 最近やっとpretrainedモデルが公式にロードできるように
    • はじめ全く画像が収束しなかった
    • CNNの重み変数が可変になっていた
    • 最適化したくない変数はtrainable = falseプロパティで設定
  • まとめ
    • Caffe モデルがTensorFlowで読み込めたので実に入門としては良かった

コンピュータ将棋 -機械学習を用いた局面学習への道- (@TakashiKato氏)

[slideshare id=52335846&doc=random-150902115734-lva1-app6891]

  • はじめに
    • 将棋は木構造
    • 人間は読みと対極感でさしてを決定
    • PCは探索と評価でさしてを決定
    • 次元データから問題に適した情報の獲得を行う
  • 探索
    • 探索アルゴリズムの課題
    • 探索の順序づけ
    • 一定の確率以下で探索打ち切り
  • 評価
    • 探索効率化での知識獲得
    • 評価関数を用いないような探索の方がいい場合も
    • 将棋だと任意のコマの三角関係が重要だと言われている
    • 三角関係を特徴量として表す
  • 機械学習
    • 特徴抽出
  • 結果
    • N-Gramを用いていた方が勝った

MNISTの学習結果を実際に手書きして試す (@sugyan氏)

MNISTの学習結果を実際に手書きして試す

  • Web系サーバサイドエンジニア
  • TutorialからMNIST触ってみた

    • サンプルコードを動かしてやってみた
    • せっかくなので自分で書いた文字を認識してみた
    • GUIで判定できるようにしてみた
  • Tutorialの各モデルで学習結果を保存
    • Softmax回帰
    • 99%の精度!  
  • Githubにソース公開した
    • 知らん台湾の人からIssue来た!
    • nodeのバージョンが古いだけ!

きちんと性能評価 〜にわかと言われないために〜(株式会社アカツキ 宮島氏)

  • はじめに
    • 基礎的な機械学習の内容
    • ブームに乗っかるとTensorFlow()状態になるので自戒もこめて
  • 今日お伝えしたいこと
    • TensorFlowのチュートリアルの通りにやるとハイパーパラメータがズルをしてしまうかもしれないので注意
  • 学習能力、汎化能力
    • ほとんどの場合、汎化能力が高くないと意味がない
    • ニューラルネットワークは学習が進むにつれて過学習の問題がつねにつきまとう
  • データ・セットの話
    • Training Data Set: 学習に使う
    • Test Data Set: 汎化能力の評価に使う
    • Validation Data Set: ハイパーパラメータチューニングのために使う
  • データのわけ方もいろいろ
    • プロ野球選手の年俸査定の記事ではホールドアウト法を使用
    • モヤモヤを解消するためにブートストラップ法、交差確認法が有用
  • 質問
    • データ判定法については最後のスライドのリンク参照

まとめ

懇親会では機械学習で実際に仕事をされている方の現場の声や、大学等との共同研究をされている方の声を耳にしました。また、プライベートでつながってる人のお知り合いの方とも偶然出会って、狭い業界だなと感じました。今回の会を主催してくださった株式会社ビズリーチの皆様、並びに会場を提供してくださった株式会社ディー・エヌ・エーの皆様、ありがとうございました!こちらからは以上です!