はじめに
だんないよ、nikkieです。
MANABIYA 1日目のDeNA 内田さんによる「DeNAにおけるAIの取り組み」の聴講メモです。
講義の概要
【国内最大級のエンジニア向け技術祭典】MANABIYA -teratail Developer Days-
DeNA AIシステム部では「先端AI技術を活用して事業を成功に導くこと」をミッションとし、
AI研究開発と事業貢献の両立を目指して様々なビジネスでのAI活用に取り組んでいます。
本セッションでは、コンピュータビジョン、自然言語処理、強化学習の分野を中心に、
現在取り組んでいる新たな価値提供へのチャレンジについて紹介します。
機械学習に取り組んでいるので、興味を持って聞きに行きました。
事前知識として、オセロニアのバランス調整を強化学習を使ったAIで行っていることは知っていました。
(先日のrettypyで強化学習の話題になったときに教えていただいた)
強化学習をバランス調整に活用。『逆転オセロニア』が目指す、ゲーム開発の近未来 – フルスイング
DeNAにおけるAIの取り組み
#MANABIYA
— nikkie @春休み (@ftnext) 2018年3月23日
内田さん DeNAにおけるAIの取り組み
・組織:kaggle実績は分析者の実績の証明という考え(30%工数!)
・ドライバーモニタリングにコンピュータビジョン(ランドマーク検出など)利用。軽量化に力入れた
・オセロニアのバランス調整は強化学習AIで
組織
研究開発と事業を両立させていく
研究開発の目標はサービスへのコミット 論文を書くことが目的ではない
研究開発の人間がサービスに入っていく
ビジネスの立ち上げから研究開発の人間がプロジェクトチームに入っていける
先端技術のキャッチアップのために
- 情報発信、社外発信
・社内勉強会 →ブログ見つけました:アーカイブ - Technology of DeNA
・国際学会聴講
・30%の工数はkaggleに取り組める kaggle実績は分析者の実績の証明という考え
データサイエンティストは「kaggle枠」と呼ばれる ありとあらゆる手段でKPIを達成する
・今後:AIプロジェクトマネジメント(AI研究開発のマネジメントとは)
ML Ops 安定したモデルのアップデート、安定稼働 - 論文の再現検証のリソースが供給される
- キャッチアップができなくならないようにアサイン
ドライバーモニタリング(コンピュータビジョン)
www.slideshare.netこちらのスライドの内容でした。
基礎タスクは画像分類。畳み込みニューラルネットワーク(CNN)により実現
CNNは2015年のResNetがデファクトスタンダード。
内田さんがまとめたCNNのサーベイ論文はこちらだと思います。
特徴マップ
4×4の例
(1,1)の特徴ベクトルは元の画像のある範囲(1,1)〜(3,3)の特徴を集約した情報が入る
信頼度が0.9以上で物体がある→(1,1)を見てどんな物体か=1クラスの物体検出
+どういうクラスかという次元を追加(C次元)→これは車、人と検出できる(Cクラスの物体検出)
:ランドマーク検出(目や鼻などの特徴点の検出)
まず顔があるか検出→ランドマーク座標を見る
実応用のためにはニューラルネットワークの高速化が重要
枝刈り、畳み込みの分解、蒸留、早期終了(スライド21)
危険運転の前にアラートを出したい 例:「運転が荒い」→行動変容
どういう運転をしているのかは外の環境+ドライバーの状態
- ドライバーの状態・・・ランドマーク検出:どこに目があるか→顔の向き
- 外の環境・・・走っているレーンやまわりの車の情報
画像のどこにレーンがあるか1次元(点)で出す
スマホやエッジデバイスで動かすには軽量化が必要。ここを頑張ったそうです。
オセロニアのバランス調整(強化学習)
www.slideshare.netこちらのスライドの内容でした。
ゲームの新鮮さを保つために、キャラクターやスキルを定期的に導入する。
熟練プランナーが設計するが、テストしてみないとバランスが崩れているかわからない。
→そこで、ゲームAIを使ってバランス調整
取り組んだこと:
- 教師あり学習
そもそも教師ありとして学習できるのか検証。
教師あり学習はDQNに着想。
盤面を画像としてCNNに入れる。
盤面の特徴ベクトルと特徴量の組合せ
学習できそうとわかったので先に進んだ。 - 表現学習
one-hotベクトルではキャラクター増えたら学習し直し
似たようなキャラクターが同じようなベクトルになるような表現学習
(=固定長のベクトルで表現できるようにした) - 強化学習
自己対戦を繰り返して強くなれるか - 先読み機能
手を打った後の盤面をランダムにプレイアウトし、どのくらいの確率で勝つかを打つ手の価値とする
強化学習はゲームが一番適用しやすい。
ただし、ゲームに限らず応用しようとしているとのこと。
感想
1限の染谷さんに続いてkaggleへの言及がありました。やっぱりkaggleなんですね!
DeNAのチーム体制は先端技術までカバーできているので、
どんな要望にも対応できそうな理想的なチームだと思います。
ここまでの体制を作ってもキャッチアップと案件のバランスには気を使うようなので、
一介のエンジニアが空き時間にディープラーニングを勉強したとしても
簡単には業務で利用できるようにはならないと覚悟したほうがよさそうです。
大変というのはやらない理由にならないですし、心躍る分野なので
私は取り組んでみようと思います。
当面の私の課題は、kaggleでの探索的データ解析の勉強(優先度高)と
ディープラーニングのキャッチアップになりますね。
内田さん、並びにMANABIYA運営スタッフの皆さま、
貴重なお話とそれを聞く機会をありがとうございました。