Slide 1

Slide 1 text

Copyright © GREE, Inc. All Rights Reserved. 第⼀回☆GREE AI Programming Contest で TensorFlow 2017/05/24 グリー株式会社 開発本部データエンジニアリンググループ 森⽥ 想平

Slide 2

Slide 2 text

Copyright © GREE, Inc. All Rights Reserved. • グリーという会社で、全社横断的な分析基盤を開発運⽤するチームを マネジメントしています • 最近はAI関連システムも⾒ています • アナリストチームは別にある ⾃⼰紹介(会社の宣伝) 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 3

Slide 3 text

Copyright © GREE, Inc. All Rights Reserved. • 開催のきっかけ / 開催趣旨 • 開催概要 • 運営側が⽤意したもの • 実施期間中の出来事 • 参加者、運営者の感想など • まとめ あらすじ 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 4

Slide 4 text

Copyright © GREE, Inc. All Rights Reserved. 開催のきっかけ トップダウン 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 5

Slide 5 text

Copyright © GREE, Inc. All Rights Reserved. トップの気持ち 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 6

Slide 6 text

Copyright © GREE, Inc. All Rights Reserved. 開催趣旨 第⼀回☆GREE AI Programming ContestでTensorFlow • リテラシーをあげる • 輪読会なども以前から実施 • http://www.deeplearningbook.org/ • 正しい⽅向に夢を広げたい • 低コストで使える環境を⽤意する • 使えばわかる事は多い(使わないとよくわからない) • なるべく沢⼭のエンジニアが触った⽅がよい • 応⽤範囲が広い • 興味ある⼈も多い

Slide 7

Slide 7 text

Copyright © GREE, Inc. All Rights Reserved. • 開催のきっかけ / 開催趣旨 • 開催概要 • 運営側が⽤意したもの • 実施期間中の出来事 • 参加者、運営者の感想など • まとめ あらすじ 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 8

Slide 8 text

Copyright © GREE, Inc. All Rights Reserved. • ⽇時 • 2016年9⽉中旬 2週間 • 最初1週間の予定だったが伸びた • 参加者数 • 18チーム 30⼈くらい • 思ったより多くなったので途中で締め切り 開催概要 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 9

Slide 9 text

Copyright © GREE, Inc. All Rights Reserved. • お題 • 画像の2値分類 • 決まりごと • チーム戦(1〜3名) • ⽣成されたモデルの権利は会社に帰属 • 簡単な賞品あり • 画像の取り扱いについて取り決めをし、誓約する • Ex. コンテスト環境(AWS)外への持ち出し禁⽌。ローカルPC使⽤不可 • 業務外の時間で お題 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 10

Slide 10 text

Copyright © GREE, Inc. All Rights Reserved. • 学習データセット • OK: 30,000件、NG: 10,000件 • 評価データセット • 6,000件のhash key+labelを、規定のAPIに送信すると、そのう ち秘密の4,000件のみを対象にしたスコアを返す • コンテスト期間終了後、最後に送信されたデータ6,000件すべてを利 ⽤した精度で順位を判定 • つまり、最終結果だけ6,000件すべてを利⽤する 評価⽅法 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 11

Slide 11 text

Copyright © GREE, Inc. All Rights Reserved. Ref. プロダクション側での実装 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 12

Slide 12 text

Copyright © GREE, Inc. All Rights Reserved. • 開催のきっかけ / 開催趣旨 • 開催概要 • 運営側が⽤意したもの • 実施期間中の出来事 • 参加者、運営者の感想など • まとめ あらすじ 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 13

Slide 13 text

Copyright © GREE, Inc. All Rights Reserved. • コンテスト⽤のAWS環境 • サンプルプログラム • サンプルプログラムが動くようセットアップしたAMI • データセット • スコア計算のためのAPIサーバ • サポートチャット 運営側が⽤意したもの 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 14

Slide 14 text

Copyright © GREE, Inc. All Rights Reserved. • なんでAWSだったのか • 業務で幅広く利⽤しており、アカウントやセキュリティ周りの設 定等になれてたから • (Google) Cloud Datalabも検討しました • 専⽤アカウントを作り、そこに各チームがEC2をたてて、作業を⾏う • g2.2xlargeが各チーム1インスタンス • APIサーバもそのアカウントの中にある 運営側が⽤意したもの コンテスト⽤のAWS環境

Slide 15

Slide 15 text

Copyright © GREE, Inc. All Rights Reserved. • (注︓コンテストは2016/09に実施しました) • CUDA 7.5-18 (for Ubuntu14.04) • cuDNN v4.0 for CUDA 7.0 • Python3 • TensorFlow 0.9.0 • がインストールしてあるAMIを⽤意 • awsコマンド⽤の設定ファイルに上記AMI(やセキュリティグループ 等)を書いておいて、それを使ってインスタンス作成等してもらう 運営側が⽤意したもの サンプルプログラムが動くようセットアップしたAMI

Slide 16

Slide 16 text

Copyright © GREE, Inc. All Rights Reserved. • サンプルコードとデータはS3に置いておき、コピーしてもらう • データはStandard TensorFlow formatと⽣画像の両⽅⽤意 • 4万枚程度 • サンプルコード • ⽣TensorFlow • 畳み込み層が2層、全結合が1層の、⽐較的単純なネットワーク 運営側が⽤意したもの サンプルコードとデータセット トレーニング % python train.py --data_dir='data/train/*' --max_steps=100000 評価 % python output.py --checkpoint_dir=./train --eval_data=data/eval > result.json

Slide 17

Slide 17 text

Copyright © GREE, Inc. All Rights Reserved. • WebUIからチーム名を登録してもらってAPIキーを発⾏ • 回答の送信時にはチーム名とAPIキーで認証 • 回答の送信はAPIを直接叩いてもいいけど、ラップしたコードを配る • チーム⼀覧と現時点でのランキングを表⽰できる • 最終スコアを⼀番最後の回答に対して計算する • スコアは単純な正解率(正しく分類できたデータの⽐率) 運営側が⽤意したもの スコア計算のためのAPIサーバ 評価結果をAPIサーバに送信 % ./submit result.json

Slide 18

Slide 18 text

Copyright © GREE, Inc. All Rights Reserved. • 開催のきっかけ / 開催趣旨 • 開催概要 • 運営側が⽤意したもの • 実施期間中の出来事 • 参加者、運営者の感想など • まとめ あらすじ 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 19

Slide 19 text

Copyright © GREE, Inc. All Rights Reserved. • モデルの改善 • とりあえず複雑にしたり • 前処理の⼯夫 • 画像に既存の仕組み( Cloud Vision APIか何か)ラベルをつけて、 そのラベルを特徴にして分類した。 • ⽬視でもっと細かいラベルを⾃分たちでひたすらつけた • こっちの⽅が効果があった コンテスト中のできごと 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 20

Slide 20 text

Copyright © GREE, Inc. All Rights Reserved. • 開催のきっかけ / 開催趣旨 • 開催概要 • 運営側が⽤意したもの • 実施期間中の出来事 • 参加者、運営者の感想など • まとめ あらすじ 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 21

Slide 21 text

Copyright © GREE, Inc. All Rights Reserved. • 参加者の感想 • とりあえずマシンパワーが貧弱 • 基本的に学習がゆっくり • 3⼈チームで1⼈がGPU使うと2⼈が暇⼈になる • 分散もしたくなる • 運営の感想 • 動いてよかった • 実アプリに適⽤する場合のだいたいの流れが把握できた • こういうのに興味ある⼈や、各⼈の熱量がわかってよかった 終わってみて 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 22

Slide 22 text

Copyright © GREE, Inc. All Rights Reserved. • 開催のきっかけ / 開催趣旨 • 開催概要 • 運営側が⽤意したもの • 実施期間中の出来事 • 参加者、運営者の感想など • まとめ あらすじ 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 23

Slide 23 text

Copyright © GREE, Inc. All Rights Reserved. • 深層学習に慣れ親しむためのプログラミングコンテストを実施した • たくさんのエンジニアが、体験できた • 参加者はTensorFlowを書くだけのつもりだった • つもりだったが、結局前処理を頑張る感じになりました • 私が浅はかでした • 第⼆回もやる予定 まとめ 第⼀回☆GREE AI Programming ContestでTensorFlow

Slide 24

Slide 24 text

Copyright © GREE, Inc. All Rights Reserved.