2019年11月22日、さっぽろ創世スクエア札幌市民交流プラザにて北海道IT企業合同技術交流会「Kita Tech2019」が開催されました。
北海道を拠点に活動するIT企業が一堂に会し様々な技術に関する発表を行う当イベント。今年は「GPUサーバーを活用したIT技術」をテーマに8チームの発表が行われました。本記事ではその内の2つ。
- ネットスター株式会社:「映画の予告編から本編の対象年齢を割り出すことはできるのか」
- 株式会社ノースグリッド:「深層強化学習でグリッドを駆け抜ける」
の発表内容をレポートします。
映画の予告編から本編の対象年齢を割り出すことはできるのか(ネットスター株式会社)
発表者はネットスター株式会社の渋谷一将さん。発表内容は「映画の予告編から本編の対象年齢を割り出すことはできるのか」というもの。
映画には対象年齢が設定されている作品があります。例えばマレフィセントは全年齢対象なのに対しターミネーターはPG12に設定されています。PG12は「小学生以下のお子さんが鑑賞する場合は保護者が同伴した方が望ましい」という意味を持つ映画のレイティング(鑑賞制限)の1つです。
現状レイティングを決める作業は目視で行なっており、さらに具体的な判定基準は不明瞭とのこと。その作業をAIによって自動化することで効率的なレイティングの判定が可能になるのではないか考え、今回の開発を行ったそうです。
具体的な判定方法としては
- YouTubeから予告編の映像を取得
- 映像から音声を抽出しテキスト化
- 文章を学習させたモデルを作成
- 別の予告編の映像をモデルに通してレイティングを判定
の流れで行います。
音声のテキスト化には自動音声認識サービスの「AmazonTranscribe」を利用。
そしてテキスト化したデータから予告編を分類する際に使ったのが、機械学習向けに開発されたエンドツーエンドのオープンソースプラットフォーム「TensorFlow」とTensorFlowなどの上で実行可能な高水準のニューラルネットワークライブラリ「Keras」です。
作品の対象年齢が12歳以上か12歳未満かの分類はテキストを数値化することで実現しました。
IMDB映画レビューの単語インデックスを利用し、出現頻度が高い単語ほど低い値を設定。12歳未満の映画の方が出現頻度が高い単語(数値の低い単語)をたくさん使っているのではないかという仮説を立て、実際に分類してみたところ…
見事に分類に成功しました。
しかし過学習が起きてしまい、汎用性能を出すところまではたどり着けませんでした。分類自体はできたことを踏まえ、データを増やすことで精度があがるのではないかと分析していました。
最後に今回のような技術を応用することで映画だけでなく、WEBサイト向けのフィルタリングサービスにも活用できないかと今後の展望を語りました。現状WEBサイトのフィルタリングサービスはカテゴリ単位で制限をしているとのこと。そのため例え全年齢対象のWEBサイトでも制限のかかるカテゴリと判断された場合は閲覧できません。対象年齢ごとに制限をかけることができればそのような問題も解決でき、さらに、対象年齢ごとの広告運用にも活用できるのではないかと話していました。
質疑応答では審査員の吉田博紀さんから「レイティングは性的な表現や暴力的なシーンとかが判定基準になってくると思うので画像も合わせた比較ができるともっと面白そう」というアドバイスがありました。
深層強化学習でグリッドを駆け抜ける(株式会社ノースグリッド)
発表者は株式会社ノースグリッドの渡辺僚さん。渡辺さんはゲームの攻略に必要な「グリッド上を移動し、所定の位置に到達する操作」を深層強化学習で学習し、DNNにおけるGPU高速化の威力を検証しました。
まずはじめに深層強化学習についてのおおまかな説明がありました。深層強化学習とは、人工知能を使った学習方法、いわゆる「機械学習」の1つです。機械学習の分類の中でも、深層学習(ディープラーニング)と強化学習の1つであるQ学習を組み合わせたDQN(Deep-Q-Network)と呼ばれる深層強化学習の基礎的な手法を今回は利用したとのこと。
次に学習に使ったゲームの紹介。ランダムに配置されるゴールを目指すゲームです。スタート位置は左下で固定されており、ゴールも初めから出現しているシンプルなルール。
具体的な学習方法は、強化学習に必要な報酬を設定することで行います。ゴールした時に0、それ以外は-1の報酬を設定。
Q学習では報酬の値を最大化するように進んでいくので、出来るだけ-1を取らないように行動します。繰り返すことで、だんだん早くゴールにたどり着くようになるという仕組みです。
なお0と-1の2つしか報酬がないのは、DQNでは報酬を二値化するべきとされているからだそうです。他の部分点を与えると部分点ばかりを取りに行きがちとのこと。
このゲームの深層強化学習をGPUとCPUの2つの環境で実行し、学習時間の違いを見ていきます。
同じゲームを7×7と11×11の2パターンで深層強化学習を行い、得られた結果がこちら。
7×7では学習自体は成功しましたが、学習時間はCPUが36ミリ秒に対して、GPUが43ミリ秒。本来であれば早くなるであろうGPUでの学習時間がCPUよりも遅くなってしまいました。
並列処理を得意とするGPU。並列度を高い方がより良い結果が出ると考え、ゲームのサイズを大きくした11×11で深層強化学習を行いました。すると学習時間はCPUが2,030ミリ秒に対して、GPUが1,243ミリ秒とGPUの学習時間が上回りました。
しかし、学習という面では失敗してしまったようで、壁に向かってずっと走ったり、その場にとどまることを選択してしまったりする学習結果になってしまったそうです。
GPUによって学習時間を早くすることはできたものの本当は10倍くらい早くなることを期待していたと話す渡辺さん。並列度が低いことに原因があるのではないかと分析し、発表を終えました。
そのほかのKita Tech2019レポートも要チェック
この記事をシェアする
同じカテゴリの新着記事
北海道ITまとめ
-
IT企業まとめ
-
スペースまとめ
ジョブボード
- 社名
- 募集職種
- 内容
- 給与・待遇
- 詳細
- 掲載終了日
ジョブボードに掲載したい企業募集中!詳しくはこちらより