ITmediaさんの「Splatoon 2」をディープラーニングで解析する記事がおもしろすぎた件

こんにちは。ITブロガーのマサタカです。

スプラトゥーンは1からハマってます。

ITmediaさんの記事がおもしろすぎたので、取り上げさせていただきます。
あの任天堂の人気ソフト「Splatoon 2」をなんとディープラーニングを用いて解析しています。

本記事は前編後編と2つに分かれており、大変有意義な情報が詰まっています。ガチプレイヤーには是非一読いただきたいですが、あんまりデータ解析とか得意じゃないし、、という方向けに要所だけまとめておきます。

今回取り上げられているテーマかこちらの2つです。(実際は様々な検証が記事ではあります。)

解析する2つのテーマ

1つ.「ガチエリアは『塗り』と『キル』どちらが重要なのか」

2つ.「編成事故は存在するのか、そうであればルールごとに望ましい編成は何か」

データの下準備まとめ

解析方法も大事だけど、もっと大事なデータについて簡単にまとめておきます。

集めたデータ元

試合結果を自力で画像キャプチャしたそうです!集めたのはこれら。

集めたデータ
  • 塗り結果
  • キル数+スペシャル使用回数のリザルト
  • Nintendo公式アプリの結果も(塗りポイント、アシストキルもある)

1505試合分なので1505×3 = 4515枚!これを手作業でキャプチャ!

ものすごい根気と体力です(笑) もうちょいネットにある動画からどうにかできたのでは?

データ加工処理

データが使えるようにどう加工したか。(専門用語でクレイジングと言います)

データの加工方法
  • データ抽出はプログラミング言語「Python」で実装
  • 画像処理ライブラリ「OpenCV」を使って判定
  • 画像判定、文字認識にDeep Learning活用(「Keras」で実装)

元のテンプレート画像をあらかじめ用意することで、認識精度はほぼ100%になったとのこと。

これはすごい!

不要なデータ除外

続いて異常値や対象としたいデータのみに。

これらは除外する
  • データ抽出がうまくいかなかったログ
  • 試合中に回線落ちが発生した試合データ
  • プレイヤーのランクが「S」「S+」帯の試合に限定

S帯以上に限定したことで、最終的には1505試合から632試合分のデータにしたそうです。

検証結果

「ガチエリアは『塗り』と『キル』どちらが重要なのか」

まずは単純なデータ集計のみで確認しています。

単純なデータ集計結果

【キル数と勝率】
合計キル数が上回っていたチームの勝率・・・82.2%
合計キル数が下回っていたチームの勝率・・・17.8%

【塗り数と勝率】
合計塗りポイントが上回っていたチームの勝率・・・63.8%
合計塗りポイントが下回っていたチームの勝率・・・36.2%

【スペシャル使用回数と勝率】
合計SP使用回数が上回っていたチームの勝率・・・48.0%
合計SP使用回数が下回っていたチームの勝率・・・52.0%

この数字からは、キル数が最も勝率に貢献していることが分かります。
もちろん戦況によっては貢献度は変化するとは思いますが、データからは『塗りよりキルが重要』ということになります。

“編成事故”は存在するのか?

ここでは統計と機械学習を用いてより詳しい分析をしています。

詳細は省きますが、最も勝利に関連した要素は「味方・敵の合計キル数の差」(味方の合計キル数-敵の合計キル数)となっています。

つまり、ガチエリアは、特定範囲のエリアを塗って占領し続けるルールではあるにも関わらず、ここでも『塗るという行為以上に敵をキルすることが重要』という結果に。

反対に、最も敗北に関連した要素は「敵チームの最低キル数」「味方チームの最低デス数」でした。これはなんとなくわかりますが、おもしろいのが次点である「味方チームの後衛(チャージャー)人数」です。編成事故という観点でみれば、塗ることに不向きな武器が集まってしまうと前線を維持できずに勝率が下がる可能性が大きいという結果に。(もちろんチャージャーの腕しだいですが)

結果としては、『(腕の低い)チャージャーが2人以上は編成事故』と言えるでしょう。

塗りの差で勝つために必要な塗りポイントは?

続いて「勾配ブースティングツリー」という機械学習アルゴリズムを用いて、勝利につながる具体的なキル数目標塗りポイント目標を解析しています。

こちらも詳細を省いて結果だけ。

ガチエリアでは・・

「敵チームよりも味方チームの合計キル数が5以上多ければ勝てる」

 

「敵チームが味方チームよりも合計キル数が4以上多かったとしても、合計塗りポイントで味方チームのほうが540ポイント以上多かったら勝てる」

という結果に!合計540ポイント以上多くであれば1人当たり140ポイント近く敵より上回ればキルが強い敵にも勝てる可能性が高まると。140くらいならがんばれそう??

どこを塗れば勝ちやすいか?

ただ、もちろんどこを塗ってもいいわけではないですよね。そこで、ステージのどこを塗ればよいかを「Deep Learning」を用いて解析。性質上データ量が少ないと精度がでないため、元画像から水増ししているそうです。

ステージは「バッテラストリート」でしています。結果は、、ITmediaさん記事に画像がありますのでそちらをご確認ください!

何時にやれば勝ちやすい?

最後に、時間帯による勝率の違いについて。

こちらの筆者回答としてはプレイヤーのタイプが「朝型」なのか「夜型」なのかが影響されるという結果になってます。

こちらは「When 完璧なタイミングを科学する」に書かれている遺伝子により「いつ」やるかを重視した考え方だそうです。

つまり、朝方であった場合は「朝7:00時あたりは勝率は高いが、夕方16:00くらいから低くなる」ということです。

僕は夜型かなぁ。朝はあまりやれないのでわかりませんが。

一般的には午前中に集中力が高まる人が多いそうですが、あなたはどちらのタイプですか?

さいごに

「Splatoon 2」をやっている人であれば誰でも気になるようなところを、実際にデータで検証してみようという試み(しかもDeep Learningも使って!)でしたが、非常におもしろかったです。

データサイエンティストのすごさが分かりましたし、世間ではこれからもっと優遇されるでしょう。

こういったおもしろい良記事があれば、これからも紹介していきたいと思います。

スプラトゥーン持ってない人で気になった方はSwitch本体とセット版が売ってます👇

それでは。

【オススメする5つの理由】あなたを支配し、社会を破壊する、AI・ビッグデータの罠 が最高に面白い!

2018.09.16

【AI VS. 教科書が読めない子供達】 AI社会で生き残るために必要な知識を短い時間で習得する 解説まとめ

2018.09.10