JP2020035320A - 報酬関数の生成方法及び計算機システム - Google Patents

報酬関数の生成方法及び計算機システム Download PDF

Info

Publication number
JP2020035320A
JP2020035320A JP2018163057A JP2018163057A JP2020035320A JP 2020035320 A JP2020035320 A JP 2020035320A JP 2018163057 A JP2018163057 A JP 2018163057A JP 2018163057 A JP2018163057 A JP 2018163057A JP 2020035320 A JP2020035320 A JP 2020035320A
Authority
JP
Japan
Prior art keywords
reward function
reward
function
partial
reinforcement learning
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.)
Granted
Application number
JP2018163057A
Other languages
English (en)
Other versions
JP6982557B2 (ja
Inventor
正啓 間瀬
Tadakei Mase
正啓 間瀬
やえみ 寺本
Yaemi Teramoto
やえみ 寺本
俊宏 鯨井
Toshihiro Kujirai
俊宏 鯨井
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018163057A priority Critical patent/JP6982557B2/ja
Priority to US16/545,165 priority patent/US11487972B2/en
Priority to EP19192913.2A priority patent/EP3617951A1/en
Publication of JP2020035320A publication Critical patent/JP2020035320A/ja
Application granted granted Critical
Publication of JP6982557B2 publication Critical patent/JP6982557B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/24765Rule-based classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】強化学習における報酬の設計の負担を低減する。【解決手段】計算機が実行する、強化学習における報酬を算出するための報酬関数の生成方法であって、計算機は、重要業績評価指標に関する情報である設定データを複数含む報酬関数の生成指示の入力を受け付けるステップと、一つの設定データに対して一つの部分報酬関数を生成するステップと、複数の部分報酬関数の線形結合を報酬関数として生成するステップと、強化学習を実行する計算機に、生成された報酬関数に関する情報を出力するステップと、を含む。【選択図】図1

Description

本発明は、強化学習で用いる報酬関数の生成方法に関する。
近年、様々な業界において強化学習が活用されている。強化学習を行うためには、学習対象の問題に対応するモデルを構築し、各種パラメータを設定する必要がある。強化学習では、KPI(Key Performance Indicator)が所定の目的を満たすように最適な施策の学習が行われる。例えば、特許文献1に記載の技術が知られている。
特許文献1には、「マーケティング施策の定量的な評価指標であるKPIを選択するKPI選択部、前記KPIの目標値を設定する目標値設定部、顧客プロファイルデータベースに含まれる顧客の基本属性に係る係数を用い、前記マーケティングの施策反応率である前記KPIの予測値を、過去に実施したマーケティング施策事例を参照して算出する施策反応率算出部、及び、前記予測値が前記目標値を超えるときに、前記マーケティングの施策の実施を推薦する最適施策推薦部を有する」マーケティング施策最適化装置が開示されている。
特開2016−118975号公報
強化学習を実現するためのモデルの設計作業では、複数のKPIの各々の制御目的を考慮した報酬のモデル(報酬関数)を設計する必要がある。このような報酬のモデルを設計するのは非常に難しく、現状では、ユーザが試行錯誤して報酬を設計している。したがって、モデルの構築作業の負担、特に、報酬の設計の負担を低減することが要求されている。
本発明は、報酬の設計の負担低減を実現する方法及びシステムを提供することを目的とする。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、計算機が実行する、強化学習における報酬を算出するための報酬関数の生成方法であって、前記計算機は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、前記報酬関数の生成方法は、前記プロセッサが、重要業績評価指標に関する情報である設定データを複数含む報酬関数の生成指示の入力を受け付ける第1のステップと、前記プロセッサが、一つの前記設定データに対して一つの部分報酬関数を生成し、前記メモリに格納する第2のステップと、前記プロセッサが、前記複数の部分報酬関数の線形結合を前記報酬関数として生成し、前記メモリに格納する第3のステップと、前記プロセッサが、前記強化学習を実行する計算機に、前記生成された報酬関数に関する情報を出力する第4のステップと、を含む。
本発明によれば、報酬の設計の負担を低減できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
実施例1の計算機システムのハードウェア構成を示す図である。 実施例1の計算機システムのソフトウェア構成を示す図である。 実施例1の計算機システムにおけるソフトウェア間の動作の一例を示す図である。 実施例1のKPI最適化管理サーバが提供するインタフェースの一例を示す図である。 実施例1の報酬関数管理情報のデータ構造の一例を示す図である。 実施例1の関数定義情報のデータ構造の一例を示す図である。 実施例1の強化学習評価情報のデータ構造の一例を示す図である。 実施例1のデータベースのデータ構造の一例を示す図である。 実施例1の報酬関数生成部が実行する報酬関数生成処理の一例を説明するフローチャートである。 実施例1の強化学習評価部が実行する評価処理の一例を説明するフローチャートである。 実施例1の報酬関数生成部が実行する報酬関数修正処理の一例を説明するフローチャートである。
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
本明細書では、「報酬関数」は報酬のモデルを表し、「報酬」は報酬関数を用いて算出される値を表す。
図1は、実施例1の計算機システムのハードウェア構成を示す図である。
図1に示す計算機システムは、強化学習実行サーバ100、KPI最適化管理サーバ110、及びユーザ端末120から構成される。各装置はネットワーク140を介して互いに接続される。なお、ネットワーク140の種類としては、WAN(Wide Area Network)及びLAN(Local Area Network)等が考えられる。また、ネットワーク140の接続方式は有線又は無線のいずれでもよい。
強化学習実行サーバ100は、モデルにしたがって強化学習を実行する。強化学習では、所定の終了条件を満たすまでエージェント及び環境間の相互作用を複数回実行する学習処理が繰り返し実行される。本明細書では、1回の学習処理におけるエージェント及び環境間の相互作用の回数の単位をステップと定義し、強化学習における学習処理の回数の単位をエピソードと定義する。
強化学習実行サーバ100は、ハードウェアとして、CPU101、メモリ102、ストレージ装置103、及びネットワークインタフェース104を有する。各ハードウェアは内部バス等を介して接続される。
CPU101は、メモリ102に格納されるプログラムを実行する。CPU101がプログラムにしたがって処理を実行することによって、所定の機能を有する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、CPU101が、当該機能部を実現するプログラムを実行していることを表す。
メモリ102は、CPU101が実行するプログラム及び当該プログラムに必要な情報を格納する。また、メモリ102は、プログラムが一時的に使用するワークエリアを含む。
ストレージ装置103は、データを永続的に格納する。ストレージ装置103は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶媒体、又は不揮発性メモリ等が考えられる。なお、メモリ102に格納されるプログラム及び情報は、ストレージ装置103に格納されてもよい。この場合、CPU101は、ストレージ装置103からプログラム及び情報を読み出し、メモリ102にプログラム及び情報をロードし、また、メモリ102にロードされたプログラムを実行する。
ネットワークインタフェース104は、ネットワークを介して他の装置と接続する。
KPI最適化管理サーバ110は、KPIに関する情報に基づいて、モデルに含める報酬関数を自動的に生成する。また、KPI最適化管理サーバ110は、強化学習の結果に基づいて報酬関数を修正する。KPI最適化管理サーバ110は、ハードウェアとして、CPU111、メモリ112、ストレージ装置113、及びネットワークインタフェース114を有する。各ハードウェアは内部バス等を介して接続される。
CPU111、メモリ112、ストレージ装置113、及びネットワークインタフェース114は、CPU101、メモリ102、ストレージ装置103、及びネットワークインタフェース104と同様のハードウェアである。
KPIに関する情報には、KPIの定義情報、及び、強化学習におけるKPIの制御目的に関する情報が含まれる。強化学習におけるKPIの制御目的には、「制約」及び「目標」の二つの種別が存在する。「制約」は、KPIの範囲等、KPIが満たすべき条件を示す。「目標」はKPIの操作目標等を示す。操作目標には、例えば、KPIの最小化及びKPIの最大化がある。
ユーザ端末120は、ユーザが使用する端末である。実施例1では、ユーザは、ユーザ端末120を用いて、強化学習のモデルのパラメータ及びKPIに関する情報等を入力する。ユーザ端末120は、ハードウェアとして、CPU121、メモリ122、ストレージ装置123、ネットワークインタフェース124、入力装置125、及び出力装置126を有する。各ハードウェアは内部バス等を介して接続される。
CPU121、メモリ122、ストレージ装置123、及びネットワークインタフェース124は、CPU101、メモリ102、ストレージ装置103、及びネットワークインタフェース104と同様のハードウェアである。
入力装置125は、データ等を入力するための装置であり、キーボード、マウス、及びタッチパネル等を含む。出力装置126は、データ等を出力するための装置であり、ディスプレイ及びタッチパネル等を含む。
実施例1では、強化学習の実行、及び、報酬関数の生成のタスクを別々の計算機が実行するように構成されているが、一つの計算機が二つのタスクを実行するように構成してもよい。例えば、強化学習実行サーバ100及びKPI最適化管理サーバ110を一つの計算機上で稼働する仮想計算機として実現してもよい。
図2は、実施例1の計算機システムのソフトウェア構成を示す図である。
強化学習実行サーバ100は、強化学習実行部201、問題調整部202、及び環境実行部203を実現するプログラムを格納し、また、データベース204を保持する。
強化学習実行部201は、強化学習におけるエージェントとして機能する。強化学習実行部201は、環境(環境実行部203)から出力される環境の状態及び報酬の値等の情報を取得し、取得した情報及び施策に基づいて行動を選択する。また、強化学習実行部201は、選択した行動に関する情報を環境実行部203に出力する。
環境実行部203は、強化学習における環境として機能する。環境実行部203は、強化学習実行部201から出力される行動に関する情報を取得し、取得した情報及び現在の環境の状態に基づいて、状態の遷移のシミュレーションを実行する。また、環境実行部203は、シミュレーションの結果として遷移後の環境の状態を示す情報を強化学習実行部201に出力する。
問題調整部202は、強化学習実行部201及び環境実行部203間の入出力を制御する。問題調整部202は、環境実行部203の代わりに報酬関数を管理し、環境実行部203が出力した情報及び報酬関数に基づいて報酬を算出する。
実施例1では、強化学習の結果に基づいて報酬関数が更新される。これに伴って、エージェント及び環境間の相互作用において入出力される情報が変化する。そこで、問題調整部202が、エージェント及び環境間の相互作用における入出力を調整する。
データベース204は、強化学習の結果を格納する。データベース204に格納される情報の詳細は図8を用いて説明する。
なお、強化学習実行サーバ100が有する機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。例えば、強化学習実行部201、問題調整部202、及び環境実行部203をまとめて学習部としてもよい。
KPI最適化管理サーバ110は、問題設定部211、報酬関数生成部212、強化学習評価部213、及び結果出力部214を実現するプログラムを格納し、また、報酬関数管理情報215、関数定義情報216、及び強化学習評価情報217を保持する。
報酬関数管理情報215は、報酬関数を生成するための各種情報を管理するための情報である。報酬関数管理情報215の詳細は図5を用いて説明する。
関数定義情報216は、報酬関数を構成する部分報酬関数を生成するための関数の定義を管理するための情報である。関数定義情報216の詳細は図6を用いて説明する。
強化学習評価情報217は、強化学習の評価結果を管理するための情報である。強化学習評価情報217の詳細は図7を用いて説明する。
問題設定部211は、強化学習のモデルのパラメータ及びKPIに関する情報等を入力するためのインタフェースを提供する。問題設定部211は、インタフェースを介して入力された情報に基づいて、環境実行定義情報301、状態/行動定義情報302、及び強化学習定義情報303を生成する。また、問題設定部211は、インタフェースを介して入力された情報に基づいて報酬関数管理情報215を生成する。
報酬関数生成部212は、報酬関数管理情報215に基づいて報酬関数を生成し、当該報酬関数に関する情報を報酬関数定義情報304として生成する。実施例1の報酬関数は、式(1)に示すように複数の部分報酬関数(報酬項)の線形結合として定義される。
Figure 2020035320
ここで、R(s,a)は状態sにおいて行動aを行った場合に与えられる報酬を算出するための報酬関数である。rはKPIに関する関数であり、αは重みである。重みαを乗算した関数rが一つの部分報酬関数に対応する。また、jは添字である。
強化学習評価部213は、強化学習の結果を評価し、評価結果に基づいて強化学習評価情報217を生成する。
結果出力部214は、強化学習の処理結果及び評価結果等を提示するための情報をユーザ端末120に出力する。
なお、KPI最適化管理サーバ110が有する機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。例えば、報酬関数生成部212が有する機能を問題設定部211に含めてもよい。
ユーザ端末120は、KPI最適化管理サーバ110が提供するインタフェースを操作するためのアプリケーション221を実現するプログラムを格納する。
図3は、実施例1の計算機システムにおけるソフトウェア間の動作の一例を示す図である。図4は、実施例1のKPI最適化管理サーバ110が提供するインタフェースの一例を示す図である。
KPI最適化管理サーバ110は、ユーザ端末120のアプリケーション221から操作要求を受け付けた場合、問題設定部211を呼び出す。問題設定部211は、インタフェースとして図4に示すようなGUI400をユーザ端末120に提示する。ここで、GUI400について説明する。
GUI400は、KPI最適化管理サーバ110によって提供されるインタフェースであって、出力装置126に表示される。GUI400は、モデル情報入力欄401、報酬情報入力欄402、及び設定ボタン403を含む。
モデル情報入力欄401は、環境、環境の状態、エージェントの行動、及び学習処理等に関する情報を設定するため欄である。モデル情報入力欄401は、入力欄411、412、413を含む。
入力欄411は、環境を定義する情報を入力する欄である。入力欄411に設定された情報は、環境実行定義情報301として入力される。本実施例では、環境実行定義情報301にKPIの定義情報が含まれるものとする。なお、KPIの定義情報は個別の情報として入力されてもよい。入力欄412は、状態及び行動を定義する情報を入力する欄である。入力欄412に設定された情報は、状態/行動定義情報302として入力される。入力欄413は、学習方法を定義する情報を入力する欄である。入力欄413に設定された情報は、強化学習定義情報303として入力される。入力欄411、412、413には、例えば、設定ファイルのパスが設定される。
報酬情報入力欄402は、報酬関数の生成及び報酬関数の修正に必要な情報を設定するための欄である。報酬情報入力欄402は、報酬管理テーブル420、追加ボタン430、削除ボタン435、及び説明欄440を含む。
報酬管理テーブル420は、KPIに関する情報を格納するエントリを複数含む。エントリは、KPI名421、条件422、目的423、制御値424、優先度425、及び修正方法426から構成される。後述するように、一つのエントリに対して一つの部分報酬関数が生成される。以下の説明では一つのエントリを設定データとも記載する。
KPI名421は、KPIの識別情報を格納するフィールドである。KPI名421には、例えば、KPIの名称又は種別を表す文字列が格納される。
条件422は、KPI名421に対応するKPIに関する報酬を与えるタイミング、すなわち、報酬の算出タイミングを示す値を格納するフィールドである。条件422は、1エピソードの終了時に報酬を与えることを表す「Goal」及び1ステップの終了時に報酬を与えることを表す「Step」等が格納される。
目的423は、KPIの制御目的の種別を示す情報を格納するフィールドである。目的423には「制約」及び目標を示す値のいずれかが格納される。目標を示す値としては、KPIの最大化を示す「max」及びKPIの最小化を示す「min」がある。
制御値424は、制約として設定するKPIの範囲に関する情報を格納するフィールドである。「hard」は必ず満たすべき制約であることを示す。
優先度425は、KPIの制御目的の優先順位を示す値を格納するフィールドである。本実施例では、「1」が最も優先順位が上位であるものとする。すなわち、数値が「1」に近いほど優先順位が高いことを表す。
修正方法426は、部分報酬関数の修正方法を指定するための欄である。例えば、強化学習が実行された後の環境において、制約を満たさない場合、又は、目標を達成できない場合等に、部分報酬関数が修正される。修正方法426には、説明欄440に示す識別番号が格納される。
追加ボタン430は、報酬管理テーブル420にエントリを追加するための操作ボタンである。ユーザが追加ボタン430を操作した場合、報酬管理テーブル420にエントリが追加される。ユーザは、追加されたエントリに必要な値を設定する。なお、ユーザは、任意のタイミングで、エントリに設定された値を修正できる。
削除ボタン435は、報酬管理テーブル420からエントリを削除するための操作ボタンである。ユーザが、報酬管理テーブル420のエントリを選択し、削除ボタン435を操作した場合、報酬管理テーブル420からエントリが削除される。
説明欄440は、修正方法の識別番号及び修正方法の内容を示す欄である。
設定ボタン403は、GUI400に入力した情報をKPI最適化管理サーバ110に送信するための操作ボタンである。
図3の説明に戻る。
問題設定部211は、GUI400を介して入力された各種情報を受け付ける。問題設定部211は、報酬情報入力欄402の報酬管理テーブル420を報酬関数管理情報215としてメモリ112に格納する。問題設定部211は、GUI400を介して入力された環境実行定義情報301、状態/行動定義情報302、及び強化学習定義情報303を強化学習実行サーバ100に送信する。また、問題設定部211は、報酬関数管理情報215を含む報酬関数の生成指示を報酬関数生成部212に送信する。このとき、問題設定部211は、環境実行定義情報301等に含まれるKPIの定義情報も合わせて送信する。
環境実行定義情報301は、環境のパラメータの種別及び各パラメータが取りうる値の範囲等に関する情報を含み、強化学習定義情報303は、行動の種別等に関する情報を含む。
報酬関数生成部212は、報酬関数管理情報215及び関数定義情報216に基づいて報酬関数を生成し、報酬関数定義情報304として強化学習実行サーバ100に送信する。
強化学習実行サーバ100は、環境実行定義情報301に基づいて環境実行部203を生成し、強化学習定義情報303に基づいて強化学習実行部201を生成する。また、強化学習実行サーバ100は、状態/行動定義情報302及び報酬関数定義情報304に基づいて問題調整部202を生成する。
報酬関数生成部212は、強化学習実行部201に処理の実行を指示する制御信号を出力する。強化学習実行サーバ100は、当該制御信号の受信を契機に強化学習を開始する。
問題調整部202は、1エピソードにおける各ステップの相互作用の内容、KPI、及び報酬をデータベース204に格納する。
強化学習評価部213は、強化学習が終了した場合、強化学習評価部213に処理の終了を通知する。強化学習評価部213は、当該通知を受信した場合、データベース204から学習結果を取得し、強化学習の評価処理を実行する。強化学習評価部213は、評価処理の結果を強化学習評価情報217として生成し、報酬関数生成部212及び結果出力部214に出力する。
結果出力部214は、評価結果を示すGUIをユーザ端末120に提示する。報酬関数生成部212は、強化学習評価情報217に基づいて、修正が必要な部分報酬関数を特定し、修正方法426に設定された修正方法に基づいて、特定された部分報酬関数を修正する。報酬関数生成部212は、修正内容に基づいて報酬関数管理情報215を更新する。
このように、実施例1のシステムは、KPIに関する情報に基づいて、報酬関数を自動的に生成する。また、システムは、生成された報酬関数を用いた強化学習の評価結果に基づいて、報酬関数を修正する。強化学習の評価結果に基づいて報酬関数を修正することによって、対象とする問題に適した報酬関数を提示できる。また、当該報酬関数を用いた強化学習を実行することによって、より最適な方策を得ることができる。
図5は、実施例1の報酬関数管理情報215のデータ構造の一例を示す図である。
報酬関数管理情報215は、ID501、KPI名502、条件503、目的504、制御値505、優先度506、修正方法507、関数508、及び重み509から構成されるエントリを複数含む。一つのエントリが一つの部分報酬関数に対応する。
KPI名502、条件503、目的504、制御値505、優先度506、及び修正方法507は、KPI名421、条件422、目的423、制御値424、優先度425、及び修正方法426と同一のフィールドである。
ID501は、エントリを一意に識別するための識別情報を格納するフィールドである。関数508は、関数rを格納するフィールドである。重み509は、重みαの値を格納するフィールドである。
ここで、報酬管理テーブル420から報酬関数管理情報215を生成する処理について説明する。
(処理1)問題設定部211は、報酬関数管理情報215を初期化する。
(処理2)問題設定部211は、報酬管理テーブル420からエントリを一つ選択し、報酬関数管理情報215にエントリを一つ追加する。問題設定部211は、追加されたエントリのID501に識別番号を設定する。識別番号は昇順に設定される。問題設定部211は、追加されたエントリのKPI名502、条件503、目的504、制御値505、優先度506、及び修正方法507のそれぞれに、選択されたエントリのKPI名421、条件422、目的423、制御値424、優先度425、及び修正方法426の値を設定する。
問題設定部211は、報酬管理テーブル420の全てのエントリに対して、(処理2)を繰り返し実行する。以上の処理によって、報酬関数管理情報215が生成される。なお、この時点では、関数508及び重み509は空欄である。
図6は、実施例1の関数定義情報216のデータ構造の一例を示す図である。
関数定義情報216は、条件601、目的602、関数タイプ603、及びペナルティ関数タイプ604から構成されるエントリを複数含む。一つのエントリが一つの関数の定義情報に対応する。
条件601及び目的602は、条件422及び目的423と同一のフィールドである。
関数タイプ603は、条件601及び目的602の組合せに対して定義された関数のタイプを示す情報を格納するフィールドである。ペナルティ関数タイプは、目標を満たすようにKPIを誘導するためのペナルティ関数のタイプを示す情報を格納するフィールドである。なお、具体的な関数は、KPIに関連するパラメータに基づいて生成される。
図7は、実施例1の強化学習評価情報217のデータ構造の一例を示す図である。
強化学習評価情報217は、強化学習における1エピソード単位の評価結果を示す評価テーブル700を複数含む。評価テーブル700にはエピソードの順番が付与される。
評価テーブル700は、KPI名701、条件702、目的703、制御値704、評価705、及び寄与度706から構成されるエントリを複数含む。評価テーブル700には、設定データと同数のエントリが存在する。
KPI名701、条件702、目的703、及び制御値704は、KPI名421、条件422、目的423、及び制御値424と同一のフィールドである。
評価705は、制約を満たすか否かを示す値を格納するフィールドである。制約に関連しないエントリの評価705は空欄となる。寄与度706は、行動の選択に対する、部分報酬関数の値の寄与の大きさを表す数値を格納するフィールドである。
図8は、実施例1のデータベース204のデータ構造の一例を示す図である。
データベース204は、1エピソード単位の強化学習の実行結果を示す学習結果テーブル800を複数含む。学習結果テーブル800にはエピソードの順番が付与される。
学習結果テーブル800は、ステップ801、状態802、行動803、報酬804、及びKPI805から構成されるエントリを複数含む。学習結果テーブル800には、1エピソード内で行われた相互作用(ステップ)の数だけエントリが存在する。
ステップ801は、ステップの識別番号を格納するフィールドである。ステップ801に設定される識別番号と、エントリに対応する相互作用の実行順番とは一致する。状態802は、環境の状態を示す値を格納するフィールドである。行動803は、状態802に対応する環境の状態の下で行われた行動を示す情報を格納するフィールドである。報酬804は、状態802に対応する環境の状態の下で行動803に対する行動を行った場合に得られた報酬を格納するフィールドである。KPI805は、行動が行われた後のKPIを格納するフィールド群である。
問題調整部202は、学習処理の実行前に、実行予定のエピソードに対応する学習結果テーブル800を生成する。問題調整部202は、1ステップの処理が実行された後、生成された学習結果テーブル800にエントリを追加し、追加されたエントリのステップ801に実行されたステップの識別番号を設定する。
問題調整部202は、追加されたエントリの状態802に環境実行部203から取得した状態の値を設定し、当該エントリの行動803に強化学習実行部201から取得した行動の値を設定する。問題調整部202は、報酬関数に基づいて報酬を算出し、追加されたエントリの報酬804に算出された報酬を設定する。また、問題調整部202は、KPIを算出し、追加されたエントリのKPI805に算出されたKPIを設定する。なお、KPIは、環境実行部203等が算出してもよい。
図9は、実施例1の報酬関数生成部212が実行する報酬関数生成処理の一例を説明するフローチャートである。
報酬関数生成部212は、報酬関数管理情報215の入力を受け付けた場合、以下で説明する処理を開始する。
報酬関数生成部212は、優先度506の値に基づいて、報酬関数管理情報215のエントリをソートする(ステップS101)。ここでは、報酬関数生成部212は、優先順位の高い順にエントリをソートする。
次に、報酬関数生成部212は、設定データのループ処理を開始する(ステップS102)。
具体的には、報酬関数生成部212は、優先順位の高い順に、すなわち、報酬関数管理情報215の上から順にエントリ(設定データ)を一つ選択する。
次に、報酬関数生成部212は、選択されたエントリ及び関数定義情報216に基づいて関数rを生成する(ステップS103)。具体的には、以下のような処理が実行される。
報酬関数生成部212は、関数定義情報216を参照し、条件601及び目的602の値の組合せが、選択されたエントリの条件503及び目的504の値の組合せと一致するエントリを検索する。
報酬関数生成部212は、検索されたエントリの関数タイプ603に格納される関数の定義情報を取得する。報酬関数生成部212は、KPIの定義情報及び関数の定義情報に基づいて関数rを生成する。以上がステップS102の処理の説明である。
次に、報酬関数生成部212は、選択されたエントリの優先度506の値に基づいて、部分報酬関数を用いて算出される値の大きさを規定するスケールファクタを算出する(ステップS104)。
実施例1では、高い優先順位が設定された設定データに基づいて生成された部分報酬関数から大きな報酬が算出されるようにスケールが調整される。例えば、優先度506が「1」の部分報酬関数のスケールファクタは10と算出され、優先度506が「2」の部分報酬関数のスケールファクタは10と算出される。
報酬関数生成部212は、選択されたエントリの関数508に、関数rにスケールファクタを乗算した関数を設定する。
次に、報酬関数生成部212は、KPIの定義情報に基づいて、重みαを算出する(ステップS105)。
例えば、式(2)に示すようなKPIの定義域に対して、重みαは式(3)のように算出される。
Figure 2020035320
Figure 2020035320
報酬関数生成部212は、選択されたエントリの重み509に算出された重みを設定する。なお、報酬関数生成部212は、KPIの定義情報及びスケールファクタに基づいて重みαを算出してもよい。また、KPIの定義域の他に、制約として設定された値の範囲を含めて重みαが算出されてもよい。
次に、報酬関数生成部212は、全ての設定データについて処理が完了したか否かを判定する(ステップS106)。
全ての設定データについて処理が完了していないと判定された場合、報酬関数生成部212は、ステップS102に戻り、同様の処理を実行する。
全ての設定データについて処理が完了したと判定された場合、報酬関数生成部212は、報酬関数を生成し(ステップS107)、当該報酬関数に関する情報を含む報酬関数定義情報304を生成する(ステップS108)。報酬関数生成部212は、報酬関数定義情報304を強化学習実行サーバ100に送信し、報酬関数生成処理を終了する。
具体的には、報酬関数生成部212は、関数508に重み509を乗算して得られる部分報酬関数の線形結合として報酬関数を生成する。
図10は、実施例1の強化学習評価部213が実行する評価処理の一例を説明するフローチャートである。
強化学習評価部213は、強化学習実行部201から処理の終了通知を受信した場合、以下で説明する処理を開始する。
強化学習評価部213は、エピソードのループ処理を開始する(ステップS201)。
具体的には、強化学習評価部213は、データベース204にアクセスし、学習結果テーブル800を一つ取得する。このとき、強化学習評価部213は、報酬関数管理情報215を取得する。なお、強化学習評価部213は、エピソードの実行順に学習結果テーブル800を取得する。
次に、強化学習評価部213は、学習結果テーブル800に基づいて、KPIに対して設定された制約に関する評価を行う(ステップS202)。具体的には、以下のような処理が実行される。
強化学習評価部213は、学習結果テーブル800の最後のエントリのKPI805と、報酬関数管理情報215の制約に関連するエントリとを参照し、制約を満たしているか否かを判定する。制約が複数存在する場合、各制約に対して判定が行われる。
制約を満たしていると判定された場合、強化学習評価部213は、制約を識別する情報及び評価結果「true」を対応づけて、ワークエリアに一時的に格納する。制約を満たしていないと判定された場合、強化学習評価部213は、制約を識別する情報及び評価結果「false」を対応づけて、ワークエリアに一時的に格納する。以上が、ステップS202の処理の説明である。
次に、強化学習評価部213は、ステップのループ処理を開始する(ステップS203)。
具体的には、強化学習評価部213は、学習結果テーブル800からエントリを一つ選択する。なお、エントリはステップ順に選択される。
次に、強化学習評価部213は、選択されたエントリに対応するステップにおける部分報酬関数の値を算出する(ステップS204)。
具体的には、強化学習評価部213は、選択されたステップに対応するエントリの状態802、行動803、及びKPI805、並びに、報酬関数管理情報215に基づいて、各部分報酬関数の値を算出する。このとき、強化学習評価部213は、ステップの識別番号、ID501、及び部分報酬関数の値を対応づけたテーブルを生成し、ワークエリアに一時的に格納する。
次に、強化学習評価部213は、全てのステップについて処理が完了したか否かを判定する(ステップS205)。
全てのステップについて処理が完了していないと判定された場合、強化学習評価部213は、ステップS203に戻り、同様の処理を実行する。
全てのステップについて処理が完了したと判定された場合、強化学習評価部213は、各部分報酬関数の寄与度を算出する(ステップS206)。具体的には、以下のような処理が実行される。
強化学習評価部213は、ターゲット部分報酬関数を選択し、ステップS204において生成されたテーブルから各ステップのターゲット部分報酬関数の値に、エピソードの終端から減衰係数を乗算する。
強化学習評価部213は、各ステップの値を合計することによって、ターゲット部分報酬関数の期待値を算出する。強化学習評価部213は、各部分報酬関数の期待値に基づいて、部分報酬関数の寄与度を算出する。例えば、期待値の比率が寄与度として算出される。
なお、前述した寄与度の算出方法は一例であってこれに限定されない。以上がステップS206の処理の説明である。
次に、強化学習評価部213は、選択したエピソードに対応する評価テーブル700を生成する(ステップS207)。具体的には、以下のような処理が実行される。
強化学習評価部213は、報酬関数管理情報215からエントリを選択する。強化学習評価部213は、評価テーブル700にエントリを追加し、追加されたエントリに、KPI名701、条件702、及び目的703に、選択されたエントリのKPI名502、条件503、及び目的504の値を設定する。
選択されたエントリが制約に関連するエントリである場合、強化学習評価部213は、追加されたエントリの評価705に、ワークエリアに格納される評価結果を設定する。強化学習評価部213は、追加されたエントリの寄与度706に、選択されたエントリに対応する部分報酬関数の寄与度を設定する。
強化学習評価部213は、報酬関数管理情報215の全てのエントリについて同様の処理を実行する。以上がステップS207の処理の説明である。
次に、強化学習評価部213は、全てのエピソードについて処理が完了したか否かを判定する(ステップS208)。
全てのエピソードについて処理が完了していないと判定された場合、強化学習評価部213は、ステップS201に戻り、同様の処理を実行する。
全てのエピソードについて処理が完了したと判定された場合、強化学習評価部213は、評価処理を終了する。このとき、強化学習評価部213は、複数の評価テーブル700を含む強化学習評価情報217を、報酬関数生成部212及び結果出力部214に出力する。
図11は、実施例1の報酬関数生成部212が実行する報酬関数修正処理の一例を説明するフローチャートである。
報酬関数生成部212は、強化学習評価情報217を受け付けた場合、以下で説明する処理を開始する。
報酬関数生成部212は、エピソードのループ処理を開始する(ステップS301)。
具体的には、報酬関数生成部212は、強化学習評価情報217から評価テーブル700を一つ取得する。なお、報酬関数生成部212は、エピソードの実行順に評価テーブル700を取得する。
次に、報酬関数生成部212は、寄与度706の値の大きさに基づいて、評価テーブル700のエントリをソートする(ステップS302)。ここでは、寄与度の大きい順にエントリがソートされる。このとき、報酬関数生成部212は、優先順位に基づいてエントリをソートした場合の各エントリ(各部分報酬関数)の順番を第一ソート順として管理し、また、寄与度の大きさに基づいてソートした場合の各エントリ(各部分報酬関数)の順番を第二ソート順として管理する。
次に、報酬関数生成部212は、設定データのループ処理を開始する(ステップS303)。
具体的には、報酬関数生成部212は、評価テーブル700の上から順にエントリを一つ選択する。
次に、報酬関数生成部212は、選択されたエントリが制約に関連するエントリであるか否かを判定する(ステップS304)。
具体的には、報酬関数生成部212は、選択されたエントリの評価705に値が設定されているか否かを判定する。選択されたエントリの評価705に値が設定されている場合、報酬関数生成部212は、選択されたエントリが制約に関連するエントリであると判定する。
選択されたエントリが制約に関連するエントリではないと判定された場合、報酬関数生成部212は、ステップS307に進む。
選択されたエントリが制約に関連するエントリであると判定された場合、報酬関数生成部212は、当該エントリの評価705に設定された値が「true」であるか否かを判定する(ステップS305)。
選択されたエントリの評価705に設定された値が「true」であると判定された場合、報酬関数生成部212はステップS307に進む。
選択されたエントリの評価705に設定された値が「true」でないと判定された場合、報酬関数生成部212は、選択されたエントリに対応する部分報酬関数を修正する(ステップS306)。その後、報酬関数生成部212はステップS307に進む。具体的には、以下のような処理が実行される。
報酬関数生成部212は、報酬関数管理情報215を参照し、KPI名502、条件503、及び目的504の値の組合せが、選択されたエントリのKPI名701、条件702、及び目的703の値の組合せに一致するエントリを検索する。
報酬関数生成部212は、検索されたエントリの修正方法507に設定された値にしたがって、部分報酬関数を修正する。例えば、修正方法507に「1」が設定されている場合、報酬関数生成部212は、関数定義情報216を参照し、条件601及び目的602の値の組合せが、選択されたエントリの条件702及び目的703の値の組合せに一致するエントリを検索する。報酬関数生成部212は、検索されたエントリのペナルティ関数タイプ604及びKPIの定義情報に基づいて、元の関数とペナルティ項との和を新たな関数rとして生成する。なお、関数rの修正に伴って重みが修正されてもよい。
報酬関数生成部212は、報酬関数管理情報215から検索されたエントリの関数508に修正された部分報酬関数を設定する。以上がステップS306の処理の説明である。
ステップS307では、報酬関数生成部212は、選択されたエントリについて、第一ソート順及び第二ソート順が一致するか否かを判定する(ステップS307)。
例えば、優先度506の値に基づくソート結果である第一ソート順が「3」で、寄与度706の値に基づくソート結果である第二ソート順が「4」である場合、報酬関数生成部212は、第一ソート順及び第二ソート順は一致しないと判定する。
実施例1では、優先度506の値に基づいて、二つのソート順が一致するようにスケールファクタが算出されている。しかし、優先度506及び寄与度706に基づくソート順に不整合が発生している場合、報酬の設定が適切でないことを意味する。そのため、このような不整合の発生が検知された場合、報酬関数生成部212は部分報酬関数を修正する。
第一ソート順及び第二ソート順が一致すると判定された場合、報酬関数生成部212は、ステップS309に進む。
第一ソート順及び第二ソート順が一致しないと判定された場合、報酬関数生成部212は、当該不整合を解消できるように部分報酬関数を修正する(ステップS308)。その後、報酬関数生成部212はステップS309に進む。
具体的には、報酬関数生成部212は、他の部分報酬関数の寄与度の関係に基づいて、重みαを更新する。報酬関数生成部212は、報酬関数管理情報215から検索されたエントリの重み509に更新された重みαを設定する。
ステップS309では、報酬関数生成部212は、選択された評価テーブル700に設定された全ての設定データの処理が完了したか否かを判定する(ステップS309)。
選択された評価テーブル700に設定された全ての設定データの処理が完了していないと判定された場合、報酬関数生成部212は、ステップS303に戻り、同様の処理を実行する。
選択された評価テーブル700に設定された全ての設定データの処理が完了したと判定された場合、報酬関数生成部212は、全てのエピソードについて処理が完了したか否かを判定する(ステップS310)。すなわち、報酬関数生成部212は、強化学習評価情報217に含まれる全ての評価テーブル700の処理が完了したか否かを判定する。
全てのエピソードについて処理が完了していないと判定された場合、報酬関数生成部212は、ステップS301に戻り、同様の処理を実行する。
全てのエピソードについて処理が完了したと判定された場合、報酬関数生成部212は、報酬関数修正処理を終了する。
以上で説明したように、実施例1に示すシステムは、KPIに関する情報に基づいて、報酬関数を自動的に生成する。これによって、報酬の設計の負担を低減できる。したがって、処理時間及び運用費用等、強化学習に要するコストを削減できる。また、システムは、強化学習の結果に基づいて、報酬関数を修正する。これによって、より適切な学習が可能となり、最適な方策を取得できる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
100 強化学習実行サーバ
110 KPI最適化管理サーバ
120 ユーザ端末
101、111、121 CPU
102、112、122 メモリ
103、113、123 ストレージ装置
104、114、124 ネットワークインタフェース
125 入力装置
126 出力装置
140 ネットワーク
201 強化学習実行部
202 問題調整部
203 環境実行部
204 データベース
211 問題設定部
212 報酬関数生成部
213 強化学習評価部
214 結果出力部
215 報酬関数管理情報
216 関数定義情報
217 強化学習評価情報
221 アプリケーション
301 環境実行定義情報
302 状態/行動定義情報
303 強化学習定義情報
304 報酬関数定義情報
400 GUI
420 報酬管理テーブル
700 評価テーブル
800 学習結果テーブル

Claims (12)

  1. 計算機が実行する、強化学習における報酬を算出するための報酬関数の生成方法であって、
    前記計算機は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、
    前記報酬関数の生成方法は、
    前記プロセッサが、重要業績評価指標に関する情報である設定データを複数含む報酬関数の生成指示の入力を受け付ける第1のステップと、
    前記プロセッサが、一つの前記設定データに対して一つの部分報酬関数を生成し、前記メモリに格納する第2のステップと、
    前記プロセッサが、前記複数の部分報酬関数の線形結合を前記報酬関数として生成し、前記メモリに格納する第3のステップと、
    前記プロセッサが、前記強化学習を実行する計算機に、前記生成された報酬関数に関する情報を出力する第4のステップと、を含むことを特徴とする報酬関数の生成方法。
  2. 請求項1に記載の報酬関数の生成方法であって、
    前記設定データは、重要業績評価指標の種別、前記重要業績評価指標の制御目的、前記重要業績評価指標に関する報酬の算出タイミング、及び前記重要業績評価指標の制御目的の優先順位を示す優先度を含み、
    前記メモリは、前記重要業績評価指標の制御目的及び前記報酬の算出タイミングの組合せと、関数のタイプとを対応づけた関数定義情報を格納し、
    前記報酬関数の生成指示は、前記重要業績評価指標の定義情報を含み、
    前記第2のステップは、
    前記プロセッサが、前記報酬関数の生成指示に含まれる前記複数の設定データの中からターゲット設定データを選択するステップと、
    前記プロセッサが、前記ターゲット設定データに含まれる、前記重要業績評価指標の制御目的及び前記報酬の算出タイミングの組合せに基づいて前記関数定義情報を参照し、生成する関数のタイプを特定するステップと、
    前記プロセッサが、前記特定された関数のタイプ及び前記重要業績評価指標の定義情報に基づいて、前記重要業績評価指標に関連するパラメータを変数とする関数を生成するステップと、
    前記プロセッサが、前記ターゲット設定データに含まれる優先度に基づいて、前記関数を用いて算出される値の大きさを規定するスケールファクタを算出するステップと、
    前記プロセッサが、前記ターゲット設定データに含まれる前記重要業績評価指標の定義域に基づいて、重みを算出するステップと、
    前記プロセッサが、前記関数、前記スケールファクタ、及び前記重みに基づいて、前記部分報酬関数を生成するステップと、を含むことを特徴とする報酬関数の生成方法。
  3. 請求項2に記載の報酬関数の生成方法であって、
    前記プロセッサが、前記生成された報酬関数を用いた前記強化学習の結果を取得し、前記強化学習の結果を評価する第5のステップと、
    前記プロセッサが、前記評価の結果に基づいて、修正対象の前記部分報酬関数を特定し、前記特定された部分報酬関数を修正する第6のステップと、
    前記プロセッサが、前記特定された部分報酬関数の修正結果に基づいて、前記報酬関数を更新する第7のステップと、を含むことを特徴とする報酬関数の生成方法。
  4. 請求項3に記載の報酬関数の生成方法であって、
    前記重要業績評価指標の制御目的は、前記重要業績評価指標が満たすべき制約を含み、
    前記報酬関数は、第1の制約を前記重要業績評価指標の制御目的として含む前記設定データに基づいて生成された第1の部分報酬関数を含み、
    前記第6のステップは、前記第1の制約が満たされていない場合、前記プロセッサが、前記第1の部分報酬関数を、前記修正対象の部分報酬関数として特定するステップを含むことを特徴とする報酬関数の生成方法。
  5. 請求項3に記載の報酬関数の生成方法であって、
    前記部分報酬関数は、前記設定データと対応づけて管理され、
    前記第5のステップは、前記プロセッサが、前記強化学習における行動の選択に対する、前記複数の部分報酬関数の各々から得られる値の寄与の大きさを示す寄与度を算出するステップを含み、
    前記第6のステップは、
    前記プロセッサが、前記部分報酬関数に対応する前記設定データに含まれる優先度に基づいて、前記部分報酬関数をソートした順番である第一ソート順と、前記寄与度に基づいて、前記部分報酬関数をソートした順番である第二ソート順とを比較するステップと、
    前記プロセッサが、前記第一ソート順及び第二ソート順が異なる前記部分報酬関数を、前記修正対象の部分報酬関数として特定するステップを含むことを特徴とする報酬関数の生成方法。
  6. 請求項3に記載の報酬関数の生成方法であって、
    前記プロセッサが、前記設定データ及び前記部分報酬関数の修正方法を設定するためのインタフェースを提供するステップを含むことを特徴とする報酬関数の生成方法。
  7. 複数の計算機を備える計算機システムであって、
    前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、
    前記計算機システムは、強化学習を実行する学習部、及び前記強化学習における報酬を算出するための報酬関数を生成する報酬関数生成部を備え、
    前記報酬関数生成部は、
    重要業績評価指標に関する情報である設定データを複数含む報酬関数の生成指示の入力を受け付けた場合、一つの前記設定データに対して一つの部分報酬関数を生成し、
    前記複数の部分報酬関数の線形結合を前記報酬関数として生成し、
    前記学習部に、前記生成された報酬関数に関する情報を出力することを特徴とする計算機システム。
  8. 請求項7に記載の計算機システムであって、
    前記設定データは、重要業績評価指標の種別、前記重要業績評価指標の制御目的、前記重要業績評価指標に関する報酬の算出タイミング、及び前記重要業績評価指標の制御目的の優先順位を示す優先度を含み、
    前記報酬関数生成部は、前記重要業績評価指標の制御目的及び前記報酬の算出タイミングの組合せと、関数のタイプとを対応づけた関数定義情報を管理し、
    前記報酬関数の生成指示は、前記重要業績評価指標の定義情報を含み、
    前記報酬関数生成部は、
    前記報酬関数の生成指示に含まれる前記複数の設定データの中からターゲット設定データを選択し、
    前記ターゲット設定データに含まれる、前記重要業績評価指標の制御目的及び前記報酬の算出タイミングの組合せに基づいて前記関数定義情報を参照し、生成する関数のタイプを特定し、
    前記特定された関数のタイプ及び前記重要業績評価指標の定義情報に基づいて、前記重要業績評価指標に関連するパラメータを変数とする関数を生成し、
    前記ターゲット設定データに含まれる優先度に基づいて、前記関数を用いて算出される値の大きさを規定するスケールファクタを算出し、
    前記ターゲット設定データに含まれる前記重要業績評価指標の定義域に基づいて、重みを算出し、
    前記関数、前記スケールファクタ、及び前記重みに基づいて、前記部分報酬関数を生成することを特徴とする計算機システム。
  9. 請求項8に記載の計算機システムであって、
    前記学習部は、
    前記生成された報酬関数を用いて前記強化学習を実行し、
    前記報酬関数生成部に、前記生成された報酬関数を用いて強化学習の結果を送信し、
    前記報酬関数生成部は、
    前記生成された報酬関数を用いて強化学習の結果を評価し、
    前記評価の結果に基づいて、修正対象の前記部分報酬関数を特定し、前記特定された部分報酬関数を修正し、
    前記特定された部分報酬関数の修正結果に基づいて、前記報酬関数を更新することを特徴とする計算機システム。
  10. 請求項9に記載の計算機システムであって、
    前記重要業績評価指標の制御目的は、前記重要業績評価指標が満たすべき制約を含み、
    前記報酬関数は、第1の制約を前記重要業績評価指標の制御目的として含む前記設定データに基づいて生成された第1の部分報酬関数を含み、
    前記報酬関数生成部は、前記第1の制約が満たされていない場合、前記第1の部分報酬関数を、前記修正対象の部分報酬関数として特定することを特徴とする計算機システム。
  11. 請求項9に記載の計算機システムであって、
    前記部分報酬関数は、前記設定データと対応づけて管理され、
    前記報酬関数生成部は、
    前記強化学習における行動の選択に対する、前記複数の部分報酬関数の各々から得られる値の寄与の大きさを示す寄与度を算出し、
    前記部分報酬関数に対応する前記設定データに含まれる優先度に基づいて、前記部分報酬関数をソートした順番である第一ソート順と、前記寄与度に基づいて、前記部分報酬関数をソートした順番である第二ソート順とを比較し、
    前記第一ソート順及び前記第二ソート順が異なる前記部分報酬関数を、前記修正対象の部分報酬関数として特定することを特徴とする計算機システム。
  12. 請求項9に記載の計算機システムであって、
    前記報酬関数生成部は、前記設定データ及び前記部分報酬関数の修正方法を設定するためのインタフェースを提供することを特徴とする計算機システム。
JP2018163057A 2018-08-31 2018-08-31 報酬関数の生成方法及び計算機システム Active JP6982557B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018163057A JP6982557B2 (ja) 2018-08-31 2018-08-31 報酬関数の生成方法及び計算機システム
US16/545,165 US11487972B2 (en) 2018-08-31 2019-08-20 Reward function generation method and computer system
EP19192913.2A EP3617951A1 (en) 2018-08-31 2019-08-21 Reward function generation method and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018163057A JP6982557B2 (ja) 2018-08-31 2018-08-31 報酬関数の生成方法及び計算機システム

Publications (2)

Publication Number Publication Date
JP2020035320A true JP2020035320A (ja) 2020-03-05
JP6982557B2 JP6982557B2 (ja) 2021-12-17

Family

ID=67659740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018163057A Active JP6982557B2 (ja) 2018-08-31 2018-08-31 報酬関数の生成方法及び計算機システム

Country Status (3)

Country Link
US (1) US11487972B2 (ja)
EP (1) EP3617951A1 (ja)
JP (1) JP6982557B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021025601A1 (en) * 2019-08-06 2021-02-11 Telefonaktiebolaget Lm Ericsson (Publ) Methods and nodes in a communications network
JP7263980B2 (ja) * 2019-08-27 2023-04-25 富士通株式会社 強化学習方法、強化学習プログラム、および強化学習装置
CN111998847A (zh) * 2020-07-16 2020-11-27 西北工业大学 一种基于深度强化学习的水下航行器仿生地磁导航方法
CN112381428B (zh) * 2020-11-19 2023-09-19 平安科技(深圳)有限公司 基于强化学习的业务分配方法、装置、设备及存储介质
US11847679B2 (en) * 2021-11-30 2023-12-19 Dell Products, L.P. Persona based co-operative multi-agent reinforcement learning to enhance user experience

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8756177B1 (en) * 2011-04-18 2014-06-17 The Boeing Company Methods and systems for estimating subject intent from surveillance
JP2014130520A (ja) * 2012-12-28 2014-07-10 International Business Maschines Corporation リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法、コンピュータシステム及びコンピュータプログラム
WO2018131214A1 (ja) * 2017-01-13 2018-07-19 パナソニックIpマネジメント株式会社 予測装置及び予測方法
JP2021516498A (ja) * 2018-03-08 2021-07-01 ノキア テクノロジーズ オーユー 周波数間負荷バランスを最適化するための無線アクセスネットワークコントローラの方法およびシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6352798B2 (ja) 2014-12-22 2018-07-04 株式会社日立製作所 マーケティング施策最適化装置、方法、及びプログラム
US10977551B2 (en) * 2016-12-14 2021-04-13 Microsoft Technology Licensing, Llc Hybrid reward architecture for reinforcement learning
EP3625731A1 (en) * 2017-05-18 2020-03-25 Microsoft Technology Licensing, LLC Hybrid reward architecture for reinforcement learning
US20180374138A1 (en) * 2017-06-23 2018-12-27 Vufind Inc. Leveraging delayed and partial reward in deep reinforcement learning artificial intelligence systems to provide purchase recommendations
JP6538766B2 (ja) * 2017-07-18 2019-07-03 ファナック株式会社 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8756177B1 (en) * 2011-04-18 2014-06-17 The Boeing Company Methods and systems for estimating subject intent from surveillance
JP2014130520A (ja) * 2012-12-28 2014-07-10 International Business Maschines Corporation リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法、コンピュータシステム及びコンピュータプログラム
WO2018131214A1 (ja) * 2017-01-13 2018-07-19 パナソニックIpマネジメント株式会社 予測装置及び予測方法
JP2021516498A (ja) * 2018-03-08 2021-07-01 ノキア テクノロジーズ オーユー 周波数間負荷バランスを最適化するための無線アクセスネットワークコントローラの方法およびシステム

Also Published As

Publication number Publication date
US20200074236A1 (en) 2020-03-05
JP6982557B2 (ja) 2021-12-17
US11487972B2 (en) 2022-11-01
EP3617951A1 (en) 2020-03-04

Similar Documents

Publication Publication Date Title
JP6982557B2 (ja) 報酬関数の生成方法及び計算機システム
US8370808B2 (en) Apparatus and a method for generating a test case
JP4736713B2 (ja) プロジェクトメンバーの選定を支援するシステムと方法
JP2015087973A (ja) 生成装置、生成方法、およびプログラム
JP4908073B2 (ja) サービスベースソフトウェア設計支援方法及びそのための装置
US11531643B2 (en) Computer system and method of evaluating changes to data in a prediction model
JP2013003664A (ja) 情報処理装置および方法
Ferreira et al. Effective and interpretable dispatching rules for dynamic job shops via guided empirical learning
JP2019219981A (ja) 施策探索装置、方法、およびプログラム
KR20180130733A (ko) 협업 의존성 기반 컴포넌트 재사용 추천 시스템 및 방법
JP4072102B2 (ja) プロジェクト事前評価方法、プロジェクト事前評価装置及びプログラム
JP5560220B2 (ja) 工数見積装置、工数見積方法、工数見積プログラム
US20210097447A1 (en) Computer System and Method for Supporting Model Selection
US20170300995A1 (en) System and method to optimize cluster inventory
US8775873B2 (en) Data processing apparatus that performs test validation and computer-readable storage medium
JP4398743B2 (ja) マッチングプログラムおよびマッチング装置
JP6355554B2 (ja) 設定データ記憶装置、方法及びプログラム
JP5949764B2 (ja) 構成管理装置、構成管理方法、及び構成管理プログラムを記憶するプログラム記録媒体
JP6884172B2 (ja) 計算機システム及び文書の評価方法
JP7373384B2 (ja) 計算機システム及びスケジューリングシステムの検証方法
JP2013131128A (ja) プログラム構造評価システム、プログラム
JP6758344B2 (ja) 計算機システム及び学習制御方法
JP7311373B2 (ja) 計算機システム、計画の生成方法、及びプログラム
WO2023067743A1 (ja) 学習装置、学習方法及びプログラム
JP2019023834A (ja) 計算機システム及び文章データの検索方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211013

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211119

R150 Certificate of patent or registration of utility model

Ref document number: 6982557

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150