generative adversarial networksによる 大貧民のカード提出モデ … ·...

26
Generative Adversarial Networksによる 大貧民のカード提出モデル構築 東京都市大学 知識工学部 経営システム工学科 穴田研究室 内田 純平

Upload: others

Post on 09-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

Generative Adversarial Networksによる大貧民のカード提出モデル構築

東京都市大学知識工学部 経営システム工学科

穴田研究室 内田純平

Page 2: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

初めに

ベースクライアント

福井大学樋口研究室 岡田源之介

クライアント名: testestes(2018 : UECda無差別級準優勝)

→Neural Network(NN)によるカード提出方法をGenerative Adversarial Networks(GANs)を

用いたカード提出モデルに変更

2

クライアント名 : GAM(ガム)

Page 3: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

背景

推定された順位に応じた提出

手札や場の状態によって勝てそうかどうかがなんとなくわかる

手札と場の状態からどの順位で上がれそうか推定

3

Page 5: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

GANsとは→敵対的生成ネットワーク (Ian J. Goodfellow : 2014)

偽物のお札

偽札か判別互いに高めあう

5

Page 7: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

設定入力データ環境データ(testestesと同様の入力形態)手札,場の状態,現在のランク,スート etc…

教師データ(Blauweregenのログ)提出札のデータ(testestesと同様の出力形態)

ランク(順位)データ

→ゲームプレイ時のランクではなくゲーム終了時に取れたランク

7

Page 8: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

カード提出モデル

Ev(x)

D(x)

提出札を3種類生成

現在の環境のランクを推定

環境のランクと生成された札でランクを推定NG(x)

UG(x)

DG(x)

G(x)

8

環境デ❘タ

ランクが近い物を提出

Page 9: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

カード提出モデルの説明

9

・G(x) : 提出札を生成

UG(x) : ランクが上がる提出

DG(x) : ランクが下がる提出

NG(x) :教師データのような提出 Ev(x)

D(x)

NG(x)

UG(x)

DG(x)

G(x)

環境デ❘タ

Page 10: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

G(x) Generatorの学習

10

UG(x)の場合

UG(x)

高いランクを目指す提出

ランクが低くなると判定ランク判定

環境デ❘タ

教師データにない提出札

競い合う

Page 11: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

G(x) Generatorの学習

11

NG(x)の場合

NG(x)

教師データに似た提出

偽物と判定真偽判定

環境デ❘タ

教師データに似通った提出札

競い合う

Page 12: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

今後の課題

Blauweregenに勝てていない

12

勝てるようなクライアントを作る

Page 13: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

ご清聴ありがとうございました

Page 14: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

付録

Page 15: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

Ev(x)(Evaluator)の学習

Ev(x)

環境デ❘タ

現在の環境からランクを推定する役割

15

ランク

デ❘タ

Page 16: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

D(x) (Discriminator)の学習

環境デ❘タ

Ev(x)

教師提出札

D(x)

入力デ❘タ

ランク

デ❘タ

16

環境のランクと提出札からランクを推定

環境のランク

Page 17: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

GANsによる学習方法

Page 18: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

UG(x)の設定UG(x)◦入力 : 100(testestesと同じ)◦出力 : 53(testestesと同じ)

UDF(x) [UG(x)を学習するための判別器]◦入力 : 53 + 5◦出力 : 5

損失関数 : binary cross entropy活性化関数 : sigmoid最適化手法 : SGD

18

Page 19: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

UDF(x)の学習

19

環境データ Ev(x)

実際の提出札

UDF(x)

環境デ❘タ

Ev(x)

G(x)

UDF(x)「教師データ」

ランクデータのランクを一つ下げたもの

「教師データ」ランクデータ

Page 20: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

UG(x)の学習

20

環境デ❘タ

Ev(x)

UG(x)

UDF(x)「教師データ」

ランクデータのランクを一つ上げたもの

Page 21: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

DG(x)の設定DG(x)◦入力 : 100(testestesと同じ)◦出力 : 53(testestesと同じ)

DDF(x) [DG(x)を学習するための判別器]◦入力 : 53 + 5◦出力 : 5

損失関数 : binary cross entropy活性化関数 : sigmoid最適化手法 : SGD

21

Page 22: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

DDF(x)の学習

22

環境データ Ev(x)

実際の提出札

DDF(x)

環境デ❘タ

Ev(x)

DG(x)

DDF(x)「教師データ」

ランクデータのランクを一つ上げたもの

「教師データ」ランクデータ

Page 23: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

DG(x)の学習

23

環境デ❘タ

Ev(x)

DG(x)

DDF(x)「教師データ」

ランクデータのランクを一つ下げたもの

Page 24: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

NG(x)の設定NG(x)◦入力 : 100(testestesと同じ)◦出力 : 53(testestesと同じ)

NDF(x) [NG(x)を学習するための判別器]◦入力 : 53 + 5◦出力 : 1

損失関数 : binary cross entropy活性化関数 : sigmoid最適化手法 : SGD

24

Page 25: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

NDF(x)の学習

25

環境データ Ev(x)

実際の提出札

NDF(x)

環境デ❘タ

Ev(x)

NG(x)

NDF(x) 「教師データ」偽物ラベル

「教師データ」本物ラベル

Page 26: Generative Adversarial Networksによる 大貧民のカード提出モデ … · 環境データ(testestesと同様の入力形態) 手札, 場の状態, 現在のランク, スートetc…

NG(x)の学習

26

環境デ❘タ

Ev(x)

NG(x)

NDF(x)「教師データ」本物ラベル