JP6330008B2 - Q学習を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法 - Google Patents

Q学習を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法 Download PDF

Info

Publication number
JP6330008B2
JP6330008B2 JP2016202021A JP2016202021A JP6330008B2 JP 6330008 B2 JP6330008 B2 JP 6330008B2 JP 2016202021 A JP2016202021 A JP 2016202021A JP 2016202021 A JP2016202021 A JP 2016202021A JP 6330008 B2 JP6330008 B2 JP 6330008B2
Authority
JP
Japan
Prior art keywords
value
action
character
game
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016202021A
Other languages
English (en)
Other versions
JP2018063602A (ja
Inventor
英爾 関谷
英爾 関谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DeNA Co Ltd
Original Assignee
DeNA Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DeNA Co Ltd filed Critical DeNA Co Ltd
Priority to JP2016202021A priority Critical patent/JP6330008B2/ja
Publication of JP2018063602A publication Critical patent/JP2018063602A/ja
Application granted granted Critical
Publication of JP6330008B2 publication Critical patent/JP6330008B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

本発明は、Q学習(Q−learning)を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法に関し、詳しくは、ゲーム環境のパラメータを入力値としゲームキャラクタの各行動による見込み報酬Qを出力値とするニューラルネットワーク(NN)の重み付けをQ学習により改善するためのプログラム、システム、及び方法に関する。
ニューラルネットワークは、脳のニューロン及びシナプスを模して考えられたモデルであり、学習および処理の2段階により構成される。学習段階では、多数の入力からその特徴を学習し、後の処理のためのニューラルネットワークを構築する。処理段階では、ニューラルネットワークを用いて新たな入力による出力値を抽出する処理を行う。近年では、学習段階の技術が大きく発展しており、例えばディープラーニングにより、高い表現力を持った多層ニューラルネットワークを構築できるようになりつつある。様々な分野で、この多層ニューラルネットワークの有効性が確かめられ、ディープラーニングの有効性が広く認知されるようになっている。
一方、Q学習(Q−learning)は、強化学習のの1つで、タスクに対する正解の行動を与えることなく、環境から与えられる報酬を元にして状況に応じた適切な行動を学習するというものである。近年、ニューラルネットワークの構造やパラメータを強化学習により改善・更新する試みがなされている。例えば、非特許文献1では、多層ニューラルネットワーク(CNN)とQ学習を組み合わせ、多層ニューラルネットワークのパラメータをQ学習により改善する手法として、DQN(Deep Q−Network)が提案されている。
しかしながら、当該DQNの手法をゲームキャラクタの最適な行動の選択のためニューラルネットワークのパラメータの学習に活用しようとすると、ゲーム特有の改善が必要となる。より具体的には、例えば、進行状況によりユーザキャラクタの行動の選択が制限される(選択可能となるまでに時間を要する必殺技などの行動など)ようなゲームにおいて、当該DQNの手法をそのまま活用しても、このようなユーザキャラクタの制限された行動の学習が思うように進まないために学習に偏りが生じ、ニューラルネットワークのパラメータの改善・更新が困難とならざるを得ないという問題があった。
本発明の実施形態は、ゲーム環境に特有な状況を考慮した、Q学習(Q−learning)によるニューラルネットワークの重み付けの調整を行うことを目的の一つとする。本発明の実施形態の他の目的は、本明細書全体を参照することにより明らかとなる。
本発明の一実施形態に係る方法は、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、1又は複数のゲームキャラクタに関するゲームパラメータを第1の入力値として抽出するステップ、該第1の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタの各行動による第1の見込み報酬(Q値)を出力値として抽出するステップと、該各行動の中からの1つの選択・実行後の前記ゲームパラメータを第2の入力値として抽出するステップと、該第2の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタの各行動による第2の見込み報酬(Q値)を算出するステップと、前記第1の見込み報酬(Q値)と前記第2の見込み報酬(Q値)に基づき、1又は複数層で構成されるニューラルネットワーク(NN)のパラメータを更新するステップとを複数回繰り返し実行させ、Q学習を用いて1又は複数層で構成されるニューラルネットワーク(NN)のパラメータの調整を行うように構成される。
本発明の一実施形態に係るシステムは、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、1又は複数のゲームキャラクタに関するゲームパラメータを第1の入力値として抽出するステップ、該第1の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタの各行動による第1の見込み報酬(Q値)を出力値として抽出するステップと、該各行動の中からの1つの選択・実行後の前記ゲームパラメータを第2の入力値として抽出するステップと、該第2の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタの各行動による第2の見込み報酬(Q値)を算出するステップと、前記第1の見込み報酬(Q値)と前記第2の見込み報酬(Q値)に基づき、1又は複数層で構成されるニューラルネットワーク(NN)のパラメータを更新するステップとを複数回繰り返し実行させ、Q学習を用いたニューラルネットワーク(NN)のパラメータの調整を行うように構成される。
本発明の一実施形態に係るプログラムは、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、1又は複数のゲームキャラクタのゲームパラメータを第1の入力値として抽出するステップ、該第1の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタの各行動による第1の見込み報酬(Q値)を出力値として抽出するステップと、該各行動の中からの1つの選択・実行後の前記ゲームパラメータを第2の入力値として抽出するステップと、該第2の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタの各行動による第2の見込み報酬(Q値)を算出するステップと、前記第1の見込み報酬(Q値)と前記第2の見込み報酬(Q値)に基づき、1又は複数層で構成されるニューラルネットワーク(NN)のパラメータを更新するステップとを複数回繰り返し実行させ、Q学習を用いたニューラルネットワーク(NN)のパラメータの調整を行うように構成される。
本発明の様々な実施形態によって、1つのバトルの間に1又は複数のゲームキャラクタの行動によりバトル状態が刻々と変化するゲーム、特に、進行状況によりユーザキャラクタの行動の選択が制限されるようなゲームにおいて、ユーザキャラクタの制限された行動の学習を効率的かつ確実に選択せしめ、ニューラルネットワークのパラメータの改善・更新を効果的に行うことが可能となる。
本発明の一実施形態に係るシステム1の構成を概略的に示す構成図。 一実施形態におけるシステム1が有する機能を概略的に示すブロック図。 一実施形態におけるニューラルネットワーク(NN)のパラメータを調整するフローの一例を示す図。 一実施形態におけるニューラルネットワーク(NN)の構成の一例を示す図。 一実施形態に行動別履歴管理テーブルの一例を示す図。
図1は、本発明の一実施形態に係るシステム1の構成を概略的に示す構成図である。一実施形態におけるシステム1は、図示するように、サーバ10と、このサーバ10とインターネット等の通信網20を介して接続された複数の端末装置30と、を備え、端末装置30のユーザに対して電子商取引サービスを提供する。また、一実施形態におけるシステム1は、キャラクタを用いたゲームや電子書籍、動画コンテンツ、及び音楽コンテンツ等のゲーム以外の様々なデジタルコンテンツの提供サービス、並びに、テキストチャット(ミニメール)、サークル、アバター、日記、伝言板、及び挨拶等の様々なユーザ間のコミュニケーション機能を実現するコミュニケーションプラットフォーム(SNSプラットフォーム)サービス等の様々なインターネットサービスを、端末装置30のユーザに対して提供し得る。
一実施形態におけるサーバ10は、一般的なコンピュータとして構成されており、図示のとおり、CPU(コンピュータプロセッサ)11と、メインメモリ12と、ユーザI/F13と、通信I/F14と、ストレージ(記憶装置)15と、を含み、これらの各構成要素がバス17を介して互いに電気的に接続されている。CPU11は、ストレージ15からオペレーティングシステムやその他様々なプログラムをメインメモリ12にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ12は、CPU11が実行するプログラムを格納するために用いられ、例えば、DRAM等によって構成される。なお、一実施形態におけるサーバ10は、それぞれ上述したようなハードウェア構成を有する複数のコンピュータを用いて構成され得る。なお、上述したCPU(コンピュータプロセッサ)11は一例であり、これに代えて、GPU(グラフィックス・プロセッシング・ユニット)を用いるものであってもよいことは言うまでもない。CPU及び/又はGPUをどのように選択するかは、所望のコストないし効率などを勘案した上で適宜決定することが可能である。以下、CPU11を例として説明する。
ユーザI/F13は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、CPU11の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信I/F14は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介して端末装置30と通信可能に構成される。
ストレージ15は、例えば磁気ディスクドライブで構成され、各種サービスを提供するための制御用プログラム等の様々なプログラムが記憶される。また、ストレージ15には、各種サービスを提供するための各種データも記憶され得る。ストレージ15に記憶され得る各種データは、サーバ10と通信可能に接続されるサーバ10とは物理的に別体のデータベースサーバ等に格納されてもよい。
一実施形態において、サーバ10は、階層構造の複数のウェブページから成るウェブサイトを管理するウェブサーバとしても機能し、こうしたウェブサイトを介して各種サービスを端末装置30のユーザに対して提供し得る。ストレージ15には、このウェブページに対応するHTMLデータも記憶され得る。HTMLデータは、様々な画像データが関連付けられ、又、JavaScript(登録商標)等のスクリプト言語等で記述された様々なプログラムが埋め込まれ得る。
また、一実施形態において、サーバ10は、端末装置30においてウェブブラウザ以外の実行環境上で実行されるアプリケーション(プログラム)を介して各種サービスを提供し得る。ストレージ15には、こうしたアプリケーションも記憶され得る。このアプリケーションは、例えば、Objective−CやJava(登録商標)等のプログラミング言語を用いて作成される。ストレージ15に記憶されたアプリケーションは、配信要求に応じて端末装置30に配信される。なお、端末装置30は、こうしたアプリケーションを、サーバ10以外の他のサーバ(アプリマーケットを提供するサーバ)等からダウンロードすることもできる。
このように、サーバ10は、各種サービスを提供するためのウェブサイトを管理し、当該ウェブサイトを構成するウェブページ(HTMLデータ)を端末装置30からの要求に応答して配信することができる。また、上述したように、サーバ10は、このようなウェブページ(ウェブブラウザ)を用いた各種サービスの提供とは代替的に、又は、これに加えて、端末装置30において実行されるアプリケーションとの通信に基づいて各種サービスを提供することができる。いずれの態様で当該サービスを提供するにしても、サーバ10は、各種サービスの提供に必要な各種データ(画面表示に必要なデータを含む)を端末装置30との間で送受信することができる。また、サーバ10は、各ユーザを識別する識別情報(例えば、ユーザID)毎に各種データを記憶し、ユーザ毎に各種サービスの提供状況を管理することができる。詳細な説明は省略するが、サーバ10は、ユーザの認証処理や課金処理等を行う機能を有することもできる。
一実施形態における端末装置30は、サーバ10が提供するウェブサイトのウェブページをウェブブラウザ上で表示すると共にアプリケーションを実行するための実行環境を実装した任意の情報処理装置であり、スマートフォン、タブレット端末、ウェアラブルデバイス、パーソナルコンピュータ、及びゲーム専用端末等が含まれ得るが、これらに限定されるものではない。
端末装置30は、一般的なコンピュータとして構成され、図1に示すとおり、CPU(コンピュータプロセッサ)31と、メインメモリ32と、ユーザI/F33と、通信I/F34と、ストレージ(記憶装置)35と、を含み、これらの各構成要素がバス37を介して互いに電気的に接続されている。
CPU31は、ストレージ35からオペレーティングシステムやその他様々なプログラムをメインメモリ32にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ32は、CPU31が実行するプログラムを格納するために用いられ、例えば、DRAM等によって構成される。
ユーザI/F33は、例えば、ユーザの入力を受け付けるタッチパネル、キーボード、ボタン及びマウス等の情報入力装置と、CPU31の演算結果を出力する液晶ディスプレイ等の情報表示装置とを含む。通信I/F34は、ハードウェア、ファームウェア、又は、TCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介してサーバ10と通信可能に構成される。
ストレージ35は、例えば磁気ディスクドライブやフラッシュメモリ等により構成され、オペレーティングシステム等の様々なプログラムが記憶される。また、ストレージ35は、サーバ10から受信した様々なアプリケーションが記憶され得る。
端末装置30は、例えば、HTML形式のファイル(HTMLデータ)を解釈して画面表示するためのウェブブラウザを備えており、このウェブブラウザの機能によりサーバ10から取得したHTMLデータを解釈して、受信したHTMLデータに対応するウェブページを表示することができる。また、端末装置30のウェブブラウザには、HTMLデータに関連付けられた様々な形式のファイルを実行可能なプラグインソフトが組み込まれ得る。
端末装置30のユーザがサーバ10によって提供されるサービスを利用する際には、例えば、HTMLデータやアプリケーションによって指示されたアニメーションや操作用アイコン等が端末装置30に画面表示される。ユーザは、端末装置30のタッチパネル等を用いて各種指示を入力することができる。ユーザから入力された指示は、端末装置30のウェブブラウザやNgCore(商標)等のアプリケーション実行環境の機能を介してサーバ10に伝達される。
次に、このように構成された一実施形態におけるシステム1が有する機能について説明する。上述したように、一実施形態におけるシステム1は、ユーザに対して様々なインターネットサービスを提供し得るが、特に、ゲーム配信サービスを提供することが可能である。以降、一実施形態におけるシステム1の機能について、ゲーム配信サービスを提供する機能を例として説明する。
図2は、システム1(サーバ10及び端末装置30)が有する機能を概略的に示すブロック図である。まず、一実施形態におけるサーバ10が有する機能について説明する。サーバ10は、図示するように、様々な情報を記憶する情報記憶部41と、一実施形態におけるゲームキャラクタの行動を決定するキャラクタ行動制御部42と、を備える。これらの機能は、CPU11及びメインメモリ12等のハードウェア、並びに、ストレージ15に記憶されている各種プログラムやテーブル等が協働して動作することによって実現され、例えば、ロードしたプログラムに含まれる命令をCPU11が実行することによって実現される。また、図2に例示したサーバ10が有する機能の一部又は全部は、端末装置30によって実現され、又は、サーバ10と端末装置30とが協働することによって実現され得る。
一実施形態における情報記憶部41は、ストレージ15等によって実現され、図2に示すように、ゲームにおける敵・味方キャラクタ(これらを総称してゲームキャラクタと呼ぶ)の各種ステータス、行動可能なキャラクタ、行動可能な技、直近行動したキャラクタのフラグ、直近行動したキャラクタの技などのゲームパラメータを管理するためのゲームパラメータ管理テーブル41aと、行動可能な各行動及びゲーム中に当該ゲームパラメータに基づき各行動が選択された場合の見込み報酬(Q値)を管理するための行動評価管理テーブル41bと、ゲーム中の各ゲームキャラクタにより選択された行動の履歴を管理するための行動履歴管理テーブル41cと、を有する。
次に、一実施形態におけるゲームキャラクタの行動を決定するキャラクタ行動制御部42の機能について説明する。キャラクタ行動制御部42は、情報記憶部41のゲームパラメータ管理テーブル41aに格納されている敵・味方キャラクタの各種ステータス、行動可能なキャラクタ、行動可能な技、直近行動したキャラクタのフラグ、直近行動したキャラクタの技などのゲームパラメータに基づき各ゲームキャラクタの行動を選択・決定していく。より具体的には、キャラクタ行動制御部42は、ゲームパラメータ管理テーブル41aのゲームパラメータを抽出し、これを入力値として1又は複数層のニューラルネットワークに入力し、出力として行動可能なキャラクタの行動毎の見込み報酬(Q値)を出力値として抽出し、これらの中から出力値の最も高い行動を通常選択・決定することとなるが、学習段階においては、各行動による見込み報酬(Q値)とは無関係に行動可能なキャラクタの行動をランダムに選択・決定するか、または、行動可能なキャラクタの行動毎の見込み報酬(Q値)の最も高い行動を選択・決定することで、都度ニューラルネットワーク(NN)のパラメータを調整を行う。キャラクタ行動制御部42は、行動の選択・決定のため、必要に応じて行動評価管理テーブル41bを参照し、行動可能な各行動及びゲーム中に当該ゲームパラメータに基づき各行動が選択された場合の見込み報酬(Q値)を得ることができる。キャラクタ行動制御部42は、このようにして例えば、1つのバトルが終了するまでの間の味方キャラクタの各行動を選択・決定することで学習を進めていくこととなる。なお、この例では、1バトルが終了するまでの味方キャラクタの各行動として説明したが、敵キャラクタ、味方キャラクタ又はこれらの一部であることを排除する意図ではない。また、1バトルが終了するまでとしたが、その他見込み報酬(Q値)が適切に算出できる区切りの時点までとしても構わない。
キャラクタ行動制御部42は、上記いずれの行動の選択・決定方法に関わらず、行動可能な各行動及びゲーム中に当該ゲームパラメータに基づき各行動が選択された場合の見込み報酬(Q値)を管理するための行動評価管理テーブル41bを適宜参照の上、ある状態Stのときの行動at及びその見込み報酬Q(St,at)と、行動aを選択した後の状態St+1のときの各行動a毎の見込み報酬Q(St+1,a)の中で最大の見込み報酬maxQ(St+1,a)とを用いて、以下の示す式により、適切な見込み報酬とすべきであった(より適切な)見込み報酬を算出する。なお、当該算出式は一例であり、これに限定されず適宜変更可能であることはいうまでもない。ここで、見込み報酬Q(Q値)とは、行動aをしたときに得られる報酬と今後に得られるであろう報酬の総和であり、rは行動atを選択・実行後の現実の報酬、αは学習率、γは割引率(報酬の減衰係数)をそれぞれ表す。
これにより、当初の見込み報酬Q(St,at)を修正すべきと判断されると(すなわち当初の(状態Stのときの)見込み報酬Q(St,at)と後(St+1)から振り返って算出された見込み報酬(St,at)との間に乖離がある場合)、この見込み報酬(St,at)がより適切な値となるよう、後述するニューラルネットワークのパラメータを更新する。Q学習の基本的手法については、これ以上の詳述はしないが、当業者はこれらの手法を適宜一実施形態に係るシステムに適用することができる。
図3は、本発明の一実施形態をフローとして示したものである。まず、ゲームパラメータ(入力値)の抽出を行い(ステップ110)、これを初期のニューラルネットワークに対して(第1の入力値として)入力を行うことで、ゲームキャラクタの各行動毎の第1の見込み報酬(Q値)を出力値として抽出し(ステップ120)、その中から所定のルールに従いゲームキャラクタの特定の行動を選択・決定し(ステップ130)、当該行動後のゲームパラメータを更新すると共に当該更新後のゲームパラメータを抽出し(ステップ140)、当該更新後のゲームパラメータを第2の入力値としてニューラルネットワークに入力を行い、ゲームキャラクタの各行動毎の第2の見込み報酬(Q値)を出力値として抽出し(ステップ150)、当該第1及び第2の見込み報酬(Q値)に基づき、より適切な見込み報酬を算出できるようニューラルネットワークのパラメータを更新する(ステップ160)。これらのステップを例えば1つゲームバトルが終了するまで、若しくは、複数世代繰り返していくことでゲームキャラクタの適切な行動の選択・決定に関わるニューラルネットワークのパラメータを進化させていく。以下、一実施形態に係る発明における、ゲームキャラクタのより最適な行動を決定するための、Q学習によるニューラルネットワークの学習を行う方法をより具体的に示す。
まず、強化学習の対象となるニューラルネットワークは、1又は複数層のニューラルネットワーク(CNNも含む)構造を備える任意のネットワークであってよい。ここで、ニューラルネットワークのパラメータの更新とは、ニューラルネットワークの構造及び各ノード間の重み付けの内、ニューラルネットワークの各ノード間の重み付けを変更することを主として意図している。図4は、このニューラルネットワークの構造及び各ノード間の重み付けの一例を示す。図示のように、一層の隠れ層を有するニューラルネットワーク(NN)であり、5つの入力層(ノード)に対して、3つのノードを有する隠れ層を通って、3つの出力層(ノード)と接続されている。接続する各ノード同士は、図示のように固有の重み付け(W11、W12、W21、W22等であり、この例では合計13の重み付け)でつながっている。ニューラルネットワークの構造は、通常は隠れ層が1層若しくは2層で構成され、隠れ層のノード数は、出力層のノード数と同じ数(30〜70程度)だけ設けられるが、特にこれに限られず、CNN、LSTMその他のニューラルネットワークであってもよい。
上述のように、このようなニューラルネットワークを用いて、各時点におけるゲームパラメータを入力値として入力することで、各行動(例えば、攻撃、魔法、特技など)を選択する場合の見込み報酬(Q値)を出力として得ることができる。特に学習の初期段階でみられるが、この見込み報酬(Q値)が正しく算出されていない場合は、このニューラルネットワークの誤差伝播等を適用することで、同じゲームパラメータを入力値とする場合に、適切な見込み報酬(Q値)が算出できるようニューラルネットワークのパラメータ(ノード間の重み付け)を変更していく。これを複数世代に亘り継続することで、ニューラルネットワークが進化・改善していき、ゲームにおけるゲームキャラクタによるより適切な行動を選択・決定できることにつながる。
しかしながら、ゲームによっては、選択が制限されている行動(常に選択可能ではない行動)や選択がされにくい行動などがあり、そのようなゲーム環境が複雑なゲームにおいては、Q学習に基づく強化学習をそのまま取り入れたとしても、ニューラルネットワークの学習が思うように進まないという問題があることが分かっている。当該問題に対する対処方法を検討した結果、下記手法により学習方法の改善が有効であることが判明した。
以下、一実施形態としてロールプレーイングゲームを例に説明するが、任意のゲームであってもよく、特定のゲームに限定することを意図するものではない。ロールプレーイングゲームは、複数の味方キャラクタと敵キャラクタとが対戦するコマンドバトルゲームである。味方キャラクタ及び敵キャラクタは行動ゲージを持っており、時間の経過と共に行動ゲージが上昇する。そして行動ゲージが満タンになったキャラクタは行動可能状態となる。プレイヤは行動可能状態となったキャラクタに対して、コマンドを選択することによりゲームが進行する。ゲームの試行においては、ある時間におけるゲームの状態をパラメータ化して入力値として個体に入力し、ニューラルネットワークからの出力値に応じてコマンドを選択することでゲームを進行させる。なお、前述したが、ゲームにおける敵・味方キャラクタ(これらを総称してゲームキャラクタと呼ぶ)の各種ステータス、行動可能なゲームキャラクタ、行動可能な技、直近行動したゲームキャラクタのフラグ、直近行動したゲームキャラクタの技などをゲームパラメータと定義する。
次に、この入力値の例をより具体的に説明する。ニューラルネットワークへの入力値として、例えば、ある時間(いずれかのゲームキャラクタが行動可能となった時間)における(1)ゲームキャラのステータス、(2)ゲームキャラクタのコマンド選択可能フラグと、(3)ゲームキャラクタが直近にコマンド選択を行ったかの正規化値とを入力するが、これらに限定することを意図するものではない。(1)ゲームキャラのステータスは、各ゲームキャラクタ(敵キャラクタも含む)の攻撃力、魔法攻撃力、防御力、魔法防御力、スピード、必殺技ゲージなどが考えられる。(2)ゲームキャラクタ全員のコマンド選択可能フラグは、全ゲームキャラクタ(味方キャラクタ及び敵キャラクタ)の各コマンドについての使用可能フラグ(0又は1)を意味する。
当該ゲームでは、味方キャラクタ1、味方キャラクタ2、味方キャラクタ3、味方キャラクタ4、敵キャラクタがおり、それぞれのキャラクタに5つのコマンド(攻撃、防御、スキル1、スキル2、必殺技)が設定されている。ある時間において、味方キャラクタ1のみが行動可能であり、且つ味方キャラクタ1は攻撃、防御、スキル1、スキル2が選択可能である場合、
味方キャラクタ1_攻撃:1
味方キャラクタ1_防御:1
味方キャラクタ1_スキル1:1
味方キャラクタ1_スキル2:1
味方キャラクタ1_必殺技:0
味方キャラクタ2_攻撃:0
味方キャラクタ2_防御:0
味方キャラクタ2_スキル1:0
味方キャラクタ2_スキル2:0
味方キャラクタ2_必殺技:0
・・・(略)・・・
敵キャラクタ_必殺技:0
といった入力となる。
次に、(3)のゲームキャラクタが直近にコマンド選択を行ったかの正規化値は、各コマンド毎に、当該各コマンドをどの程度直近に選択したかを示す値となる。例えば、あるコマンドを選択すると、その選択後、この正規化値は0と設定され、次のコマンド選択のタイミングで、0.2となり、その後0.2づつ最大値1まで増加する値に設定される。この正規化値が低いと同じコマンドが選択しづらくなる。
次に、出力値の例をより具体的に説明する。ニューラルネットワークから味方キャラクタのコマンドそれぞれについて見込み報酬(Q値)が出力値として抽出される。これによって、ある時間における行動可能なキャラクタのコマンドが決定される。
例えば、味方キャラクタ1における見込み報酬(Q値)が、
味方キャラクタ1_攻撃:0.8
味方キャラクタ1_防御:0.5
味方キャラクタ1_スキル1:0.4
味方キャラクタ1_スキル2:0.1
味方キャラクタ1_必殺技:0
であった場合、通常のコマンド選択方法であれば一番見込み報酬(Q値)が大きい「攻撃」が選択されることとなる。
ゲームバトルにおいては、この入力と出力を繰り返すことで、ゲームキャラクタの各行動を決定していく。通常は複数のゲームキャラクタの複数の行動が組み合わされてゲームバトルが進行してゆき、バトルが終了するまで継続することとなる。バトルの終了は、通常、例えば、敵ゲームキャラクタのHPが0となったり、味方ゲームキャラクタ全員のHPが0となる場合を意図しているが、ゲームバトルの評価が可能なその他の場合であっても構わない。
出力値の例をより詳細に説明する。味方キャラクタが各コマンド及び見込み報酬(Q値)は下記のように抽出・算出される。
味方キャラクタ1_防御:0.89961839
味方キャラクタ1_熟練の拳:1.16006923
味方キャラクタ1_シャウト:0.6012032
味方キャラクタ1_たたかう:0.53579712
味方キャラクタ1_アーマー ブレイク:0.52256131
味方キャラクタ1_正拳突き:0.314955
味方キャラクタ1_風の刃:0.60766339

味方キャラクタ2_防御:0.63610768
味方キャラクタ2_聖なる伝説の剣:0.83349609
味方キャラクタ2_魔神の守護:0.29603601
味方キャラクタ2_シャウト:−0.20091677
味方キャラクタ2_イナズマ剣:0.4563098
味方キャラクタ2_火炎剣:0.6400938
味方キャラクタ2_たたかう:0.40863395

味方キャラクタ3_防御:0.95442247
味方キャラクタ3_海の覇者:0.29018426
味方キャラクタ3_兜割り:0.20885491
味方キャラクタ3_シャウト:−0.25541139
味方キャラクタ3_たたかう:0.50958467
味方キャラクタ3_魔法破壊:0.36382771
味方キャラクタ3_腕力破壊:0.77368307

味方キャラクタ4_防御:0.84505749
味方キャラクタ4_宿敵チェンジ:0.21710753
味方キャラクタ4_フレンドコンビネーション:0.77146935
味方キャラクタ4_シャウト:0.18860745
味方キャラクタ4_たたかう:0.68954039
味方キャラクタ4_破壊工作:0.8964808
味方キャラクタ4_剣光線:0.6781354

味方キャラクタ5_防御:0.37057304
味方キャラクタ5_全体回復:−1.29269934
味方キャラクタ5_女王の加護:−1.28307414
味方キャラクタ5_シャウト:−1.33874702
味方キャラクタ5_治癒:−0.21439075
味方キャラクタ5_アーマープラス:−0.15570354
味方キャラクタ5_たたかう:−2.44153452
上記例では、5キャラクタがそれぞれ7コマンドを有しているため、合計35個のコマンド及びその見込み報酬(Q値)が抽出されることとなる。なお、この見込み報酬(Q値)は、−1〜1の範囲で正規化しているが、Q学習では将来の報酬が足されるためその範囲に収まらない場合もある。
このようにして、各コマンド毎の見込み報酬(Q値)が算出・抽出されると、これらの中から出力値の最も高い行動を通常選択・決定することとなるが、学習段階においては、必殺技など行動の選択・実行が制限されているため(必殺技ゲージが貯まるのに時間がかかるため、その間必殺技を選択できないため)、学習の範囲に偏りが生じてしまうという問題があることが明らかとなった。ゲーム、特にロールプレーイングのようなゲームではこの問題が顕著にみられた。そのため、学習段階においては、各行動による見込み報酬(Q値)とは無関係に行動可能なキャラクタの行動をランダムに選択・決定するか、または、行動可能なキャラクタの行動毎の見込み報酬(Q値)の最も高い行動を選択・決定することで、都度ニューラルネットワーク(NN)のパラメータの調整を行う。各行動による見込み報酬(Q値)とは無関係に行動可能なキャラクタの行動をランダムに選択・決定するか、または、行動可能なキャラクタの行動毎の見込み報酬(Q値)の最も高い行動を選択・決定するかのどちらを選択するかは、予めそれぞれの選択・決定方法の選定確率を設定値として決めておくことで、どちらの選択・決定方法をより優先して選ぶかを適宜設定可能である。これらの設定値が、それぞれ50%、50%であれば、等しい確率でいずれかの選択・決定方法が選ばれることとなり、それぞれ100%、0%と設定すると、常に各行動による見込み報酬(Q値)とは無関係に行動可能なキャラクタの行動をランダムに選択・決定する方法で、実行するコマンドが決定される。このような選択・決定の選定確率は学習の回数等に応じて所望の設定値に変更可能である。
一実施形態において、上述の必殺技など行動の選択・実行が制限されている(必殺技ゲージが貯まるのに時間がかかるため、その間必殺技を選択できない)こと等に起因する学習の範囲の偏りを防止するため、各行動による見込み報酬(Q値)とは無関係に行動可能なキャラクタの行動をランダムに選択・決定する方法の選定確率の設定値を100%とし、行動可能なキャラクタの行動毎の見込み報酬(Q値)の最も高い行動を選択・決定する方法の選定確率0%とすることができる。このようにすることで、各行動による見込み報酬(Q値)を元に選択するコマンドを決定する方法に比して、選択されにくいコマンドがより多く選択されることとなる結果、効果的、効率的な学習を行うことが可能となる。このような選択されにくいコマンドの選択による学習が十分に進めば、それぞれの確率を変更させていくことができる。例えば、各回の学習毎に、各行動による見込み報酬(Q値)とは無関係に行動可能なキャラクタの行動をランダムに選択・決定する方法の選定確率の設定値を100%から、0.0015%づつ減らしていってもよい。このようにすると学習が進むにつれ、ランダムに選択・決定する方法の選定確率の設定値が下がっていき、見込み報酬(Q値)の最も高い行動を選択・決定する方法の選定確率が上がっていくこととなる。この設定値の変更幅に特に限定はないが、例えば、0.0015%〜0.015%とすることができる。また、設定しの変更幅は随時変更可能である。
一実施形態において、選択されにくいコマンド(例えば必殺技など)が所定の回数以上選択された場合若しくは所定の条件を満たした場合に、各行動による見込み報酬(Q値)とは無関係に行動可能なキャラクタの行動をランダムに選択・決定する方法の選定確率の設定値を変更するように構成してもよい。例えば、選択されにくいコマンド(例えば必殺技など)が2回以上選択されると、当該ランダムに選択・決定する方法の選定確率の設定値を変更するようにしてもよい。その他、所定の条件は適宜設定することができる。
ここで、一実施形態において、あるアクションに対する報酬の算出において、味方キャラクタのアクション数に比べ敵キャラクタの行動回数が少ないため、敵キャラクタの攻撃のあった前後で選択・行動した味方キャラクタの1人にのみ敵キャラクターからの攻撃の被ダメージ分を反映させると当該キャラクタのコマンドによるアクションが大きくマイナスの方向に修正されてしまうということが分かっている。これを避けるため、味方のキャラクターの数で相手の攻撃を分散し、アクションがあったキャラがその一つ支払い自分の行動の実際の与ダメージを下方修正したものを報酬とする。例えば、敵キャラクタの攻撃が1で味方キャラ数が5である場合、被ダメージメモリをそれぞれ−0.2づつとする。味方の1人のアクション(報酬1)が発火すると、0.8を報酬として学習する。被ダメージメモリは、この場合「−0.2、−0.2、−0.2、−0.2、0」となり、味方のキャラクタのアクション(報酬0.5)が発火すると、0.3を報酬として学習をする。被ダメージメモリは、この場合「−0.2、−0.2、−0.2、0、0」となる。敵キャラクタの攻撃が0.5である場合、被ダメージメモリは「−0.3、−0.3、−0.3、−0.1、0.1」となる。
上述のように、学習段階においては、必殺技など行動の選択・実行が制限されている等の理由から、ゲーム、特にロールプレーイングのようなゲームにおける行動選択・決定の学習の範囲に偏りが生じてしまうことを回避するため、学習段階においては、各行動による見込み報酬(Q値)とは無関係に行動可能なキャラクタの行動をランダムに選択・決定するか、または、行動可能なキャラクタの行動毎の見込み報酬(Q値)の最も高い行動を選択・決定することで、都度ニューラルネットワーク(NN)のパラメータを調整を行うようにすることができるが、各行動による見込み報酬(Q値)とは無関係に行動可能なキャラクタの行動をランダムに選択・決定する場合においても、選択・実行が制限されている行動が必ずしも十分に選択されないという状況がある。これは、上述したゲーム中の各ゲームキャラクタにより選択された行動の履歴を管理するための行動履歴管理テーブル41cにおいて、選択・実行が制限されている行動に比してそれ以外の行動がより多く選択されることとなる結果、当該それ以外の行動の履歴が相対的に多くを占めることとなることに起因している。
一実施形態において、これを更に改善するため、行動毎に異なるメモリ空間、若しくは、行動毎に履歴情報を格納すると共に、全ての行動(アクション)の中から同数だけ選び、各行動(アクション)毎の履歴の中から完全にランダムに選択するようにすることができる。一例として、図5に示すような行動履歴管理テーブルが考えられる。図5では、行動履歴管理テーブルが、各行動(行動1、行動2・・・行動n)毎にその履歴がテーブル管理される状態となっている。さらに、この場合、各行動毎に2つの履歴を保持するようにし、同じ行動が2回より多く選択されると、古い履歴は削除されることで、履歴の数が2つに制限されるようになっている。このようにすることで、ランダムに選択する場合にあっても、履歴の数が必然的に多くなるような行動が多く選択されるといったことが確実に防止され、どの行動(選択されにくい行動、選択されやすい行動も含め)であっても広く選択されることで学習に偏りを効果的に防止することができることを見出した。なお、図5に示す例は一例であって、行動毎の行動履歴の数はこれに限定されず、適宜設定可能である。また、行動毎の行動履歴管理テーブルはそれぞれ別のメモリ空間に保存されるようにしてもよい。
このようにすることで、ゲームのバトルなどゲームパラメータが刻々と変化するようなゲームにおいても、ニューラルネットワークのパラメータをQ学習の手法を用いて強化学習させ、ニューラルネットワークを更新していくことで、敵キャラクタや味方キャラクタのより適切な行動を決定することが可能となり、ゲームの進行を飽きることなくより自然に楽しめ、ゲーム全体への魅力を高めることが可能となる。
以上、サーバ10が有する機能について説明した。次に、一実施形態における端末装置30が有する機能について説明する。端末装置30は、図2に示すように、様々な情報を記憶する情報記憶部51と、一実施形態における画像情報を端末側で表示させるための制御を実行する端末側制御部52と、を有する。これらの機能は、CPU31及びメインメモリ32等のハードウェア、並びに、ストレージ35に記憶されている各種プログラムやテーブル等が協働して動作することによって実現され、例えば、ロードしたプログラムに含まれる命令をCPU31が実行することによって実現される。また、図2に例示した端末装置30が有する機能の一部又は全部は、サーバ10と端末装置30とが協働することによって実現され、又は、サーバ10によって実現され得る。
一実施形態における情報記憶部51は、メインメモリ32又はストレージ35等によって実現される。一実施形態における端末側制御部52は、ユーザキャラクタによる行動の選択や受信したゲーム画面情報の表示などの様々な端末側の処理の実行を制御する。例えば、端末側制御部52は、ユーザがユーザキャラクタのある行動を選択すると、これをサーバ10へ送信したり、味方キャラクタや敵キャラクタの行動の結果ゲームパラメータが変化すると、これらの行動の動作や変更後のゲームパラメータをサーバ10から受信し表示させたりすることができる。
本明細書で説明された処理及び手順は、実施形態中で明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。より具体的には、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク、光ストレージ等の媒体に、当該処理に相当するロジックを実装することによって実現される。また、本明細書で説明される処理及び手順は、それらの処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
10 サーバ
20 通信網
30 端末装置
41 情報記憶部
42 キャラクタ行動制御部
51 情報記憶部
52 端末側制御部

Claims (12)

  1. Q学習を用いて1又は複数層で構成されるニューラルネットワーク(NN)のパラメー
    タを調整する方法であって、
    1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュー
    タに、
    1又は複数のゲームキャラクタに関するゲームパラメータを第1の入力値として抽出す
    るステップ、
    該第1の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタ
    の各行動による第1の見込み報酬(Q値)を出力値として抽出するステップと、
    該各行動の中からの1つの選択・実行後の前記ゲームパラメータを第2の入力値として
    抽出するステップと、
    該第2の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタ
    の各行動による第2の見込み報酬(Q値)を算出するステップと、
    前記第1の見込み報酬(Q値)と前記第2の見込み報酬(Q値)に基づき、1又は複数
    層で構成されるニューラルネットワーク(NN)のパラメータを更新するステップと、
    を複数回繰り返し実行させることを特徴とするQ学習を用いたニューラルネットワーク
    (NN)のパラメータを調整する方法。
  2. 前記キャラクタの前記各行動の中からの1つの選択は、該各行動による見込み報酬(Q
    値)の中から最も高い見込み報酬(Q値)を有する行動を選択するか、または、該各行動
    による見込み報酬(Q値)とは無関係にランダムに決定することにより行われることを特
    徴とする請求項1に記載の方法。
  3. 前記キャラクタの前記各行動の中からの1つの選択は、前記各行動による見込み報酬(
    Q値)の中から最も高い見込み報酬(Q値)を有する行動を選択する確率の設定値並びに
    前記各行動による見込み報酬(Q値)とは無関係にランダムに決定する確率の設定値に基
    づき行うことを特徴とする請求項2に記載の方法。
  4. 前記キャラクタの前記各行動の中からの1つの選択は、該選択の回数の増大につれ、前
    記各行動による見込み報酬(Q値)の中から最も高い見込み報酬(Q値)を有する行動を
    選択する確率の設定値を増加させ、前記各行動による見込み報酬(Q値)とは無関係にラ
    ンダムに決定する確率の設定値を減少させることを特徴とする請求項3に記載の方法。
  5. 前記キャラクタの前記各行動の中からの1つの選択は、該選択の回数の増大につれ、前
    記各行動による見込み報酬(Q値)の中から最も高い見込み報酬(Q値)を有する行動を
    選択する確率の設定値を約0.0015%づつ増加させ、前記各行動による見込み報酬(
    Q値)とは無関係にランダムに決定する確率の設定値を約0.0015%づつ減少させる
    ことを特徴とする請求項4に記載の方法。
  6. 前記キャラクタの前記各行動の中からの1つの選択が、該各行動による見込み報酬(Q
    値)とは無関係にランダムに行われる場合、前記各行動毎の行動履歴を格納した複数の行
    動別履歴情報における各履歴情報の多さとは関係なく、該各行動の中からランダムに決定
    するものであることを特徴とする請求項2から5までのいずれか1項に記載の方法。
  7. 前記キャラクタの前記各行動の中からの1つの選択が、該各行動による見込み報酬(Q
    値)とは無関係にランダムに行われる場合、格納可能な行動履歴数が所定数に制限された
    行動履歴管理テーブルを参照し、各行動履歴の中からランダムに決定するものであること
    を特徴とする請求項2から5までのいずれか1項に記載の方法。
  8. 前記複数の行動別履歴情報のそれぞれは、異なるメモリ空間に格納され、キャラクタの
    前記各行動の中からの1つの選択は、複数のメモリ空間の中からランダムに決定されたメ
    モリ空間に格納されている行動別履歴情報の行動であることを特徴とする請求項に記載の方法。
  9. 前記キャラクタの前記各行動の中からの1つの選択が該各行動による見込み報酬(Q値)とは無関係にランダムに決定する場合において前記選択は該各行動に選択条件が付されている行動の中からランダムに決定するものであることを特徴とする請求項2から8までのいずれか1項に記載の方法。
  10. 前記各行動による見込み報酬(Q値)とは無関係にランダムに決定する確率の設定値を
    、前記選択条件が付されている行動が所定の回数以上選択された場合に減少させることを
    特徴とする請求項3から9までのいずれか1項に記載の方法。
  11. Q学習を用いて1又は複数層で構成されるニューラルネットワーク(NN)のパラメー
    タを調整するシステムであって、
    1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュー
    タに、
    1又は複数のゲームキャラクタのゲームパラメータを第1の入力値として抽出するステ
    ップ、
    該第1の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタ
    の各行動による第1の見込み報酬(Q値)を出力値として抽出するステップと、
    該各行動の中からの1つの選択・実行後の前記ゲームパラメータを第2の入力値として
    抽出するステップと、
    該第2の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタ
    の各行動による第2の見込み報酬(Q値)を算出するステップと、
    前記第1の見込み報酬(Q値)と前記第2の見込み報酬(Q値)に基づき、1又は複数
    層で構成されるニューラルネットワーク(NN)のパラメータを更新するステップと、
    を複数回繰り返し実行させることを特徴とするQ学習を用いたニューラルネットワーク
    (NN)のパラメータを調整するシステム。
  12. Q学習を用いて1又は複数層で構成されるニューラルネットワーク(NN)のパラメー
    タを調整するプログラムであって、
    1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュー
    タに、
    1又は複数のゲームキャラクタに関するゲームパラメータを第1の入力値として抽出す
    るステップ、
    該第1の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタ
    の各行動による第1の見込み報酬(Q値)を出力値として抽出するステップと、
    該各行動の中からの1つの選択・実行後の前記ゲームパラメータを第2の入力値として
    抽出するステップと、
    該第2の入力値に基づき、前記ニューラルネットワーク(NN)からゲームキャラクタ
    の各行動による第2の見込み報酬(Q値)を算出するステップと、
    前記第1の見込み報酬(Q値)と前記第2の見込み報酬(Q値)に基づき、1又は複数
    層で構成されるニューラルネットワーク(NN)のパラメータを更新するステップと、
    を複数回繰り返し実行させることを特徴とするQ学習を用いたニューラルネットワーク(
    NN)のパラメータを調整するプログラム。

JP2016202021A 2016-10-13 2016-10-13 Q学習を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法 Active JP6330008B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016202021A JP6330008B2 (ja) 2016-10-13 2016-10-13 Q学習を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016202021A JP6330008B2 (ja) 2016-10-13 2016-10-13 Q学習を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法

Publications (2)

Publication Number Publication Date
JP2018063602A JP2018063602A (ja) 2018-04-19
JP6330008B2 true JP6330008B2 (ja) 2018-05-23

Family

ID=61967893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016202021A Active JP6330008B2 (ja) 2016-10-13 2016-10-13 Q学習を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法

Country Status (1)

Country Link
JP (1) JP6330008B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6779941B2 (ja) * 2018-05-10 2020-11-04 株式会社Snk 格闘ゲームの学習装置および学習プログラム
JP6970949B2 (ja) * 2018-06-11 2021-11-24 Necソリューションイノベータ株式会社 行動学習装置
JP7230431B2 (ja) * 2018-10-26 2023-03-01 株式会社ジェイテクト 操舵装置及び操舵システム
TW202018545A (zh) * 2018-11-13 2020-05-16 財團法人資訊工業策進會 產量控制系統、方法及其非暫態電腦可讀取媒體
US11801446B2 (en) * 2019-03-15 2023-10-31 Sony Interactive Entertainment Inc. Systems and methods for training an artificial intelligence model for competition matches
JP7419635B2 (ja) * 2019-04-25 2024-01-23 株式会社コナミアミューズメント ゲームシステム、制御システム、制御方法およびプログラム
CN111282267B (zh) * 2020-02-11 2021-08-20 腾讯科技(深圳)有限公司 信息处理方法、装置、介质及电子设备
JP2022140092A (ja) 2021-03-12 2022-09-26 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング 強化学習装置、強化学習方法及びプログラム
JP2022140087A (ja) 2021-03-12 2022-09-26 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング 強化学習装置、強化学習方法、プログラム及びデータ構造
CN114043497B (zh) * 2021-11-19 2023-06-30 济南大学 一种与老年人益智游戏智能交互的方法、***和机器人
CN116827685B (zh) * 2023-08-28 2023-11-14 成都乐超人科技有限公司 基于深度强化学习的微服务***动态防御策略方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006035388A (ja) * 2004-07-28 2006-02-09 Riyuukoku Univ 学習装置およびそれを備えた動作物体、学習方法、学習プログラムおよびそれを記録したコンピュータ読取り可能な記録媒体
US8069124B2 (en) * 2008-03-26 2011-11-29 Intel Corporation Combining speculative physics modeling with goal-based artificial intelligence
JP5759164B2 (ja) * 2010-12-20 2015-08-05 株式会社スクウェア・エニックス ゲーム用人工知能

Also Published As

Publication number Publication date
JP2018063602A (ja) 2018-04-19

Similar Documents

Publication Publication Date Title
JP6330008B2 (ja) Q学習を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法
JP6351671B2 (ja) ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法
US8821260B1 (en) System and method for granting in-game bonuses to a user
US8753211B2 (en) Game system
US10937277B2 (en) Guild-dependent variation of player capabilities in a computer-implemented game
KR20180044191A (ko) 멀티플레이어 비디오 게임 매치메이킹 시스템 및 방법들
KR102258278B1 (ko) 시즌별 보상 분배 시스템
JP6725210B2 (ja) サーバシステム、ゲームシステム及びプログラム
JP6062786B2 (ja) サーバシステム及びプログラム
WO2015168187A1 (en) System and method for granting in-game bonuses to a user
US20140157246A1 (en) Building cross-platform asynchronous games
JP5416264B1 (ja) ゲーム提供装置
US20140295964A1 (en) Game System, Control Method for Game System, and Program
CN111026272A (zh) 虚拟对象行为策略的训练方法及装置、电子设备、存储介质
US20140295925A1 (en) Level-balancing an online progression game
CN114344913A (zh) 一种游戏数据处理方法、装置、设备以及可读存储介质
JP2024037952A (ja) ゲームシステム、サーバ、プログラム、抽選イベント実行方法
JP2014054562A (ja) ゲーム提供装置
US11117059B2 (en) Non-transitory computer readable media, information processing device, and control method
KR20150017016A (ko) 게임 스킬 구현 방법 및 서버
US20200338446A1 (en) Presenting incentivized hierarchical gameplay
JP2015000166A (ja) ゲーム提供システム、ゲーム提供プログラム及びゲーム提供方法
Sharifi et al. Learning companion behaviors using reinforcement learning in games
JP2020028709A (ja) プログラム、情報処理装置及び制御方法
JP6794330B2 (ja) ゲームを提供するためのプログラム、システム、及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180423

R150 Certificate of patent or registration of utility model

Ref document number: 6330008

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250