【CEDEC 2021 フォローアップ】不正検知を可能とする弱教師あり学習手法「DevNet」の紹介 〜膨大なデータに潜む異常を最小限のラベリングで見つける技術〜


こんにちは。ゲームマスターチームの都築・閔です。
2021年8月24日〜26日に開催されたCEDEC2021において、『不正検知を可能とする弱教師あり学習手法「DevNet」の紹介 〜膨大なデータに潜む異常を最小限のラベリングで見つける技術〜』と題した講演を行いました。
ご視聴いただいた皆様・コメントをくださった皆様、本当にありがとうございました。
講演資料はこちらになります。

本稿では講演でお伝えし切れなかったことや、質問いただいた事項をフォローアップしていきます。

なお、本講演で紹介したDevNetの論文と著者による実装は下記のURLから参照できます。
興味のある方はぜひご一読いただければと思います。

データに基づく不正対策と他の不正対策の関連性について

本講演では、ユーザから送られてきたデータとゲームロジックの間の矛盾から不正を検知する「データに基づく不正対策」についてご紹介しました。一方で、不正対策には難読化などのクライアント側の対策や、ファイヤーウォールや通信の暗号化などサーバ側の対策も存在します。

これらの対策とデータに基づく不正対策は共存するものであり、互いに補完し合う関係性にあります。どれか一つだけやれば安心、というものではなく全てを実施することで総合的に不正に頑健な体制を作ることが重要です。データに基づく不正対策は、その判断の根拠がユーザから送られてきたデータにならざるを得ないため、そのデータ自身の信頼性を担保するためにはクライアント・サーバ共に不正対策を意識した作りである必要があります。逆に、日々新しい不正行為が行われる中では、クライアント・サーバで拾いきれない不正が存在する可能性は否定しきれません。そのような不正に対処する手段としてデータに基づく不正対策が活用できます。

DevNetと従来の異常検知の違いについて

講演中は、今までの異常検知の手法とDevNetの違いを、「ラベルがどれだけついているか」の観点で説明しました。
ここでは、講演中は説明していなかった、「データに対する仮定の違い」の観点から解説をしたいと思います。

今までの異常検知は、

  • 正常データの数が多く、かつパターンが多様でない
  • それに対し、異常データは数が少なく、しかもパターンが様々

という仮定の元に発展してきたものです。
例えば工場だと、正常品の規格が決まっていますが、異常のパターンは異物の付着や欠けなど、そのパターンが多様です。この場合は、データ数が多く、パターンが決まっている正常データだけを学習する方法が有効です。このような仮定を元に提唱された手法の例として、One-class SVMや、生成系(GAN)の手法を元にしたVAEやEfficientGANなどがあります。

しかしこの手法をそのまま不正検知に使うことはかなり困難です。確かに、ゲームの不正対策に利用できるデータも、正常データの数は多いことが予想されます。しかし、製造業などほかの産業で使われているデータとは違って、正常データのパターンは多種多様です。不正対策に利用できるデータは、規格が決まっているものではなく、個々人の行動を記録したものだからです。実際、弊社でもDevNet以外の手法を検討したことがありますが、やはりそれらの手法の仮定する状況と、弊社で扱っているデータの性質が違っていたせいか、望むような結果は得られませんでした。

「弱教師あり学習」の詳細

講演でも説明したように、いわゆる「教師あり学習」は、すべてのデータにラベルがついている状況で学習を行うことです。それに対し、「半教師あり学習」「弱教師あり学習」は、いずれも不完全なデータを用いて学習する方法です。この「半教師あり学習」と「弱教師あり学習」は、何が違うのだろう、と思われる方もいらっしゃるかと思います。

半教師あり学習は、単に「データの一部にしかラベルがついていない場合」を指す言葉です。ラベルそのものには誤りがないが、ただラベルが一部のデータにしかついていない状況で学習を行うことを「半教師あり学習」といいます。「ラベルの不完全さ」に加え、「ラベルの誤り」まで考えたのが弱教師あり学習です。DevNetの場合、異常でないデータをすべて正常と仮定して学習を行いますが、正常と分類しておいたデータにも異常が混じっているかもしれない、という意味合いで「弱教師あり」と分類されるそうです。

弱教師あり学習の例として、Facebookが2018年に行った研究が挙げられます(D. Mahajan et al., Exploring the Limits of Weakly Supervised Pretraining, ECCV 2018, pp. 181-196, https://openaccess.thecvf.com/content_ECCV_2018/html/Dhruv_Mahajan_Exploring_the_Limits_ECCV_2018_paper.html)。この研究ではImageNetの代替として、Instagramの画像とそれにつけられたハッシュタグを利用した学習を試みています。しかし、ユーザがつけたハッシュタグが画像分類タスクに用いるのに常に適切とは限りません。例えば、お寿司の画像を取得するために「#寿司」で検索するとお寿司の画像だけでなく、お店の人やお客さんの写真も含まれてしまいます。ハッシュタグを利用するこの研究は、ラベルが誤りを含むことを前提とした弱教師あり学習といえます。

講演中にいただいたご質問

Q. 論文から変更したハイパーパラメータはあるか?

発表中に紹介したデモについては、ハイパーパラメータを変えずに学習を行いました。
ただし、実業務で用いるデータは、数も、データの形も論文とは異なるため、それに合わせてネットワークそのものを変える必要も出てきます。

Q. early stoppingができなければ、ハイパーパラメータの探索も難しいのでは?

はい、ご指摘の通り、ハイパーパラメータの探索に非常に時間がかかってしまいます。途中で学習を止めることができませんので、epochごとにモデルを保存し、複数のモデルに対して評価を行う必要が出てきます。推論を高速化したり、複数の推論を同時に実行できるようにすることで、評価にかかるコストを下げられないか検討しています。

おわりに

今回の講演では、運用タイトルにおける不正対策に実際に導入したDevNetという手法についてご紹介しました。データに基づく不正対策はゲーム依存の部分が多分に含まれる都合上、各社の事例があまり出回らないのが実情だと思います。本講演と本稿の内容が、不正対策に日々取り組む皆様にとって何らかのヒントとなれば幸いです。
Cygamesでは引き続き、ユーザの皆様に快適に遊んでいただける環境の提供・維持に取り組んでまいります。
皆様のご理解・ご協力よろしくお願いいたします。