JP6351671B2 - ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法 - Google Patents

ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法 Download PDF

Info

Publication number
JP6351671B2
JP6351671B2 JP2016165342A JP2016165342A JP6351671B2 JP 6351671 B2 JP6351671 B2 JP 6351671B2 JP 2016165342 A JP2016165342 A JP 2016165342A JP 2016165342 A JP2016165342 A JP 2016165342A JP 6351671 B2 JP6351671 B2 JP 6351671B2
Authority
JP
Japan
Prior art keywords
game
neural network
groups
neural networks
parameters
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
JP2016165342A
Other languages
English (en)
Other versions
JP2018029860A (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 JP2016165342A priority Critical patent/JP6351671B2/ja
Publication of JP2018029860A publication Critical patent/JP2018029860A/ja
Application granted granted Critical
Publication of JP6351671B2 publication Critical patent/JP6351671B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

本発明は、ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法に関し、詳しくは、ニューロエボリューションを用いてゲーム内の1又は複数のゲームキャラクタの行動を出力する複数のニューラルネットワーク(NN)の構造及びパラメータを調整するのためのプログラム、システム、及び方法に関する。
ニューラルネットワークは、脳のニューロン及びシナプスを模して考えられたモデルである。ニューロエボリューションは、進化論的手法とニューラルネットワークを組み合わせたものであり、最適なニューラルネットワークを遺伝的手法で探索する方法を提供するものである。
このようなニューロエボリューションにおいて、遺伝的アルゴリズムを用いて、機械学習を行うことで、ニューラルネットワークの構造や重み付けを進化させる方法が知られている(例えば、非特許文献1)。非特許文献1では、遺伝的アルゴリズムを用いてニューラルネットワークの構造や重み付けに関する最適解を学習させるNeuroEvolution of Augmenting Topologies(NEAT)という方法が提案されている。
"Evolving Neural Networks Through Augmenting Topologies"、Kenneth O. Stanley、Risto Miikkulainen
しかしながら、当該NEAT技術をゲームのプレイAIの学習に活用しようとすると、ゲーム特有の改善が必要となる。より具体的には、ゲームの進行によりゲーム環境やユーザキャラクタのパラメータが変動するような場合、ゲームの試行の度に評価が大きく変動し得るため、当該NEAT技術をそのまま活用しても学習が思うように進まず、ニューラルネットワークの構造や重み付けに関する最適解の探索が困難となっていた。
本発明の実施形態は、ゲームキャラクタの行動を決定するため、ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータの調整を行うことを目的の一つとする。本発明の実施形態の他の目的は、本明細書全体を参照することにより明らかとなる。
本発明の一実施形態に係る方法は、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、ゲームパラメータを入力値として抽出するステップと、該入力値に基づき、複数のニューラルネットワーク(NN)からそれぞれ複数の出力値を抽出するステップと、該出力値に基づき、1又は複数のゲームキャラクタの行動を決定するステップと、前記ゲームパラメータを該行動後のゲームパラメータに更新するステップと、これらのステップを繰り返し、各ニューラルネットワークに対応する各行動の出力値の組み合わせに対する評価値を算出するステップと、前記各行動の出力値の組み合わせに対する評価値が高くなる方向で、遺伝的アルゴリズムを適用し前記複数のニューラルネットワーク(NN)の構造及びパラメータを更新するステップと、を複数世代繰り返し実行させることで、ニューロエボリューションを用いたニューラルネットワーク(NN)の構造及びパラメータの調整を行うように構成される。
本発明の一実施形態に係るシステムは、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、ゲームパラメータを入力値として抽出するステップと、該入力値に基づき、複数のニューラルネットワーク(NN)からそれぞれ複数の出力値を抽出するステップと、該出力値に基づき、1又は複数のゲームキャラクタの行動を決定するステップと、前記ゲームパラメータを該行動後のゲームパラメータに更新するステップと、これらのステップを繰り返し、各ニューラルネットワークに対応する各行動の出力値の組み合わせに対する評価値を算出するステップと、前記各行動の出力値の組み合わせに対する評価値が高くなる方向で、遺伝的アルゴリズムを適用し前記複数のニューラルネットワーク(NN)の構造及びパラメータを更新するステップと、を複数世代繰り返し実行させることで、ニューロエボリューションを用いたニューラルネットワーク(NN)の構造及びパラメータの調整を行うよう構成される。
本発明の一実施形態に係るプログラムは、1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュータに、ゲームパラメータを入力値として抽出するステップと、該入力値に基づき、複数のニューラルネットワーク(NN)からそれぞれ複数の出力値を抽出するステップと、該出力値に基づき、1又は複数のゲームキャラクタの行動を決定するステップと、前記ゲームパラメータを該行動後のゲームパラメータに更新するステップと、これらのステップを繰り返し、各ニューラルネットワークに対応する各行動の出力値の組み合わせに対する評価値を算出するステップと、前記各行動の出力値の組み合わせに対する評価値が高くなる方向で、遺伝的アルゴリズムを適用し前記複数のニューラルネットワーク(NN)の構造及びパラメータを更新するステップと、を複数世代繰り返し実行させることで、ニューロエボリューションを用いてニューラルネットワーク(NN)の構造及びパラメータの調整を行うように構成される。
本発明の様々な実施形態によって、1つのバトルの間に1又は複数のゲームキャラクタの行動によりバトル状態が刻々と変化するゲームにおいても、ゲーム内の1又は複数のゲームキャラクタの行動を出力する複数のニューラルネットワーク(NN)の構造及びパラメータをニューロエボリューションを用いて更新することにより、より適切かつ自然なゲームキャラクタの行動の決定に資することが可能となる。
本発明の一実施形態に係るシステム1の構成を概略的に示す構成図。 一実施形態におけるシステム1が有する機能を概略的に示すブロック図。 一実施形態におけるニューラルネットワーク(NN)の構造及びパラメータを調整するフローの一例を示す図。 NEATの手法による場合の世代数と評価値との関係の一例をプロットしたものを示す図。 一実施形態におけるニューラルネットワーク(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と、当該ゲームパラメータに基づき各行動が選択された場合の評価値を管理する行動評価値管理テーブル41bと、を有する。
次に、一実施形態におけるゲームキャラクタの行動を決定するキャラクタ行動制御部42の機能について説明する。キャラクタ行動制御部42は、情報記憶部41のゲームパラメータ管理テーブル41aに格納されている敵・味方キャラクタの各種ステータス、行動可能なキャラクタ、行動可能な技、直近行動したキャラクタのフラグ、直近行動したキャラクタの技などのゲームパラメータに基づき各ゲームキャラクタの行動を選択・決定していく。より具体的には、キャラクタ行動制御部42は、ゲームパラメータ管理テーブル41aのゲームパラメータを抽出し、これを入力値として1又は複数層のニューラルネットワークに入力し、出力として行動可能なキャラクタの行動及びこれに対応する出力値を抽出し、これらの中から出力値の最も高い行動を決定する。キャラクタ行動制御部42は、このようにして例えば、1つバトルが終了するまでの間の味方キャラクタの各行動の組み合わせを抽出できる。なお、この例では、1バトルが終了するまでの味方キャラクタの各行動を出力値として抽出したが、敵キャラクタ、味方キャラクタ又はこれらの一部であってもよい。また、1バトルが終了するまでとしたが、その他評価値を算出可能な状態であればこれに限られない。
さらに、キャラクタ行動制御部42は、1つのバトルが終了するまでの味方キャラクタの各行動の組み合わせを抽出すると、以下に詳述する方法にて、当該出力値の組み合わせに対する評価を行い、評価値を算出する。1つのニューラルネットワーク毎に出力値の組み合わせに対する評価値が抽出されるため、複数のニューラルネットワークがあれば、その数に応じた評価値が抽出されることとなる。なお、通常100個程度の個体、すなわち100程度のニューラルネットワークを用意し、その結果100程度の評価値を抽出することとなるが、その数は任意であり適宜決定することができる。また、個体は、コンボリューションネットワーク(CNN)により構成されていてもよい。キャラクタ行動制御部42は、抽出された出力値の組み合わせに対して算出された評価値に基づき、遺伝的アルゴリズムを適用し、より最適な個体が生き残るよう淘汰を行う、すなわち、より最適なニューラルネットワークに更新する。これを、複数世代、例えば、100世代程繰り返すことで、ニューラルネットワークが遺伝的アルゴリズムにより進化していく。どの程度の世代を繰り返すかは、諸条件により適宜変更することが可能である。ここで、キャラクタ行動制御部42は、ニューロエボリューションの1つに分類されるNEATの手法を用いて、ニューラルネットワークの構造とパラメータ(重み付けともいう)の最適化を行う。このようにして、キャラクタ行動制御部42は、基本的にはより評価値の高い出力値の組み合わせを抽出できるニューラルネットワークの構造及びパラメータを生き残らせることとなり、これらの行程を複数世代に亘って繰り返すことで、最適なニューラルネットワークを探索していくこととなる。ここで、既存の遺伝的アルゴリズムやニューロエボリューション、NEATの基本的手法については、詳述しないが、当業者はこれらの手法を適宜一実施形態に係るシステムに適用することができる。
図3はこのフローを示したものである。まず、ゲームパラメータ(入力値)の抽出を行い(ステップ110)、これを初期の複数のニューラルネットワークに対して入力を行うことで、各行動の出力値を抽出し(ステップ120)、その中からゲームキャラクタの特定の行動を選択・決定し(ステップ130)、当該行動後のゲームパラメータとなるようゲームパラメータを更新し(ステップ140)、これらのステップを1つゲームバトルが終了するまで繰り返し、ゲームキャラクタの各行動の出力値の組み合わせの評価値を算出し(ステップ150)、評価値に基づき遺伝的アルゴリズムを適用しニューラルネットワーク(個体)の構造及びパラメータを更新する(ステップ160)。これらを複数世代繰り返していくことでニューラルネットワーク(個体)の構造及びパラメータを進化させていく。以下、一実施形態に係る発明における、ゲームキャラクタのより最適な行動を決定するため、ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータの学習を行う方法をより具体的に示す。
まず、強化学習の対象となる個体のニューラルネットワークは、1又は複数層のニューラルネットワーク(CNNも含む)構造を備える任意のネットワークであってよい。ここで、個体とは、ニューラルネットワークの構造及び各ノード間の重みと定義できる。以下、ニューラルネットワーク(NN)の構造及びパラメータと表現する。この個体の生成は初期段階においては、入力と出力のノード数を設定した初期ネットワークを基に、ランダムに個体を生成する。
通常100個程度の個体が用意され、これらの個体についてゲームの試行が行われる。用意する個体の個数は任意であり、時間、システム負荷、計算効率等様々な要因を考慮して適宜決定され得る。強化学習では、これらの複数の個体を同時に評価しながら進めていくが、ニューロエボリューションでは、局所解に陥ることがないよう、探索範囲を一定範囲で確保することが重要であるため、当該複数の個体を複数の種族(以下、グループと呼ぶ)として分割することを行い、同じ種族内でのみ遺伝的アルゴリズムによる淘汰がなされ、種族間でこれを行わないようにする(Nitchingと呼ばれる)。
この種族分けの方法として、NEATの手法に基づき、ある1個体と残りの個体とを全て比較し、類似度(ニューラルネットワークのノード数やエッジ数により算出され、距離ともいう)が閾値以下となる個体を同じグループ(種族)とし、グループ(種族)に入らなかった個体を対象に同様の手順を繰り返すことで、種族分けを行う。その結果、全ての個体がいずれかのグループ(種族)に属することとなる。例えば、3つの種族に分割する場合には、類似度が上記閾値より上の個体を更に2つに分割することが必要であるため、そのための閾値を別途設け、類似度がこの閾値以下の個体を2番目のグループ(種族)とし、類似度が当該閾値よりも上の個体を3番目のグループ(種族)とする。この閾値は低ければ低い程より多くのグループ(種族)に分割され、局所解に陥ることを回避できるものの、これを過度に低くすると個体数が1のグループ(種族)が大量に生成されることとなる。
以下、一実施形態として、複数の味方キャラクタと敵キャラクタとが対戦するコマンドバトルゲームを例に説明する。本実施形態のゲームでは、味方キャラクタ及び敵キャラクタは行動ゲージを持っており、時間の経過と共に行動ゲージが上昇する。そして行動ゲージが満タンになったキャラクタは行動可能状態となる。プレイヤは行動可能状態となった味方キャラクタに対して、コマンドを選択することによりゲームが進行する。また、行動可能状態となった敵キャラクタにおいては、ゲームプログラムに設定された所定条件(例えば、ランダム)に従ってコマンドが決定される。個体を用いたゲームの試行においては、ある時間におけるゲームの状態をパラメータ化して入力値として個体に入力し、個体からの出力値に応じてコマンドを選択することでゲームを進行させる。なお、前述したが、ゲームにおける敵・味方キャラクタ(これらを総称してゲームキャラクタと呼ぶ)の各種ステータス、行動可能なゲームキャラクタ、行動可能な技、直近行動したゲームキャラクタのフラグ、直近行動したゲームキャラクタの技などをゲームパラメータと定義する。
次に、この入力値の例をより具体的に説明する。ニューラルネットワーク(個体)への入力値として、例えば、ある時間(いずれかのゲームキャラクタが行動可能となった時間)における(1)ゲームキャラクタ全員のコマンド選択可能フラグと、(2)ゲームキャラクタ全員のステータス変化率とを入力する。前者の(1)ゲームキャラクタ全員のコマンド選択可能フラグは、全ゲームキャラクタ(味方キャラクタ及び敵キャラクタ)の各コマンドについての使用可能フラグ(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
といった25個(5つのゲームキャラクタがそれぞれ5つのコマンドを有しているため)の入力となる。
その際、過去に選択したコマンドを考慮して入力値を調整することで、同じコマンドが連続して選択されにくくなるよう調整可能である。例えば、ゲームキャラクタ毎に過去に選択したコマンドを記憶しておき、1つ前の行動の際に選択したコマンドに0.1を乗じる。さらに、2つ前の行動の際に選択したコマンドには0.2を、3つ前の行動の際に選択したコマンドには0.3を乗じる。過去3回において味方キャラクタ1が選択したコマンドが、古い方からスキル1、スキル2、攻撃であった場合、入力値を
味方キャラクタ1_攻撃:0.1
味方キャラクタ1_防御:1
味方キャラクタ1_スキル1:0.3
味方キャラクタ1_スキル2:0.2
味方キャラクタ1_必殺技:0
とする。
次に、後者の(2)ゲームキャラクタ全員のステータス変化率は、全ゲームキャラクタ(味方キャラクタ及び敵キャラクタ)の各種パラメータ(HP、攻撃力、防御力、魔法攻撃力、魔法防御力)の初期値からの変動率である。HP以外のパラメータは、バフ・デバフ状態をAIに認識しやすくさせるための工夫として初期値を0としている。また、HPは初期値の50%が0となるように設定している(範囲は−0.5から0.5)。例えば、HPが満タン(初期値)で、攻撃力が2倍の状態のゲームキャラクタは、
HP:0.5
攻撃力:1
防御力:0
魔法攻撃力:0
魔法防御力:0
となる。これにより、ニューラルネットワークの学習の効率を高めることができる。
また、前述のゲームパラメータの「直近行動したゲームキャラクタのフラグ」をさらに入力することもできる。ゲームFRKでのゲームバトルにおいて、一定時間継続する「バフ・デバフ」効果があり、一定間隔を置いてバフをかけ続けるという行動が望ましいが、こうした入力を行うことで、バフを連続でかけ続けるという行動に収束することを回避できる。ここで、「バフ」とは、プレイヤキャラクタの能力値を向上させるアクションのことであり、例えば、ゲームキャラクタの攻撃力を2倍にする呪文などがこれに該当する。「デバフ」はその逆を意味する。入力値として、ゲームパラメータの「直近行動したゲームキャラクタのフラグ」をさらに入力することで、後述出力値として「バフ」、「しばらく別のアクション」、「(最初のバフが切れるタイミングで)再バフ」という行動を選択することが確認できた。なお、ステータス値の入力として、ゲーム内の値をそのまま入れず正規化処理を行うことができる。例えば、バフやデバフされるステータスの初期値を0とし変化の割合を入力とする方法である。これは、バフ・デバフ状態をAIが認識しやすくするためである。また、別の例として、HPは50%の値を0とし、差分を入力する。これは、HPが一定割合を下回ると行動を変える敵キャラクタがいたり、プレイヤ心理として50%下回ると回復行動を取ることが多くなるからである。
次に、出力値の例をより具体的に説明する。ニューラルネットワーク(個体)から全味方キャラクタの全コマンドそれぞれについて数値が出力値として抽出される。4つの味方キャラクタが各5つのコマンドを有している場合には、20ノードとなる。各ゲームキャラクタにおいて、一番数値が大きいノードに対応するコマンドが選択される。これによって、ある時間における行動可能なキャラクタのコマンドが決定される。
例えば、味方キャラクタ1における出力値が、
味方キャラクタ1_攻撃:0.8
味方キャラクタ1_防御:0.5
味方キャラクタ1_スキル1:0.4
味方キャラクタ1_スキル2:0.1
味方キャラクタ1_必殺技:0
である場合、一番出力値が大きい「攻撃」が選択されることとなる。なお、全てのコマンドの出力値が0である場合は、そもそもその時には行動できないゲームキャラクタであることを意味する。
ゲームバトルにおいては、この入力と出力を繰り返すことで、ゲームキャラクタの各行動を決定していく。通常は複数のゲームキャラクタの複数の行動が組み合わされてゲームバトルが進行してゆき、バトルが終了するまで継続することとなる。バトルの終了は、通常、例えば、敵ゲームキャラクタのHPが0となったり、味方ゲームキャラクタ全員のHPが0となる場合を意図しているが、ゲームバトルの評価が可能なその他の場合であっても構わない。
上述のゲームバトルの終了までに、通常複数のゲームキャラクタがそれぞれ複数の行動を選択することとなる。ニューラルネットワーク(個体)の評価は、各行動の出力値の組み合わせについて行う。通常は、バトルが終了するまでの各行動の出力値の組み合わせについて行うこととなる。その評価は、下記4つのパラメータに基づき算出する。なお、下記パラメータは、例えば、同じニューラルネットワーク(個体)を用いてゲームバトルを3回行った平均を使用するが、その他の方法であっても構わない。
(1)ゲームバトル終了までの味方キャラクタの行動回数(ability_count)
(2)ゲームバトル終了時における敵ゲームキャラクタの残りHP(boss_hp_sum)
(3)ゲームバトル終了までに味方ゲームキャラクタが受けたダメージ(damage_ratio)
(4)ゲームバトル終了までに味方ゲームキャラクタが死亡した回数(dead_count)
これらのパラメータに基づき、その評価値の計算方法として、下記のような設定を行うことができる。この設定は適宜変更可能である。下記例では、コードの「sum」がその評価値に該当し、最大評価値は0となっている。
return sum((-1.0 * ability_count / max_ability_count, -1.0 * boss_hp_sum / boss_max_hp_sum * 2, -1.0 * damage_ratio * 2, (-1.0 * dead_count / max_dead_count) * 4))
なお、max値は適宜設定することが可能であり、各パラメータはその比率を取っている。また、死亡回数は、最も重要なパラメータであるため4倍の重み付けがなされている。
このようにして、各世代で各ニューラルネットワークの構造やパラメータの評価値を算出し、これをNEATの遺伝的アルゴリズムに従い、進化する方向でニューラルネットワーク(個体)を更新していく。世代数は、100世代であっても、その他であってもよい。次世代に移行する際に、個体を進化させる方法は、詳述しないが、複数のニューラルネットワーク(個体)の上位の個体、例えば、評価値が上から10番以内の個体同士を掛け合わせることで、次世代となる新たな個体を生成するようにしてもよい。当該ニューラルネットワーク(個体)の更新方法は、適宜設定可能であり、何ら限定を付することを意図していない。また、複数のニューラルネットワーク(個体)が複数のグループ(種族)に分割される場合には、各世代における複数のグループ(種族)に属するニューラルネットワーク(個体)の評価値の平均値を算出し、これを各世代の各グループの評価値とする。場合によっては、各世代における複数のグループ(種族)に属するニューラルネットワーク(個体)の最大評価値を使用することもある。
次に、複数のニューラルネットワーク(個体)が複数のグループ(種族)に分割される場合の各グループ間の関係について説明する。次世代に移行する際に、次のようにして各グループ(種族)の比率を変更する。まず、当該世代における全グループ(種族)の評価値から全体平均値を算出する。そして、各グループ(種族)の評価値と全体平均値とを比較し、全体平均値より高い評価値のグループ(種族)はその割合を増やし、全体平均値より低い評価値のグループは種族はその割合を減らす。その際、全体の個体数が一定となるように、各種族の個体数を調整する。当該割合の増減は、例えば、通常±10%程度とするが、これに限られず、適宜設定することができる。
複数のニューラルネットワーク(個体)が複数のグループ(種族)に分割される場合の各グループ間の関係について、例外的な取り扱い手法があり、NEATではこれをStagnationと呼ぶ。これは、各グループ(種族)における平均評価値がX世代連続で改善されない場合、そのグループ(種族)を取り除くというものである。このStagnationの基本的考え方は、一実施形態においても共通であるが、本実施形態のゲームのようにゲームパラメータが刻々と変化するようなゲームにこれをそのまま取り入れると、500世代程度を繰り返しても、グループ(種族)の平均評価値が全く改善されないという問題があることが確認された。図4は、それを示すものであり、横軸に世代を、縦軸に評価値(適合度)を示し、グループ(種族)の平均評価値と最大評価値をそれぞれプロットしたものである。図示のように、グループ(種族)の最大評価値は、ランダムに上下し、グループ(種族)の平均評価値も400ないし500世代を経過しても全く改善を見せていない。これは、本実施形態のゲームが、ランダム性の強いゲームであることから、グループ(種族)の評価値が振動する傾向が高いため、当該Stagnationの条件を満たさず、グループ(種族)の淘汰が事実上全くなされないということに起因するものと考えられる。
このような問題に鑑み、一実施形態において、NEATにおけるStagnationの条件に修正を加えた。具体的には、グループ(種族)における平均評価値がX世代連続で改善されないとするのではなく、例えば、複数のグループの各グループにおける複数のニューラルネットワーク(NN)の評価値の中で最大の評価値が、所定の世代(15世代など)の間高くなるよう更新されないという条件とした。また、複数のグループの各グループにおける複数のニューラルネットワーク(NN)の評価値の平均値が、所定の世代の間高くなるよう更新されないという条件としてもよい。このような条件変更を行うことで、図5に示すように、優秀な種族であって、評価値に一定の改善が見られない場合に、リセットを行うことが可能となることが確認された。図4と同様に、図5は横軸に世代を、縦軸に評価値(適合度)を示し、グループ(種族)の平均評価値と最大評価値をそれぞれプロットしたものである。図示のように、グループ(種族)の最大評価値、平均評価値ともに上昇した後、優秀なグループ(種族)が支配的となるが、評価値が一定程度の改善を達成できなくなり、全く別のグループ(種族)が形成され、これらを繰り返す様子が示されている。本実施形態のゲームのような、グループ(種族)の評価値が振動する傾向が高いランダム性の強いゲームであっても、当該Stagnationの条件を修正することで、グループ(種族)の淘汰を発生させることができることが確認された。
しかしながら、120世代程度で最も優秀なグループ(種族)がリセットされ、以降1つのグループ(種族)が全体を占有し、これが数十世代継続した後他のグループ(種族)と入れ替わるのみで、評価値の全体の改善がみられないという別の問題が確認された。そこで、一実施形態において、当該Stagnationの条件だけでなく、その効果の修正を行った。具体的には、複数のグループの各グループにおける複数のニューラルネットワーク(NN)の評価値の中で最大の評価値が、所定の世代(15世代など)の間高くなるよう更新されない場合、そのグループのニューラルネットワーク(NN)の数を10%よりも大きい割合(例えば、50%程度)で減少させるように修正を加えた。図6に、条件を満たしたグループのニューラルネットワーク(NN)の数を50%程度減少させた場合の結果を示す。図4、5と同様、図6も横軸に世代を、縦軸に評価値(適合度)を示し、グループ(種族)の平均評価値と最大評価値をそれぞれプロットしたものである。このように、Stagnationの条件及びその効果を修正することでStagnationを繰り返しながらも、グループ(種族)の評価値の平均が着実に改善され、最大評価値も劣化することなく向上していくことが確認された。これは、評価値が更新されないグループ(種族)が段階的に淘汰されながら、別のグループ(種族)が新たに生まれ、グループ(種族)の多様性が確保されながら、全体としてニューラルネットワーク(個体)が進化していることを示しているものと考えられる。
このようにすることで、ゲームのバトルなどゲームパラメータが刻々と変化するようなゲームにおいても、ニューラルネットワークの構造及びパラメータを遺伝的アルゴリズムを用いて強化学習させ、ニューラルネットワークの構造及びパラメータを更新していくことで、敵キャラクタや味方キャラクタのより適切な行動を決定することが可能となり、ゲームの進行を飽きることなくより自然に楽しめ、ゲーム全体への魅力を高めることが可能となる。
以上、サーバ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 (11)

  1. ニューロエボリューションを用いてゲーム内の1又は複数のゲームキャラクタの行動を
    出力する複数のニューラルネットワーク(NN)の構造及びパラメータを調整する方法で
    あって、
    1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュー
    タに、
    ゲームパラメータを入力値として抽出するステップと、
    該入力値に基づき、複数のニューラルネットワーク(NN)からそれぞれ複数の出力値
    を抽出するステップと、
    該出力値に基づき、1又は複数のゲームキャラクタの行動を決定するステップと、
    前記ゲームパラメータを該行動後のゲームパラメータに更新するステップと、
    これらのステップを繰り返し、各ニューラルネットワークに対応する各行動の出力値の
    組み合わせに対する評価値を算出するステップと、
    前記各行動の出力値の組み合わせに対する評価値が高くなる方向で、遺伝的アルゴリズ
    ムを適用し前記複数のニューラルネットワーク(NN)の構造及びパラメータを更新する
    ステップと、
    を複数世代繰り返し実行させるものであり、
    複数のニューラルネットワーク(NN)を所定の閾値を用いて複数のグループに分割し、同じグループ内においてのみニューラルネットワーク(NN)の構造及びパラメータを更新するのに前記遺伝的アルゴリズムを適用し、
    前記複数のニューラルネットワーク(NN)間の構造及びパラメータの類似度に基づき、該類似度に関する所定の閾値を境界として複数のニューラルネットワーク(NN)を複数のグループに分割することを特徴とするニューロエボリューションを用いてニューラルネットワーク(NN)の構造及びパラメータを調整する方法。
  2. 前記複数のグループ間において、同じ世代における各グループのニューラルネットワー
    ク(NN)の評価値の平均値を比較し、該平均値が、前記複数のグループ全体の該評価値
    の平均値よりも高い評価値の平均値を有するグループの割合を増やし、該平均値が、前記
    複数のグループ全体の該評価値の平均値よりも低い評価値の平均値を有するグループの割
    合を減らし、次世代における前記複数のグループの各グループのニューラルネットワーク
    (NN)の数が占める比率を変化させることを特徴とする請求項に記載の方法。
  3. 前記複数のグループ間において、同じ世代における各グループのニューラルネットワー
    ク(NN)の評価値の平均値を比較し、該平均値が、前記複数のグループ全体の該評価値
    の平均値よりも高い評価値の平均値を有するグループの割合を約10%増やし、該平均値
    が、前記複数のグループ全体の該評価値の平均値よりも低い評価値の平均値を有するグル
    ープの割合を約10%減らし、次世代における前記複数のグループの各グループのニュー
    ラルネットワーク(NN)の数が占める比率を変化させることを特徴とする請求項に記
    載の方法。
  4. 前記複数のグループの各グループにおける複数のニューラルネットワーク(NN)の評
    価値の中で最大の評価値が、所定の世代の間高くなるよう更新されない場合、そのグルー
    プのニューラルネットワーク(NN)の数を10%よりも大きい割合で減少させることを
    特徴とする請求項又はに記載の方法。
  5. 前記複数のグループの各グループにおける複数のニューラルネットワーク(NN)の評
    価値の中で最大の評価値が、所定の世代の間高くなるよう更新されない場合、そのグルー
    プのニューラルネットワーク(NN)の数を半減させることを特徴とする請求項又は
    に記載の方法。
  6. 前記複数のニューラルネットワーク(NN)として、約100個のニューラルネットワ
    ーク(NN)を用いることを特徴とする請求項1からまでの1項に記載の方法。
  7. 前記更新するステップを約100世代繰り返すことを特徴とする請求項1からまでの
    いずれか1項記載の方法。
  8. 前記評価値を、ゲームキャラクタの行動回数、ゲームキャラクタの残りHP、ゲームキ
    ャラクタが受けた総ダメージ、ゲームキャラクタが死亡した回数、の内の少なくともいず
    れか又はこれらの組み合わせに基づき決定することを特徴とする請求項1からまでのい
    ずれか1項記載の方法。
  9. 前記評価値は、前記各ステップを前記ゲームの1つのバトルが終了するまで繰り返した
    場合に抽出される各出力値の組み合わせに対する評価値であることを特徴とする請求項1
    からまでのいずれか1項記載の方法。
  10. ニューロエボリューションを用いてゲーム内の1又は複数のゲームキャラクタの行動を
    出力する複数のニューラルネットワーク(NN)の構造及びパラメータを調整するシステ
    ムであって、
    1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュー
    タに、
    ゲームパラメータを入力値として抽出するステップと、
    該入力値に基づき、複数のニューラルネットワーク(NN)からそれぞれ複数の出力値
    を抽出するステップと、
    該出力値に基づき、1又は複数のゲームキャラクタの行動を決定するステップと、
    前記ゲームパラメータを該行動後のゲームパラメータに更新するステップと、
    これらのステップを繰り返し、各ニューラルネットワークに対応する各行動の出力値の
    組み合わせに対する評価値を算出するステップと、
    前記各行動の出力値の組み合わせに対する評価値が高くなる方向で、遺伝的アルゴリズ
    ムを適用し前記複数のニューラルネットワーク(NN)の構造及びパラメータを更新する
    ステップと、
    を複数世代繰り返し実行させるものであり、
    複数のニューラルネットワーク(NN)を所定の閾値を用いて複数のグループに分割し、同じグループ内においてのみニューラルネットワーク(NN)の構造及びパラメータを更新するのに前記遺伝的アルゴリズムを適用し、
    前記複数のニューラルネットワーク(NN)間の構造及びパラメータの類似度に基づき、該類似度に関する所定の閾値を境界として複数のニューラルネットワーク(NN)を複数のグループに分割することを特徴とするニューロエボリューションを用いてニューラルネットワーク(NN)の構造及びパラメータを調整するシステム。
  11. ニューロエボリューションを用いてゲーム内の1又は複数のゲームキャラクタの行動を
    出力する複数のニューラルネットワーク(NN)の構造及びパラメータを調整するプログ
    ラムであって、
    1又は複数のコンピュータ上で実行されることに応じて、当該1又は複数のコンピュー
    タに、
    ゲームパラメータを入力値として抽出するステップと、
    該入力値に基づき、複数のニューラルネットワーク(NN)からそれぞれ複数の出力値
    を抽出するステップと、
    該出力値に基づき、1又は複数のゲームキャラクタの行動を決定するステップと、
    前記ゲームパラメータを該行動後のゲームパラメータに更新するステップと、
    これらのステップを繰り返し、各ニューラルネットワークに対応する各行動の出力値の
    組み合わせに対する評価値を算出するステップと、
    前記各行動の出力値の組み合わせに対する評価値が高くなる方向で、遺伝的アルゴリズ
    ムを適用し前記複数のニューラルネットワーク(NN)の構造及びパラメータを更新する
    ステップと、
    を複数世代繰り返し実行させるものであり、
    複数のニューラルネットワーク(NN)を所定の閾値を用いて複数のグループに分割し、同じグループ内においてのみニューラルネットワーク(NN)の構造及びパラメータを更新するのに前記遺伝的アルゴリズムを適用し、
    前記複数のニューラルネットワーク(NN)間の構造及びパラメータの類似度に基づき、該類似度に関する所定の閾値を境界として複数のニューラルネットワーク(NN)を複数のグループに分割することを特徴とするニューロエボリューションを用いてニューラルネットワーク(NN)の構造及びパラメータを調整するプログラム。
JP2016165342A 2016-08-26 2016-08-26 ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法 Active JP6351671B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016165342A JP6351671B2 (ja) 2016-08-26 2016-08-26 ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016165342A JP6351671B2 (ja) 2016-08-26 2016-08-26 ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法

Publications (2)

Publication Number Publication Date
JP2018029860A JP2018029860A (ja) 2018-03-01
JP6351671B2 true JP6351671B2 (ja) 2018-07-04

Family

ID=61303834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016165342A Active JP6351671B2 (ja) 2016-08-26 2016-08-26 ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法

Country Status (1)

Country Link
JP (1) JP6351671B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022054209A1 (ja) 2020-09-10 2022-03-17 株式会社エイゾス ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108434740B (zh) * 2018-03-23 2021-01-29 腾讯科技(深圳)有限公司 一种策略信息确定的方法及装置、存储介质
JP6965314B2 (ja) * 2018-08-21 2021-11-10 グリー株式会社 プログラム、情報処理装置及び制御方法
JP6876072B2 (ja) * 2019-01-21 2021-05-26 株式会社スクウェア・エニックス ビデオゲーム処理プログラム、ビデオゲーム処理装置、ビデオゲーム処理方法及び学習用プログラム
JP7172706B2 (ja) 2019-02-19 2022-11-16 富士通株式会社 演算処理装置、演算処理プログラムおよび演算処理方法
CN110084354A (zh) * 2019-04-09 2019-08-02 浙江工业大学 一种基于遗传算法训练神经网络控制游戏角色行为的方法
JP6762519B1 (ja) * 2019-04-25 2020-09-30 株式会社コナミアミューズメント ゲームシステム
WO2020218142A1 (ja) * 2019-04-25 2020-10-29 株式会社コナミアミューズメント ゲーム装置、ゲームシステム、制御システム、ゲーム装置の動作方法、制御システムの動作方法、およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096881A (ja) * 1995-06-15 1997-01-10 Toyo Electric Mfg Co Ltd ニューラルネットワーク
JP2003256005A (ja) * 2002-03-01 2003-09-10 Omron Corp 制御方法および制御装置
JP5874292B2 (ja) * 2011-10-12 2016-03-02 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022054209A1 (ja) 2020-09-10 2022-03-17 株式会社エイゾス ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム

Also Published As

Publication number Publication date
JP2018029860A (ja) 2018-03-01

Similar Documents

Publication Publication Date Title
JP6351671B2 (ja) ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法
JP6330008B2 (ja) Q学習を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法
KR102360420B1 (ko) 비디오 게임에서 플레이어 게임플레이를 모방하기 위한 커스텀 모델
CN107970612B (zh) 多玩家视频游戏匹配***和方法
CN103313762B (zh) 游戏设备和游戏提供方法
CN107158702A (zh) 动态难度调整
US20140295964A1 (en) Game System, Control Method for Game System, and Program
US8845407B2 (en) Device for providing a game
CN114307160A (zh) 训练智能体的方法
JP7344053B2 (ja) 所定のゲームを提供するためのシステム、方法、及びプログラム、並びに、デッキの分類を作成するための方法
Fraser et al. A methodological approach to identifying and quantifying video game difficulty factors
Acland et al. Self-control and demand for commitment in online game playing: evidence from a field experiment
US20140295925A1 (en) Level-balancing an online progression game
JP7335739B2 (ja) ゲームを提供するためのシステム、方法、及びプログラム
JP5856326B1 (ja) ゲームプログラム、ゲームの制御方法、および、コンピュータ
CN111389011B (zh) 一种游戏模型训练方法、装置、电子设备及介质
JP2024037952A (ja) ゲームシステム、サーバ、プログラム、抽選イベント実行方法
CN110465092B (zh) 一种资源分配的方法以及相关装置
JP6953650B1 (ja) ゲームシステム、プログラム及び情報処理方法
On et al. Rule-based procedural generation of item in role-playing game
JP2022064810A (ja) ゲームシステム、プログラム及び情報処理方法
JP7349833B2 (ja) ゲームを提供するためのシステム、方法、及びプログラム
Ihara et al. Neuro-evolutionary approach to multi-objective optimization in one-player mahjong
JP7516688B1 (ja) 情報処理システム、情報処理装置、プログラム及び情報処理方法
JP6922111B1 (ja) ゲームシステム、プログラム及び情報処理方法

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20171213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180312

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: 20180522

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180605

R150 Certificate of patent or registration of utility model

Ref document number: 6351671

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