Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6858724B2 - Machine learning system - Google Patents
[go: Go Back, main page]

JP6858724B2 - Machine learning system - Google Patents

Machine learning system Download PDF

Info

Publication number
JP6858724B2
JP6858724B2 JP2018063364A JP2018063364A JP6858724B2 JP 6858724 B2 JP6858724 B2 JP 6858724B2 JP 2018063364 A JP2018063364 A JP 2018063364A JP 2018063364 A JP2018063364 A JP 2018063364A JP 6858724 B2 JP6858724 B2 JP 6858724B2
Authority
JP
Japan
Prior art keywords
experience
memory database
important
unit
environment
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.)
Expired - Fee Related
Application number
JP2018063364A
Other languages
Japanese (ja)
Other versions
JP2019175194A (en
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.)
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 JP2018063364A priority Critical patent/JP6858724B2/en
Publication of JP2019175194A publication Critical patent/JP2019175194A/en
Application granted granted Critical
Publication of JP6858724B2 publication Critical patent/JP6858724B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本開示は、機械学習システムに関する。 The present disclosure relates to a machine learning system.

浄水場、発電所、工場、又は、任意の機械運転を行う施設での自動化は、通常、規則に基づいてプログラムされる。人間の専門家は、通常、規則を事前に定義する。しかし、多くの場合、規則ベースのシステムは十分ではない。なぜなら、多くの決定は、規則としてあらかじめ定義されていない専門家の経験から生じることがあるからである。また、人口の高齢化により専門家が減少しているため、今後はスマートオートメーションやスマートオートメーションシステムが不可欠である。 Automation at water purification plants, power plants, factories, or facilities that operate any machine is usually programmed according to rules. Human experts usually predefine the rules. However, rule-based systems are often inadequate. This is because many decisions can arise from the experience of experts who are not predefined as rules. In addition, as the number of specialists is decreasing due to the aging of the population, smart automation and smart automation systems will be indispensable in the future.

強化学習方法を使用することにより、システムが自動的かつ効率的に動作するように訓練することが可能になる。従来の方法は、深層強化学習法(DRL)としてよく知られている。DRLは、行動価値を示すQ値を学習し、最も高いQ値に基づいて動作するニューラルネットワークを有している。例えば、浄水場の場合、行動は、システムが取水量をどれだけ増減させるべきか、というものである。取水レートは、+/−xxm/hで表わされる(xxは正の数値)。ニューラルネットワークは、各動作のQ値を学習する。Q値が高いほど、より良い行動を意味する。 Reinforcement learning methods allow the system to be trained to operate automatically and efficiently. The conventional method is well known as the Deep Reinforcement Learning Method (DRL). The DRL has a neural network that learns a Q value indicating an action value and operates based on the highest Q value. For example, in the case of waterworks, the action is how much the system should increase or decrease the amount of water intake. The water intake rate is represented by +/- xxm 3 / h (xx is a positive number). The neural network learns the Q value of each operation. The higher the Q value, the better the behavior.

従来のDRL法は、システムの行動を制御するエージェントが経験した経験を、リプレイ・メモリ(データベース)からサンプリングし、バックプロパゲーション法によってそれらの経験から学習する。これらの経験は、学習中に生成され、リプレイ・メモリに記憶される。リプレイ・メモリが満杯になると、最も古い経験が削除される(例えば、米国出願公開第2015/0100530号)。 In the conventional DRL method, the experience experienced by the agent controlling the behavior of the system is sampled from the replay memory (database), and the experience is learned from the experience by the backpropagation method. These experiences are generated during learning and stored in replay memory. When the replay memory is full, the oldest experience is deleted (eg, US Application Publication No. 2015/0100530).

米国出願公開第2015/0100530号US Application Publication No. 2015/0100530

リプレイ・メモリに格納される経験は、稀でユニークな経験を含む。例えば、浄水場の場合、暴風雨は数年に1回しか起こらず、頻繁には発生しない。限られたサイズ(最大レコード数)のリプレイ・メモリでは、稀でユニークな経験をリプレイ・メモリ内に保持し続けることができず、ニューラルネットワークが学習する前に消去されてしまう。 Experiences stored in replay memory include rare and unique experiences. For example, in the case of waterworks, storms occur only once every few years and do not occur frequently. With a limited size (maximum number of records) replay memory, rare and unique experiences cannot be kept in the replay memory and are erased before the neural network learns.

他の観点において、(訓練の初期において)リプレイ・メモリがランダムな行動で満たされている場合、良い結果又は悪い結果につながる一連の訓練に好適な行動を得ることは困難である。したがって、訓練においてニューラルネットワークが実際に様々な経験に「晒される」ために長い時間がかかる。一方、(訓練の終了時に)リプレイ・メモリが良好な行動だけで満たされている場合、ニューラルネットワークは良好な行動の経験のみに晒され、悪い行動の経験を忘れる可能性がある。したがって、訓練されたニューラルネットワークの信頼性が低下する可能性がある。 In other respects, when the replay memory is filled with random behaviors (early in training), it is difficult to obtain behaviors suitable for a series of trainings that lead to good or bad results. Therefore, it takes a long time for the neural network to actually be "exposed" to various experiences in training. On the other hand, if the replay memory is filled with only good behaviors (at the end of training), the neural network is exposed only to good behavioral experiences and may forget the bad behavioral experiences. Therefore, the reliability of the trained neural network may be reduced.

しかし、全ての可能な経験を保存するために無限の記憶領域を用意することは不可能である。したがって、限られた記憶領域において効果的に学習を行うことができる経験を維持できる技術が望まれる。 However, it is not possible to provide an infinite storage area to store all possible experiences. Therefore, a technique capable of maintaining an experience that enables effective learning in a limited storage area is desired.

本開示の一態様の機械学習システムは、経験を格納する第1のメモリデータベースと、経験を格納する第2のメモリデータベースと、前記第1のメモリデータベース及び前記第2のメモリデータベースからサンプリングした経験により、環境における行動の価値を決定する関数を訓練し更新する、学習部と、経験が重要であるかを予め設定された規則に基づき判定し、重要と判定した経験を前記第2のメモリデータベースに格納する、重要経験評価部と、前記関数の訓練期間において、前記関数の出力に基づく決定又は任意決定の一方を選択して、前記環境における行動を決定する、学習エージェント部と、前記環境を前記学習エージェント部に提供し、前記学習エージェント部により決定された行動の経験を前記第1のメモリデータベースに格納する環境部と、を含む。 The machine learning system of one aspect of the present disclosure is an experience sampled from a first memory database for storing experiences, a second memory database for storing experiences, the first memory database, and the second memory database. The learning department, which trains and updates the function that determines the value of behavior in the environment, determines whether the experience is important based on preset rules, and determines that the experience is important in the second memory database. The important experience evaluation unit and the learning agent unit, which are stored in the environment, and the learning agent unit, which determines the behavior in the environment by selecting either a decision based on the output of the function or an arbitrary decision during the training period of the function, and the environment It includes an environment unit provided to the learning agent unit and storing the experience of the action determined by the learning agent unit in the first memory database.

本開示の一態様によれば、限られた記憶領域において効果的に学習を行うことができる経験を維持できる。 According to one aspect of the present disclosure, it is possible to maintain an experience in which learning can be effectively performed in a limited storage area.

第1実施形態に係る学習システムの構成の説明図である。It is explanatory drawing of the structure of the learning system which concerns on 1st Embodiment. 第1実施形態に係る学習システムの機能ブロック図である。It is a functional block diagram of the learning system which concerns on 1st Embodiment. 第1実施形態に係るメモリデータベースの説明図である。It is explanatory drawing of the memory database which concerns on 1st Embodiment. 第1実施形態に係る重要経験メモリデータベースの説明図である。It is explanatory drawing of the important experience memory database which concerns on 1st Embodiment. 第1実施形態に係る環境部のフローチャートである。It is a flowchart of the environment part which concerns on 1st Embodiment. 第1実施形態に係る重要経験評価部のフローチャートである。It is a flowchart of the important experience evaluation part which concerns on 1st Embodiment. 第1実施形態に係る学習部のフローチャートである。It is a flowchart of the learning part which concerns on 1st Embodiment. 第1実施形態に係る学習エージェント部のフローチャートである。It is a flowchart of the learning agent part which concerns on 1st Embodiment. 第2実施形態に係る学習システムの構成の説明図である。It is explanatory drawing of the structure of the learning system which concerns on 2nd Embodiment. 第2実施形態に係る学習システムの機能ブロック図である。It is a functional block diagram of the learning system which concerns on 2nd Embodiment. 第2実施形態に係る試験エージェント部のフローチャートである。It is a flowchart of the test agent part which concerns on 2nd Embodiment. 第2実施形態に係る重要経験評価部のフローチャートである。It is a flowchart of the important experience evaluation part which concerns on 2nd Embodiment. 第3実施形態に係る学習システムの構成の説明図である。It is explanatory drawing of the structure of the learning system which concerns on 3rd Embodiment. 第3実施形態による学習システムの機能ブロック図である。It is a functional block diagram of the learning system according to 3rd Embodiment. 第3実施形態に係る人為操作部のフローチャートである。It is a flowchart of the artificial operation part which concerns on 3rd Embodiment. 第4実施形態に係る学習システムの構成の説明図である。It is explanatory drawing of the structure of the learning system which concerns on 4th Embodiment. 第4実施形態による学習システムの機能ブロック図である。It is a functional block diagram of the learning system according to 4th Embodiment.

以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。 Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. It should be noted that the present embodiment is merely an example for realizing the present invention and does not limit the technical scope of the present invention. The same reference numerals are given to common configurations in each figure.

以下において、複数のメモリデータベース(単にメモリ又はデータベースとも呼ぶ)を含む安定した学習システムが開示される。本開示の技術は、例えば、浄水場、発電所、工場のような施設、に限らず、任意の機械運転を行う施設において、自動運転システムに適用することができる。 In the following, a stable learning system including a plurality of memory databases (also simply referred to as memory or database) is disclosed. The technique of the present disclosure can be applied to an automatic operation system not only in facilities such as water purification plants, power plants, and factories, but also in facilities that operate arbitrary machines.

学習システムは、訓練の効率を上げるために、重要な経験のための分離したメモリデータベースを含む。重要な経験は、訓練期間中に稀に起こる良い(適切な)行動又は悪い(不適切な)行動の経験、又は、人間の操作から収集された経験も含みえる。重要な経験を独立のメモリデータベースに格納することで、他の経験を格納するメモリデータベースが満杯になった後も、重要な経験を維持することができ、再利用することができる。 The learning system includes a separate memory database for important experiences to improve training efficiency. Significant experiences can include experiences of good (appropriate) or bad (inappropriate) behaviors that rarely occur during training, or experiences collected from human manipulation. By storing important experiences in a separate memory database, important experiences can be maintained and reused even after the memory database that stores other experiences is full.

深層強化学習のエージェントは、重要な経験を格納するメモリデータベースを含む、複数のメモリデータベースから学習する。使用されるメモリデータベースの数は、2又はそれより多い。重要な経験は、エントロピ又は経験を収集するいくつかの特定の方法に基づいて収集してもよい。 Deep reinforcement learning agents learn from multiple memory databases, including a memory database that stores important experiences. The number of memory databases used is two or more. Significant experience may be collected based on entropy or some specific method of collecting experience.

重要な経験を生成するための行動を実行するエージェントが、学習するエージェントとは別に生成、使用されてもよい。人間の専門家の決定を重要な経験として使用してもよい。学習プロセスは、例えば、複数のメモリデータベースから同時に学習する、又は、異なる時に異なるメモリデータベースから学習する。 Agents that perform actions to generate significant experiences may be generated and used separately from agents that learn. The decisions of human experts may be used as an important experience. The learning process learns from, for example, a plurality of memory databases at the same time, or learns from different memory databases at different times.

<第1実施形態>
図1〜8を参照して、第1実施形態を説明する。学習システムは、第1のメモリデータベースの経験から学習するだけでなく、第2のメモリデータベースである重要経験メモリデータベースから学習する。重要経験評価プログラムは、どの経験が学習プロセスにとって重要であるかを決定し、それらを重要経験メモリデータベースに格納する。
<First Embodiment>
The first embodiment will be described with reference to FIGS. 1 to 8. The learning system not only learns from the experience of the first memory database, but also learns from the important experience memory database which is the second memory database. The critical experience assessment program determines which experiences are important to the learning process and stores them in the critical experience memory database.

図1は、第1実施形態に係る学習システムの構成の説明図である。サーバ100は、プロセッサ110と、メモリ120と、補助記憶装置130とを備えている。メモリ120及び/又は補助記憶装置130は、記憶装置である。以上の構成要素は、バスによって相互に接続されている。プロセッサ110は、メモリ120を参照して各種の演算処理を実行する。 FIG. 1 is an explanatory diagram of a configuration of a learning system according to the first embodiment. The server 100 includes a processor 110, a memory 120, and an auxiliary storage device 130. The memory 120 and / or the auxiliary storage device 130 is a storage device. The above components are connected to each other by a bus. The processor 110 refers to the memory 120 and executes various arithmetic processes.

メモリ120は、環境プログラム121、重要経験評価プログラム122、学習プログラム123、及び学習エージェントプログラム124を含む。メモリ120に格納されるプログラム及びプログラムが使用するデータは、例えば、補助記憶装置130又は外部からネットワークを介してロードされる。 The memory 120 includes an environmental program 121, an important experience evaluation program 122, a learning program 123, and a learning agent program 124. The program stored in the memory 120 and the data used by the program are loaded from, for example, the auxiliary storage device 130 or the outside via the network.

環境プログラム121は、実世界の特性を観測すること、又は、実環境をシミュレートすることができる。例えば、現実世界の浄水場の場合、環境プログラム121は、すべての水の性質と水量と水位を感知するセンサアレイにより観測されるような浄水場の全ての特徴を観測することができる。シミュレーションにおける浄水場の場合、環境プログラム121は、操作が行われた後の、水の特性の変化、水量の変化、及び水位の変化をシミュレートすることができる。 The environmental program 121 can observe the characteristics of the real world or simulate the real environment. For example, in the case of a real-world waterworks, environmental program 121 can observe all the characteristics of the waterworks, such as those observed by a sensor array that senses all the properties of water and the amount and level of water. In the case of a water purification plant in the simulation, the environmental program 121 can simulate changes in water characteristics, changes in water volume, and changes in water level after the operation is performed.

環境のこれらの特性に基づいて、システムは、環境の現在の状態、オペレーションにおいて行動が行われた後の環境の次の状態を特定することができ、さらに、行動が目的に対して良いものであるか悪いものであるかを判定するための基準を保持している。 Based on these characteristics of the environment, the system can identify the current state of the environment, the next state of the environment after the action has been taken in the operation, and the action is good for the purpose. It holds the criteria for determining whether it is good or bad.

重要経験評価プログラム122は、4つの情報要素のタプルとして定義される経験を評価する。4つの情報要素は、元の状態(現在の状態)、エージェントの行動、エージェントが受け取った報酬、及び次の状態である。重要経験評価プログラム122は、経験が重要であるか評価し、重要経験メモリデータベースと呼ばれる、特定のデータベースにその経験を格納するか決定する。 The critical experience evaluation program 122 evaluates the experience defined as a tuple of four information elements. The four information elements are the original state (current state), the agent's behavior, the reward received by the agent, and the next state. The critical experience evaluation program 122 evaluates whether the experience is important and determines whether to store the experience in a particular database called the critical experience memory database.

学習プログラム123は、行動価値を学習するための、ニューラルネットワークを含む。ニューラルネットワークは、現在の状態(センサの示度の集合)の入力を受けて、行動それぞれの価値(行動価値)を出力する。価値が高いほど、行動が良好であることを意味する。また、学習プログラム123は、ニューラルネットワークのパラメータを更新および最適化する。学習プログラム123は、ニューラルネットワークと異なる関数を使用してもよく、例えば、線形回帰関数を使用してもよい。 The learning program 123 includes a neural network for learning the action value. The neural network receives the input of the current state (set of sensor readings) and outputs the value of each action (action value). The higher the value, the better the behavior. The learning program 123 also updates and optimizes the parameters of the neural network. The learning program 123 may use a function different from that of the neural network, for example, a linear regression function may be used.

学習プログラム123は、補助記憶装置130からメモリデータベース131及び重要経験メモリデータベース132に記憶された経験をサンプリングし、バックプロパゲーションによりニューラルネットワークのパラメータを最適化する。そうすることによって、ニューラルネットワークは、所与の状態における各行動の行動価値(またはQ値)をより正確に推定することができ、したがって、システムは、より賢明に行動を実行することができる。 The learning program 123 samples the experience stored in the memory database 131 and the important experience memory database 132 from the auxiliary storage device 130, and optimizes the parameters of the neural network by backpropagation. By doing so, the neural network can more accurately estimate the action value (or Q value) of each action in a given state, and thus the system can perform the action more wisely.

学習プログラム123は、ニューラルネットワークのパラメータを最適化するためにパックプロパゲーションを実行する。重要経験メモリデータベース132から学習することにより、ニューラルネットワークを、より速く、より安定して学習させることができる。 The learning program 123 executes pack propagation to optimize the parameters of the neural network. By learning from the important experience memory database 132, the neural network can be learned faster and more stably.

学習エージェントプログラム124は、システムの行動を決定する。例えば、浄水場の場合、水の取水レートを変化させると、貯水池の水量が変化する。そのため、この行動の結果、貯水池に十分な水を確保できる必要がある。サーバ100は、また、メモリデータベース131及び重要経験メモリデータベース132を格納するための補助記憶装置130を含む。 The learning agent program 124 determines the behavior of the system. For example, in the case of a water purification plant, changing the water intake rate changes the amount of water in the reservoir. Therefore, as a result of this action, it is necessary to secure sufficient water in the reservoir. The server 100 also includes an auxiliary storage device 130 for storing the memory database 131 and the critical experience memory database 132.

メモリデータベース131は、4つの要素を有するタプルの集合を格納する。4つの要素は、元の状態、行動、報酬、及び次の状態(新しい状態)であり、タプルは、訓練期間中のエージェントの経験である。メモリデータベース131は、エンジニアによって予め定義された限られた容量(例えば、100経験)を有する。メモリデータベース131が満杯になると、メモリデータベース131の最初の経験が削除され、新しい経験のためのスペースが生成される。メモリデータベース131の構造については、図3を参照して後述する。 The memory database 131 stores a set of tuples having four elements. The four elements are the original state, behavior, reward, and the next state (new state), and the tuple is the agent's experience during the training period. The memory database 131 has a limited capacity (eg, 100 experiences) predefined by the engineer. When the memory database 131 is full, the first experience of the memory database 131 is deleted, creating space for the new experience. The structure of the memory database 131 will be described later with reference to FIG.

重要経験メモリデータベース132は、メモリデータベース131の構造に対して経験の重要度の追加情報を加えた構造を有する。重要度は、重要経験評価プログラム122によって計算され、経験がどれほど重要であるかを示す。重要経験メモリデータベース132も限られた容量しか持たず、満杯になると、重要度が相対的に低い経験が削除される。 The critical experience memory database 132 has a structure in which additional information on the importance of experience is added to the structure of the memory database 131. Importance is calculated by the Critical Experience Assessment Program 122 and indicates how important the experience is. The critical experience memory database 132 also has a limited capacity, and when it is full, less important experiences are deleted.

図2は、第1実施形態に係る学習システムの機能ブロック図である。環境部1210は、環境プログラム121を実行するプロセッサ110により実現される。環境部1210は、現実環境の現状を観察する、又は、現実世界の環境をシミュレートすることができる。環境部1210は、学習エージェント部1240から行動を受け取り、当該行動を実行して次の状態に移行する。次に、環境部1210は次の状態に基づき報酬を決定し、元の状態、行動、報酬、及び次の状態の情報を含むタプルである経験を、メモリデータベース131に格納する。また、環境部1210は、経験を重要経験評価部1220にも送る。環境部1210の処理フローについては、後に図5を参照して詳細に説明する。 FIG. 2 is a functional block diagram of the learning system according to the first embodiment. The environment unit 1210 is realized by the processor 110 that executes the environment program 121. The environment unit 1210 can observe the current state of the real environment or simulate the real world environment. The environment unit 1210 receives an action from the learning agent unit 1240, executes the action, and shifts to the next state. Next, the environment unit 1210 determines the reward based on the next state, and stores the experience, which is a tuple including the information of the original state, the action, the reward, and the next state, in the memory database 131. The Environment Department 1210 also sends the experience to the Important Experience Evaluation Department 1220. The processing flow of the environment unit 1210 will be described in detail later with reference to FIG.

重要経験評価部1220は、経験の重要度を評価する。経験の重要度が高いと評価された場合、重要経験メモリデータベース132に格納される。重要経験評価部1220の処理フローについては、後に図6を参照して詳細に説明する。 The Important Experience Evaluation Department 1220 evaluates the importance of experience. When the importance of experience is evaluated to be high, it is stored in the important experience memory database 132. The processing flow of the important experience evaluation unit 1220 will be described in detail later with reference to FIG.

学習部1230は、ニューラルネットワークが、訓練時間中に、与えられた現在の状態に対して各動作のQ値をより正確に推定できるように、ニューラルネットワークの重み及びバイアス(パラメータ)を最適化する。学習部1230は、プロセッサ110による学習プログラム123の実行によって実現される。 The learning unit 1230 optimizes the weight and bias (parameter) of the neural network so that the neural network can more accurately estimate the Q value of each operation with respect to the given current state during the training time. .. The learning unit 1230 is realized by executing the learning program 123 by the processor 110.

学習部1230は、メモリデータベース131からの一定数の経験をサンプリングし、バックプロパゲーションを行ってニューラルネットワークの重み及びバイアスを最適化する。さらに、所定の間隔で、学習部1230は、重要経験メモリデータベース132の所定数の経験をサンプリングして、バックプロパゲーションを行ってニューラルネットワークの重み及びバイアスを最適化する。学習部1230の処理フローについては、後に図7を参照して詳細に説明する。 The learning unit 1230 samples a certain number of experiences from the memory database 131 and performs backpropagation to optimize the weights and biases of the neural network. Further, at predetermined intervals, the learning unit 1230 samples a predetermined number of experiences of the important experience memory database 132 and performs backpropagation to optimize the weight and bias of the neural network. The processing flow of the learning unit 1230 will be described in detail later with reference to FIG. 7.

学習エージェント部1240は、学習システムの行動を決定する。学習エージェント部1240は、プロセッサ110による学習エージェントプログラム124の実行によって実現される。学習エージェント部1240は、環境部1210から現在の状態としてセンサデータ(センサの示度の集合)を受信し、学習部1230に含まれるニューラルネットワークのフィードフォワードを使用して、取る得る行動それぞれのQ値を得る。 The learning agent unit 1240 determines the behavior of the learning system. The learning agent unit 1240 is realized by executing the learning agent program 124 by the processor 110. The learning agent unit 1240 receives sensor data (a set of sensor readings) as the current state from the environment unit 1210, and uses the feed forward of the neural network included in the learning unit 1230 to take Q for each action to be taken. Get the value.

ただし、学習エージェント部1240は、訓練期間において、Q値の情報を使用する場合と使用しない場合がある。学習エージェント部1240は、イプシロン(ε)と呼ばれるパラメータを有し、Q値からの情報を利用すべきか、又は、ランダムな行動を探索すべきか、を決定する。パラメータεは、事前に固定値(例えば、ε=0.5)でエンジニアによって設定されるか、又は、訓練期間中に1から0まで直線的に減少する。 However, the learning agent unit 1240 may or may not use the Q value information during the training period. The learning agent unit 1240 has a parameter called epsilon (ε) and determines whether to use the information from the Q value or to search for random behavior. The parameter ε is preset by the engineer with a fixed value (eg, ε = 0.5) or decreases linearly from 1 to 0 during the training period.

学習エージェント部1240は、数字をランダム化してε値と比較し、exploitation(利用)又はexploration(探索)を決定する。最後に、学習エージェント部1240は、決定した行動を環境部1210に送る。学習エージェント部1240の処理フローは、図8を参照して後に詳述する。 The learning agent unit 1240 randomizes the numbers and compares them with the ε value to determine exploitation (use) or exploitation (search). Finally, the learning agent unit 1240 sends the determined action to the environment unit 1210. The processing flow of the learning agent unit 1240 will be described in detail later with reference to FIG.

図3は、第1実施形態に係るメモリデータベース131の説明図である。メモリデータベース131は、インデックス欄301、状態欄302、行動欄303、報酬欄304、及び次の状態欄305を含む。 FIG. 3 is an explanatory diagram of the memory database 131 according to the first embodiment. The memory database 131 includes an index column 301, a status column 302, an action column 303, a reward column 304, and the next status column 305.

インデックス欄301は、メモリデータベース131に記憶された経験のシーケンスを示す整数である、インデックスを示す。インデックスは、メモリに格納されている最も古い経験がどれであり、メモリが満杯になって新しい経験を格納するために削除すべきかの情報を提供する。 The index column 301 indicates an index, which is an integer indicating a sequence of experiences stored in the memory database 131. The index provides information on which oldest experience is stored in memory and should be deleted to store the new experience when the memory is full.

状態欄302の各セルは、現在の状態(元の状態)を定義する現実世界又はシミュレーション世界からのセンサ示度の集合(センサデータ)を格納している。 Each cell in the state column 302 stores a set of sensor readings (sensor data) from the real world or the simulation world that defines the current state (original state).

行動欄303は、システムが取ることができる行動を示す数値を示す。行動は、実世界システムの仕様に基づく。例えば、浄水場からの水の取水レートを増減するためには、行動は、−1〜1におけるいずれかの値をとることができる。 The action column 303 indicates a numerical value indicating an action that the system can take. The behavior is based on the specifications of the real world system. For example, in order to increase or decrease the rate of water intake from a water purification plant, the action can take any value between -1 and 1.

報酬欄304は、学習エージェント部1240が次の状態に遷移する行動を取った後に得ることができる報酬を定義する数字を示す。例えば、浄水場の場合、需要が高い時間に取水レートを増やすと、貯水池に十分な水が供給され、+1のような肯定的な報酬を得ることになる。または、需要が高い時間に水の取水レートを増加させないようにすると、貯水池に十分な水が供給されず、水位が危険な水準まで低下し、−0.5のようなマイナスの報酬を得る、又は、水位がゼロになると、−1のような高い負の報酬を得る。 The reward column 304 indicates a number that defines the reward that can be obtained after the learning agent unit 1240 takes an action to transition to the next state. For example, in the case of a water purification plant, if the water intake rate is increased during high demand hours, the reservoir will be supplied with sufficient water and a positive reward such as +1 will be obtained. Or, if you do not increase the water intake rate during high demand times, the reservoir will not be supplied with enough water and the water level will drop to dangerous levels, with negative rewards such as -0.5. Or, when the water level reaches zero, you get a high negative reward such as -1.

次の状態欄305は、システムが状態欄302のいずれかの状態から、行動欄303のいずれかの行動を受けた後の遷移状態を示す。次の状態により、システムは報酬304に示す報酬を定義することができる。次の状態欄305の各セルは、実世界環境またはシミュレーション環境からのセンサ示度の集合を格納している。 The next state column 305 indicates a transition state after the system receives any action of the action column 303 from any state of the state column 302. The following states allow the system to define the reward shown in reward 304. Each cell in the next state column 305 stores a set of sensor readings from a real-world or simulated environment.

図4は、第1実施形態に係る重要経験メモリデータベース132の説明図である。重要経験メモリデータベース132は、インデックス欄401、状態欄402、行動欄403、報酬欄404、次の状態欄405、及び、重要度欄406を含む。最初の5つの欄401〜405は、メモリデータベース131と同様の構造を有する。第6の欄である重要度欄406は、関連する経験の重要度を格納する。本例において、重要度は、0から1の範囲で正規化されている。0は重要度が非常に低いことを意味し、1は重要度が非常に高いことを意味する。 FIG. 4 is an explanatory diagram of the important experience memory database 132 according to the first embodiment. The important experience memory database 132 includes an index column 401, a status column 402, an action column 403, a reward column 404, the next status column 405, and an importance column 406. The first five columns 401-405 have a structure similar to the memory database 131. The sixth column, the importance column 406, stores the importance of the associated experience. In this example, the importance is normalized in the range 0 to 1. 0 means very low importance and 1 means very high importance.

図5は、第1実施形態に係る環境部1210のフローチャートである。最初に、環境部1210は、ステップ501で、環境の現在の状態を観測する。環境部1210が実世界から情報を取得する場合、現在のセンサアレイデータは環境の現在の状態を示す。環境部1210がシミュレーションから情報を取得する場合、現在のセンサアレイデータは、シミュレーション環境におけるセンサデータの現在の観測値である。 FIG. 5 is a flowchart of the environment unit 1210 according to the first embodiment. First, the environment unit 1210 observes the current state of the environment in step 501. When the Environment Department 1210 acquires information from the real world, the current sensor array data indicates the current state of the environment. When the environment unit 1210 acquires information from the simulation, the current sensor array data is the current observed value of the sensor data in the simulation environment.

次に、ステップ502において、環境部1210は、学習エージェント部1240から行動を受信する。次に、ステップ503において、環境部1210は、現実世界又はシミュレーションで行動を実行することにより、環境内の現在の状態から次の状態への遷移を行う。ステップ504において、環境部1210は、次の新しい状態における報酬を決定する。ステップ505において、環境部1210は、元の状態、行動、報酬、及び次の状態の情報をタプルにまとめる。 Next, in step 502, the environment unit 1210 receives an action from the learning agent unit 1240. Next, in step 503, the environment unit 1210 makes a transition from the current state in the environment to the next state by executing an action in the real world or in a simulation. In step 504, the Environment Department 1210 determines the reward for the next new state. In step 505, the Environment Department 1210 compiles information on the original state, behavior, reward, and next state into a tuple.

ステップ506において、環境部1210は、元の状態、行動、報酬、及び次の状態を含む、ステップ505でタプルにまとめた情報を、メモリデータベース131に格納する。最後に、ステップ507において、環境部1210は、同じタプルを重要経験評価部1220に送る。以上で、環境部1210の処理が終了する。 In step 506, the environment unit 1210 stores the information summarized in the tuple in step 505, including the original state, action, reward, and the next state, in the memory database 131. Finally, in step 507, the Environment Department 1210 sends the same tuple to the Important Experience Evaluation Department 1220. This completes the processing of the environment unit 1210.

図6は、第1実施形態に係る重要経験評価部1220のフローチャートである。まず、重要経験評価部1220は、ステップ601において、現在の状態、行動、報酬、及び次の状態の4つの情報を有するタプルの形で、環境部1210から経験を受け取る。次に、ステップ602において、重要経験評価部1220は、経験の重要度を評価する。経験の重要度を評価するいくつかの方法が存在する。以下に、評価方法の例を記載するが、他の方法も利用可能である。 FIG. 6 is a flowchart of the important experience evaluation unit 1220 according to the first embodiment. First, in step 601 the important experience evaluation unit 1220 receives the experience from the environment unit 1210 in the form of a tuple having four pieces of information: the current state, the action, the reward, and the next state. Next, in step 602, the important experience evaluation unit 1220 evaluates the importance of the experience. There are several ways to assess the importance of experience. An example of the evaluation method is described below, but other methods can also be used.

一つの方法は、受け取った報酬に基づく評価である。通常、高い肯定的な報酬又は低い否定的な報酬は、システムが学習するために不可欠である。したがって、高い肯定的な報酬又は低い否定的な報酬を含む経験の重要度は高くなり、逆もまた同様である。 One method is evaluation based on the rewards received. High positive or low negative rewards are usually essential for the system to learn. Therefore, experiences involving high positive or low negative rewards are of high importance and vice versa.

他の方法は、経験のエントロピに基づく評価である。通常、エントロピ(情報理論)は、受信前に欠落している情報の量を測定することであり、経験の重要度を評価するために使用することができる。経験のエントロピは、経験の重要度であり、以下のエントロピの式に従って計算される。 Another method is an entropy-based evaluation of experience. Entropy (information theory) is usually the measurement of the amount of information missing prior to reception and can be used to assess the importance of experience. The entropy of experience is the importance of experience and is calculated according to the following entropy formula.

Figure 0006858724
Figure 0006858724

bは通常2に等しく、xiは経験のタプルにおける各情報要素であり、nは4に等しい。 b is usually equal to 2, xi is each information element in the tuple of experience, and n is equal to 4.

経験の重要度を評価した後、重要経験評価部1220は、ステップ603において、その結果と閾値とを比較する。閾値は、通常、予めエンジニアによって設定される。経験の重要度が閾値よりも大きいと判定された場合(603:YES)、経験情報は、ステップ604において、重要経験メモリデータベース132に格納され、重要経験評価部1220の処理は終了する。経験の重要度が閾値以下であると判定された場合(603:NO)、重要経験評価部1220の処理は終了する。 After evaluating the importance of the experience, the critical experience evaluation unit 1220 compares the result with the threshold value in step 603. The threshold is usually preset by an engineer. If it is determined that the importance of the experience is greater than the threshold value (603: YES), the experience information is stored in the important experience memory database 132 in step 604, and the process of the important experience evaluation unit 1220 ends. When it is determined that the importance of experience is less than or equal to the threshold value (603: NO), the process of the important experience evaluation unit 1220 ends.

図7は、第1実施形態に係る学習部1230のフローチャートである。学習部1230は、例えば、新たな経験がメモリデータベース131に格納される度に、本フローチャートの処理を開始する。まず、学習部1230は、ステップ700において、重要経験メモリデータベース132から学習するかを決定する。 FIG. 7 is a flowchart of the learning unit 1230 according to the first embodiment. The learning unit 1230 starts processing of this flowchart every time a new experience is stored in the memory database 131, for example. First, the learning unit 1230 determines in step 700 whether to learn from the important experience memory database 132.

例えば、重要経験メモリデータベース132から学習することが、周期的に決定される。学習部1230は、例えば、本処理の実行の規定回数に1回、重要経験メモリデータベース132からサンプリングすると決定する。一例において、メモリデータベース131からのサンプリング頻度は、重要経験メモリデータベース132からのサンプリング頻度より大きい。重要経験メモリデータベース132が格納している経験は、メモリデータベース131が格納している経験よりも偏っているので、これにより適切な経験に基づく学習が可能となる。 For example, learning from the critical experience memory database 132 is determined periodically. The learning unit 1230 determines that sampling is performed from the important experience memory database 132 once every specified number of times of execution of this process, for example. In one example, the sampling frequency from the memory database 131 is greater than the sampling frequency from the critical experience memory database 132. Important experience The experience stored in the memory database 132 is biased more than the experience stored in the memory database 131, which enables learning based on appropriate experience.

重要経験メモリデータベース132から学ばないと判定された場合(700:NO)、学習部1230は、通常のメモリデータベース131から学習すると決定する。次に、ステップ701において、学習部1230は、学習する前にメモリデータベース131に十分な経験が格納されているかチェックする。通常、サンプリング及び学習の前に、ある程度の経験をメモリデータベース131に持たせる必要がある。格納されているべき経験数は、システムエンジニアによって事前に決定されている。 When it is determined not to learn from the important experience memory database 132 (700: NO), the learning unit 1230 determines to learn from the normal memory database 131. Next, in step 701, the learning unit 1230 checks whether sufficient experience is stored in the memory database 131 before learning. Usually, it is necessary to give some experience to the memory database 131 before sampling and learning. The number of experiences to be stored is predetermined by the system engineer.

ステップ701においてメモリデータベース131に十分な経験が格納されていないと判定された場合(701:NO)、学習部1230の処理は終了する。ステップ701でメモリデータベース131に十分な経験が格納されていると判定された場合(701:YES)、学習部1230は、ステップ702において、メモリデータベース131からN個の経験を、ランダムにサンプリングする。Nは、エンジニアによって予め決定された整数(例えば、N=32)である。 When it is determined in step 701 that sufficient experience is not stored in the memory database 131 (701: NO), the process of the learning unit 1230 ends. If it is determined in step 701 that sufficient experience is stored in the memory database 131 (701: YES), the learning unit 1230 randomly samples N experiences from the memory database 131 in step 702. N is an integer predetermined by the engineer (eg, N = 32).

サンプリングされた各経験は、<ss、aa、rr、ss´>と表わされる。ssは元の状態であり、aaは元の状態において取られた行動であり、rrは次の新しい状態における報酬であり、ss´は次の新しい状態である。 Each sampled experience is represented as <ss, aa, rr, ss'>. ss is the original state, aa is the action taken in the original state, rr is the reward in the next new state, and ss'is the next new state.

ステップ703において、学習部1230は、メモリデータベース131からサンプリングした各経験に基づいて、ニューラルネットワークを訓練するための各経験の目標値(望ましい出力)ttを、次の規則に従って計算する。ss´が最後の状態の場合、tt=rrである。他の場合は、tt=rr+γmaxaa’[Q(ss´,aa´)]である。aa´は、次の状態で取り得る行動である。γは割引率である。γはエンジニアによって予め設定された0から1の値であり、例えば、0.9である。 In step 703, the learning unit 1230 calculates the target value (desired output) tt of each experience for training the neural network based on each experience sampled from the memory database 131 according to the following rule. When ss'is the last state, tt = rr. In other cases, tt = rr + γmax aa'[Q (ss ', aa')]. aa'is an action that can be taken in the following states. γ is the discount rate. γ is a value from 0 to 1 preset by the engineer, for example 0.9.

次に、ステップ704において、学習部1230は、損失関数(tt−Q(ss、aa))を使用して、ミニバッチバックプロパゲーションを実行して、ニューラルネットワークの重み及びバイアスの変化を計算する。そして、ステップ705において、学習部1230は、ニューラルネットワークの重み及びバイアスを更新する。 Next, in step 704, the learning unit 1230 uses the loss function (tt−Q (ss, aa)) 2 to perform mini-batch backpropagation to calculate changes in neural network weights and biases. To do. Then, in step 705, the learning unit 1230 updates the weight and bias of the neural network.

ステップ700において、重要経験メモリデータベース132から学習すると判定された場合(700:YES)、学習部1230は、メモリデータベース131を用いて上述したステップ701〜705の処理と同様に、重要経験メモリデータベース132を用いてステップ706〜710を実行する。以上で、学習部1230の処理を終了する。 When it is determined in step 700 to learn from the important experience memory database 132 (700: YES), the learning unit 1230 uses the memory database 131 and similarly to the process of steps 701 to 705 described above, the important experience memory database 132. Are used to perform steps 706-710. This completes the process of the learning unit 1230.

図8は、第1実施形態による学習エージェント部1240のフローチャートである。まず、学習エージェント部1240は、ステップ801において、現在の状態として、環境部1210からセンサデータを受信する。次に、ステップ802において、学習エージェント部1240は、この状態を学習部1230のニューラルネットワークに転送し、ニューラルネットワークから各行動のQ値を受け取る。 FIG. 8 is a flowchart of the learning agent unit 1240 according to the first embodiment. First, in step 801 the learning agent unit 1240 receives the sensor data from the environment unit 1210 as the current state. Next, in step 802, the learning agent unit 1240 transfers this state to the neural network of the learning unit 1230, and receives the Q value of each action from the neural network.

次に、学習エージェント部1240は、ステップ803において、0から1までの乱数を生成する。そして、ステップ804において、学習エージェント部1240は、ステップ803で生成された乱数をパラメータεと比較する。 Next, the learning agent unit 1240 generates a random number from 0 to 1 in step 803. Then, in step 804, the learning agent unit 1240 compares the random number generated in step 803 with the parameter ε.

ステップ804で乱数がεより大きくないと判定された場合(804:NO)、学習エージェント部1240は、ステップ805において、ランダムに行動を選択する。ステップ804において、乱数がεより大きいと判定された場合(804:YES)、学習エージェント部1240は、ステップ806において、最も高いQ値を有する行動を選択する。最後に、ステップ807において、学習エージェント部1240は、選択された行動を環境部1210に送り、行動を実行する。以上で、学習エージェント部1240の処理が終了する。 If it is determined in step 804 that the random number is not greater than ε (804: NO), the learning agent unit 1240 randomly selects an action in step 805. If it is determined in step 804 that the random number is greater than ε (804: YES), the learning agent unit 1240 selects the action with the highest Q value in step 806. Finally, in step 807, the learning agent unit 1240 sends the selected action to the environment unit 1210 and executes the action. This completes the process of the learning agent unit 1240.

以上のように、第1実施形態によれば、重要経験メモリデータベースを含む複数のメモリデータベースを用意し、複数のメモリデータベースそれぞれからサンプリングして学習を行うことで、効率的かつ安定した学習が実現される。 As described above, according to the first embodiment, efficient and stable learning is realized by preparing a plurality of memory databases including an important experience memory database and sampling from each of the plurality of memory databases for learning. Will be done.

上記例は、二つのメモリデータベースから学習のために経験をサンプリングするが、システムは、3以上のメモリデータから学習のために経験をサンプリングしてもよい。例えば、システムは、二つの重要経験メモリデータベースを含んでもよい。第1重要経験メモリデータベースは、重要度が第1閾値と第2閾値の経験を格納し、第2重要経験メモリデータベースは、重要度が第2閾値より高い経験を格納する。これらのサンプリング周期は、同一でも異なっていてもよい。 The above example samples experience for learning from two memory databases, but the system may sample experience for learning from three or more memory data. For example, the system may include two critical experience memory databases. The first important experience memory database stores experiences of importance of the first threshold and the second threshold, and the second important experience memory database stores experiences of higher importance than the second threshold. These sampling periods may be the same or different.

上記例において、重要度が高い経験は、二つのメモリデータベースの双方に格納されているが、重要度の高い経験が、重要経験メモリデータベースのみに格納されていてもよい。 In the above example, the experience of high importance is stored in both of the two memory databases, but the experience of high importance may be stored only in the important experience memory database.

<第2実施形態>
次に、第2実施形態について、図9〜12を参照して説明する。第1実施形態では、訓練期間中の経験のみが、評価されて重要経験メモリデータベース132に格納される機会を有する。しかし、訓練期間では、εが高いときにランダムに行動が取られる。したがって、εが0であり、εがニューラルネットワークの行動に影響を与えない場合の経験は、重要な経験と考えることができる。
<Second Embodiment>
Next, the second embodiment will be described with reference to FIGS. 9 to 12. In the first embodiment, only the experience during the training period has the opportunity to be evaluated and stored in the critical experience memory database 132. However, during the training period, actions are taken randomly when ε is high. Therefore, the experience when ε is 0 and ε does not affect the behavior of the neural network can be considered as an important experience.

この観点から、重要な経験を集めるため、訓練期間において所定間隔で、テストエージェントが作成される。テストエージェントが特定時点に収集した経験は、訓練期間における当該時点でニューラルネットワークが使用されていれば、どの程度上手く行動できるのかを示すと解釈することができる。テストエージェントからのそれら経験は、高い重要度を有していると考えることができ、重要経験メモリデータベース132に格納される。 From this point of view, test agents are created at regular intervals during the training period to gather important experience. The experience collected by the test agent at a particular point in time can be interpreted as an indication of how well a neural network can behave if it is used at that point in time during the training period. Those experiences from the test agent can be considered to be of high importance and are stored in the critical experience memory database 132.

図9は、第2実施形態に係る学習システムの構成の説明図である。当該構成は、メモリ120内の追加されたテストエージェントプログラム125以外の構成要素は、第1実施形態による学習システムの構成要素と同様である。テストエージェントプログラム125は、exploitation(利用)規則に従ってのみ動作する。つまり、テストエージェントプログラム125は、ニューラルネットワークからのQ値が最も高い行動を選択するのみである。テストエージェントプログラム125の処理フローは、図11を参照して後述する。 FIG. 9 is an explanatory diagram of the configuration of the learning system according to the second embodiment. In this configuration, the components other than the added test agent program 125 in the memory 120 are the same as the components of the learning system according to the first embodiment. The test agent program 125 operates only according to the exploitation rules. That is, the test agent program 125 only selects the action with the highest Q value from the neural network. The processing flow of the test agent program 125 will be described later with reference to FIG.

図10は、第2実施形態に係る学習システムの機能ブロック図である。新たに追加されたテストエージェント部1250以外の構成要素は、第1実施形態による学習システムの機能ブロック図の構成要素と同一である。テストエージェント部1250は、テストエージェントプログラム125を実行するプロセッサ110により実現される。 FIG. 10 is a functional block diagram of the learning system according to the second embodiment. The components other than the newly added test agent unit 1250 are the same as the components of the functional block diagram of the learning system according to the first embodiment. The test agent unit 1250 is realized by the processor 110 that executes the test agent program 125.

テストエージェント部1250は、訓練の特定のスナップショットにおけるニューラルネットワークの能力をテストするために定期的に作成される。テストエージェント部1250は、exploitation(利用)規則を使ってのみ行動する(ε=0)点を除き、学習エージェント部1240と同様に行動を決定する。テストエージェント部1250の行動により得られる経験は、重要経験評価部1220に送られ、重要な経験と判定されて、重要経験メモリデータベース132に格納される。 The test agent unit 1250 is created periodically to test the ability of the neural network in a particular snapshot of training. The test agent unit 1250 determines the behavior in the same manner as the learning agent unit 1240, except that it acts only using the exploitation rule (ε = 0). The experience obtained by the action of the test agent unit 1250 is sent to the important experience evaluation unit 1220, determined to be important experience, and stored in the important experience memory database 132.

図11は、第2実施形態によるテストエージェント部1250のフローチャートである。まず、テストエージェント部1250は、ステップ1101において、現在の状態として環境部1210からセンサデータを受信する。次に、ステップ1102において、テストエージェント部1250は、この状態を学習部1230のニューラルネットワークに転送し、ニューラルネットワークから各行動のQ値を受け取る。 FIG. 11 is a flowchart of the test agent unit 1250 according to the second embodiment. First, in step 1101, the test agent unit 1250 receives the sensor data from the environment unit 1210 as the current state. Next, in step 1102, the test agent unit 1250 transfers this state to the neural network of the learning unit 1230, and receives the Q value of each action from the neural network.

ステップ1103において、テストエージェント部1250は、最も高いQ値を有する行動を選択する。テストエージェント部1250は、ステップ1104において、選択された行動を環境部1210に送り、行動を実行する。最後に、テストエージェント部1250は、環境部1210から経験を得て、この経験を重要経験評価部1220に送る。以上により、テストエージェント部1250の処理が終了する。 In step 1103, the test agent unit 1250 selects the action having the highest Q value. In step 1104, the test agent unit 1250 sends the selected action to the environment unit 1210 and executes the action. Finally, the test agent unit 1250 obtains experience from the environment unit 1210 and sends this experience to the important experience evaluation unit 1220. As a result, the processing of the test agent unit 1250 is completed.

図12は、第2実施形態に係る重要経験評価部1220のフローチャートである。まず、重要経験評価部1220は、ステップ1201において、現在の状態、行動、報酬、及び次の状態の4つの情報を有するタプルの形で、環境部1210またはテストエージェント部1250から、経験を受け取る。 FIG. 12 is a flowchart of the important experience evaluation unit 1220 according to the second embodiment. First, in step 1201, the important experience evaluation unit 1220 receives the experience from the environment unit 1210 or the test agent unit 1250 in the form of a tuple having four pieces of information: the current state, the action, the reward, and the next state.

次に、重要経験評価部1220は、ステップ1202において、経験がテストエージェント部1250から来たかどうかをチェックする。経験がテストエージェント部1250からのものであると判定された場合(1202:YES)、ステップ1205において、重要経験評価部1220は、当該経験の情報を重要経験メモリデータベース132に直接送り、格納する。経験がテストエージェントからのものではないと判定された場合(1202:NO)、重要経験評価部1220は、第1実施形態におけるステップ1203の説明のように、経験の重要度を評価する。 Next, the critical experience evaluation unit 1220 checks in step 1202 whether the experience came from the test agent unit 1250. If it is determined that the experience is from the test agent unit 1250 (1202: YES), in step 1205, the important experience evaluation unit 1220 sends and stores the information of the experience directly to the important experience memory database 132. If it is determined that the experience is not from the test agent (1202: NO), the critical experience evaluation unit 1220 evaluates the importance of the experience, as described in step 1203 in the first embodiment.

経験の重要度を評価した後、重要経験評価部1220は、ステップ1204において、当該重要度と閾値とを比較する。閾値は、通常、予めエンジニアによって設定される。経験の重要度が閾値よりも大きいと判定された場合(1204:YES)、ステップ1205において、重要経験評価部1220は、当該経験の情報を重要経験メモリデータベース132に送信及び格納し、重要経験評価部1220の処理は終了する。経験の重要度が閾値以下であると判定された場合(1204:NO)、重要経験評価部1220の処理は終了する。 After evaluating the importance of the experience, the critical experience evaluation unit 1220 compares the importance with the threshold value in step 1204. The threshold is usually preset by an engineer. When it is determined that the importance of the experience is greater than the threshold value (1204: YES), in step 1205, the important experience evaluation unit 1220 transmits and stores the information of the experience in the important experience memory database 132, and evaluates the important experience. The processing of unit 1220 ends. When it is determined that the importance of experience is less than or equal to the threshold value (1204: NO), the process of the important experience evaluation unit 1220 ends.

<第3実施形態>
次に、第3実施形態について、図13及び14を参照して説明する。第2実施形態では、テストエージェントプログラム125が、重要経験メモリデータベース132に格納される重要な経験を生成する。本実施形態は、テストエージェントを使用する代わりに、人為操作プログラム126も、重要経験の源となり得ることを説明する。なお、テストエージェントプログラム125及び人為操作プログラム126の双方が実行されてもよい。
<Third Embodiment>
Next, the third embodiment will be described with reference to FIGS. 13 and 14. In the second embodiment, the test agent program 125 generates important experiences stored in the critical experience memory database 132. This embodiment illustrates that instead of using a test agent, the manipulative program 126 can also be a source of significant experience. Both the test agent program 125 and the artificial operation program 126 may be executed.

図13は、第3実施形態に係る学習システムの構成の説明図である。本構成において、第2実施形態における構成のテストエージェント125が、人為操作プログラム126に置換されている。さらに、入力装置142及び表示装置143が、インタフェース141を介してバスに接続されている。表示装置143は出力装置である。他の構成要素は、第2実施形態の学習システムの構成要素と同様である。 FIG. 13 is an explanatory diagram of the configuration of the learning system according to the third embodiment. In this configuration, the test agent 125 of the configuration according to the second embodiment is replaced with the artificial operation program 126. Further, the input device 142 and the display device 143 are connected to the bus via the interface 141. The display device 143 is an output device. Other components are the same as the components of the learning system of the second embodiment.

人為操作プログラム126は、システムと人間とのインタフェースである。人為操作プログラム126は、例えば、入力装置142と表示装置143と共にグラフィカルユーザインタフェースをユーザに提供する。人為操作プログラム126を含むユーザインタフェースの主な目的は、所与の状態における人間の専門家の決定を収集することである。これらの経験は重要な経験としても扱われ、重要経験メモリデータベース132に格納される。 The artificial operation program 126 is an interface between the system and a human being. The artificial operation program 126 provides the user with a graphical user interface, for example, together with the input device 142 and the display device 143. The main purpose of the user interface, including the manipulative program 126, is to collect the decisions of human experts in a given state. These experiences are also treated as important experiences and are stored in the important experience memory database 132.

図14は、第3実施形態に係る学習システムの機能ブロック図である。テストエージェント部1250が人為操作部1260に置き換えられている以外の構成は、第2実施形態係る学習システムの機能ブロック図と同様である。人為操作部1260は、人為操作プログラム126を実行するプロセッサ110により実現される。 FIG. 14 is a functional block diagram of the learning system according to the third embodiment. The configuration is the same as the functional block diagram of the learning system according to the second embodiment, except that the test agent unit 1250 is replaced with the artificial operation unit 1260. The artificial operation unit 1260 is realized by the processor 110 that executes the artificial operation program 126.

人為操作部1260は、訓練期間の前又は訓練期間中に機能することができる。人為操作部1260は、データ収集部として機能し、強化学習システムが学ぶための経験として、人間の専門家の決定を収集する。収集された経験は、重要経験評価部1220に送られ、重要経験メモリデータベース132に格納される。 The artificial operation unit 1260 can function before or during the training period. The artificial operation unit 1260 functions as a data collection unit and collects the decisions of human experts as an experience for the reinforcement learning system to learn. The collected experience is sent to the important experience evaluation unit 1220 and stored in the important experience memory database 132.

図15は、第3実施形態に係る人為操作部1260のフローチャートである。まず、人為操作部1260は、ステップ1501において、環境部1210から、現在の状態としてセンサデータを受信する。次に、人為操作部1260は、ステップ1502において、この現在の状態を、例えばチャート、図形又は数字のみである画像を、表示装置143において表示する。ポイントは、人間が環境の現在の状態を認識し、その状態についての決定を行うことができるようにすることである。 FIG. 15 is a flowchart of the artificial operation unit 1260 according to the third embodiment. First, in step 1501, the artificial operation unit 1260 receives the sensor data as the current state from the environment unit 1210. Next, in step 1502, the artificial operation unit 1260 displays this current state on the display device 143, for example, an image that is only a chart, a figure, or a number. The point is to enable humans to recognize the current state of the environment and make decisions about that state.

次に、人為操作部1260は、ステップ1503において、人間の専門家からの行動の入力を待ち、入力装置142から専門家により入力された行動を受け取る。人為操作部1260は、ステップ1504において、選択された行動を環境部1210に送り、行動を実行する。最後に、人為操作部1260は、ステップ1505において、環境部1210から経験を得て、この経験を重要経験評価部1220に送る。以上により、人為操作部1260の処理は終了する。重要経験評価部1220は、人為操作部1260から取得した経験を重要であると判定し、重要経験メモリデータベース132に格納する。 Next, in step 1503, the artificial operation unit 1260 waits for the input of the action from the human expert, and receives the action input by the expert from the input device 142. In step 1504, the artificial operation unit 1260 sends the selected action to the environment unit 1210 and executes the action. Finally, the artificial operation unit 1260 obtains experience from the environment unit 1210 in step 1505 and sends this experience to the important experience evaluation unit 1220. With the above, the processing of the artificial operation unit 1260 is completed. The important experience evaluation unit 1220 determines that the experience acquired from the artificial operation unit 1260 is important, and stores it in the important experience memory database 132.

<第4実施形態>
次に、第4実施形態について、図16及び17を参照して説明する。第3実施形態では、人為操作プログラム126が重要経験メモリデータベース132に格納する重要な経験を収集することが記載されている。本実施形態では、人為操作プログラム126を使用してデータを直接収集する代わりに、重要経験評価プログラム122が、人による過去の操作から事前収集された経験を受け取り、それらの重要度を評価し、重要経験メモリデータベース132に格納する。なお、本実施形態と人為操作プログラム126とが、同時に実行されてもよい。
<Fourth Embodiment>
Next, the fourth embodiment will be described with reference to FIGS. 16 and 17. In the third embodiment, it is described that the artificial operation program 126 collects important experiences stored in the important experience memory database 132. In this embodiment, instead of collecting data directly using the manipulative operation program 126, the critical experience evaluation program 122 receives pre-collected experiences from past operations by humans and evaluates their importance. It is stored in the important experience memory database 132. The present embodiment and the artificial operation program 126 may be executed at the same time.

図16は、第4実施形態に係る学習システムの構成の説明図である。追加されている過去人為操作データベース133以外の構成は、第1実施形態による学習システムの構成と同様である。過去人為操作データベース133は、データベース内の全ての経験が過去の人間の操作に基づいたものであり、既に収集されていることを除いて、メモリデータベース131と全く同じ構造を有する。 FIG. 16 is an explanatory diagram of the configuration of the learning system according to the fourth embodiment. The configuration other than the added past artificial operation database 133 is the same as the configuration of the learning system according to the first embodiment. The past man-made operation database 133 has exactly the same structure as the memory database 131, except that all experiences in the database are based on past human operations and have already been collected.

図17は、第4実施形態に係る学習システムの機能ブロック図である。追加されている過去人為操作データベース133以外の構成は、第1実施形態による学習システムの機能ブロック図の構成と同様である。 FIG. 17 is a functional block diagram of the learning system according to the fourth embodiment. The configuration other than the added past artificial operation database 133 is the same as the configuration of the functional block diagram of the learning system according to the first embodiment.

重要経験評価部1220は、訓練期間が開始される前に実行され、過去人為操作データベース133の全ての経験を第1実施形態で説明したように評価し、(重要度が規定の閾値を超える)重要度の高い経験を、重要経験メモリデータベース132にインポートする。これにより、重要度の高い経験をより適切に重要経験メモリデータベース132に格納することができる。 The important experience evaluation unit 1220 is executed before the training period is started, and evaluates all the experiences of the past artificial operation database 133 as described in the first embodiment (importance exceeds a predetermined threshold). Import the high-priority experience into the critical experience memory database 132. As a result, the experience of high importance can be more appropriately stored in the important experience memory database 132.

重要経験評価部1220は、過去人為操作データベース133に格納されている全ての経験を、重要経験メモリデータベース132に格納すべき重要な経験であると判定してもよい。重要経験評価部1220は、メモリデータベース131に格納されている経験よりも、過去人為操作データベース133に格納されている経験の重要度が相対的に高いと評価してもよい。例えば、過去人為操作データベース133の経験の重要度の評価方法は、メモリデータベース131の経験の評価方法に、定数を加える又は定数を掛けてもよい。 The important experience evaluation unit 1220 may determine that all the experiences stored in the past artificial operation database 133 are important experiences to be stored in the important experience memory database 132. The important experience evaluation unit 1220 may evaluate that the experience stored in the past artificial operation database 133 is relatively more important than the experience stored in the memory database 131. For example, in the method of evaluating the importance of the experience of the past artificial operation database 133, a constant may be added or multiplied by the method of evaluating the experience of the memory database 131.

学習システムは、過去人為操作データベース133から重要経験メモリデータベース132に経験をインポートすることなく、過去人為操作データベース133から、学習のための経験を直接にサンプリングしてもよい。 The learning system may sample the experience for learning directly from the past manipulative database 133 without importing the experience from the past manipulative database 133 into the critical experience memory database 132.

本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 The present invention is not limited to the above-described examples, and includes various modifications. For example, the above-described embodiment has been described in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the configurations described. Further, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. Further, it is possible to add / delete / replace a part of the configuration of each embodiment with another configuration.

また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。 Further, each of the above-mentioned configurations, functions, processing units and the like may be realized by hardware by designing a part or all of them by, for example, an integrated circuit. Further, each of the above configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card or an SD card. In addition, control lines and information lines are shown as necessary for explanation, and not all control lines and information lines are shown in the product. In practice, it can be considered that almost all configurations are interconnected.

100 サーバ、110 プロセッサ、120 メモリ、121 環境プログラム、122 重要経験評価プログラム、123 学習プログラム、124 学習エージェントプログラム、125 テストエージェントプログラム、126 人為操作プログラム、130 補助記憶装置、131 メモリデータベース、132 重要経験メモリデータベース、133 過去人為操作データベース、1210 環境部、1220 重要経験評価部、1230 学習部、1240 学習エージェント部、1250 テストエージェント部、1260 人為操作部 100 server, 110 processor, 120 memory, 121 environment program, 122 important experience evaluation program, 123 learning program, 124 learning agent program, 125 test agent program, 126 human operation program, 130 auxiliary storage device, 131 memory database, 132 important experience Memory database, 133 Past human operation database, 1210 Environment department, 1220 Important experience evaluation department, 1230 Learning department, 1240 Learning agent department, 1250 Test agent department, 1260 Human operation department

Claims (8)

経験を格納する第1のメモリデータベースと、
経験を格納する第2のメモリデータベースと、
前記第1のメモリデータベース及び前記第2のメモリデータベースからサンプリングした経験により、環境における行動の価値を決定する関数を訓練し更新する、学習部と、
経験が重要であるかを予め設定された規則に基づき判定し、重要と判定した経験を前記第2のメモリデータベースに格納する、重要経験評価部と、
前記関数の訓練期間において、前記関数の出力に基づく決定又は任意決定の一方を選択して、前記環境における行動を決定する、学習エージェント部と、
前記環境を前記学習エージェント部に提供し、前記学習エージェント部により決定された行動の経験を前記第1のメモリデータベースに格納する環境部と、
を含む機械学習システム。
A first memory database to store experience,
A second memory database to store experiences,
A learning unit that trains and updates functions that determine the value of behavior in an environment based on the experience sampled from the first memory database and the second memory database.
An important experience evaluation unit that determines whether experience is important based on preset rules and stores the experience determined to be important in the second memory database.
During the training period of the function, a learning agent unit that determines the behavior in the environment by selecting either a decision based on the output of the function or an arbitrary decision.
An environment unit that provides the environment to the learning agent unit and stores the experience of the action determined by the learning agent unit in the first memory database.
Machine learning system including.
請求項1に記載の機械学習システムであって、
前記重要経験評価部は、前記環境部から経験を取得し、当該取得した経験の重要度が閾値を超える場合に、当該取得した経験を前記第2のメモリデータベースに格納する、機械学習システム。
The machine learning system according to claim 1.
The important experience evaluation unit is a machine learning system that acquires experience from the environment unit and stores the acquired experience in the second memory database when the importance of the acquired experience exceeds a threshold value.
請求項1又は2に記載の機械学習システムであって、
さらに、前記関数の前記訓練期間において、前記関数の特定のスナップショットの出力に基づき行動を決定するテストエージェント部を含み、
前記重要経験評価部は、前記テストエージェント部の決定した行動の経験を前記第2のメモリデータベースに格納する、機械学習システム。
The machine learning system according to claim 1 or 2.
In addition, it includes a test agent section that determines actions based on the output of a particular snapshot of the function during the training period of the function.
The important experience evaluation unit is a machine learning system that stores the experience of the behavior determined by the test agent unit in the second memory database.
請求項1、2又は3に記載の機械学習システムであって、
前記訓練期間内での前記環境における人為操作による行動の経験を収集する人為操作部をさらに含み、
前記重要経験評価部は、前記人為操作による行動の経験を前記第2のメモリデータベースに格納する、機械学習システム。
The machine learning system according to claim 1, 2 or 3.
It further includes an artificial operation unit that collects the experience of human-operated behavior in the environment during the training period.
The important experience evaluation unit is a machine learning system that stores the experience of behavior by the artificial operation in the second memory database.
請求項1〜4のいずれかに記載の機械学習システムであって、
前記重要経験評価部は、人為操作により過去に決定された行動の経験を、前記第2のメモリデータベースに格納する、機械学習システム。
The machine learning system according to any one of claims 1 to 4.
The important experience evaluation unit is a machine learning system that stores the experience of actions determined in the past by human operation in the second memory database.
請求項5に記載の機械学習システムであって、
前記環境において人為操作により過去に決定された行動の経験を格納する第3のデータベースをさらに含み、
前記重要経験評価部は、前記第3のデータベースから取得した経験を前記第2のメモリデータベースに格納する、機械学習システム。
The machine learning system according to claim 5.
It further includes a third database that stores the experience of previously determined behaviors by human manipulation in the environment.
The important experience evaluation unit is a machine learning system that stores the experience acquired from the third database in the second memory database.
請求項6に記載の機械学習システムであって、
前記重要経験評価部は、前記第3のデータベースから取得した経験から重要度に基づき選択した経験を前記第2のメモリデータベースに格納する、機械学習システム。
The machine learning system according to claim 6.
The important experience evaluation unit is a machine learning system that stores in the second memory database the experience selected based on the importance from the experience acquired from the third database.
記憶装置と、前記記憶装置に格納されているプログラムに従って動作するプロセッサと、を含む計算機システムが、機械学習を行う方法であって、
前記記憶装置は、
経験を格納している第1のメモリデータベースと、
経験を格納している第2のメモリデータベースと、を含み、
前記方法は、前記プロセッサが、
前記第1のメモリデータベース及び前記第2のメモリデータベースからサンプリングした経験により、環境における行動の価値を決定する関数を訓練し更新し、
経験が重要であるかを予め設定された規則に基づき判定し、重要と判定した経験を前記第2のメモリデータベースに格納し、
前記関数の訓練期間において、前記関数の出力に基づく決定又は任意決定の一方を選択して、前記環境における行動を決定し、
前記環境を提供し、前記決定された行動の経験を前記第1のメモリデータベースに格納する、
ことを含む方法。
A method in which a computer system including a storage device and a processor that operates according to a program stored in the storage device performs machine learning.
The storage device is
A first memory database that stores experience,
Includes a second memory database that stores experience,
In the method, the processor
Based on the experience sampled from the first memory database and the second memory database, the functions that determine the value of behavior in the environment are trained and updated.
Whether or not the experience is important is determined based on a preset rule, and the experience determined to be important is stored in the second memory database.
During the training period of the function, one of the decisions based on the output of the function or the arbitrary decision is selected to determine the behavior in the environment.
The environment is provided and the experience of the determined behavior is stored in the first memory database.
How to include that.
JP2018063364A 2018-03-28 2018-03-28 Machine learning system Expired - Fee Related JP6858724B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018063364A JP6858724B2 (en) 2018-03-28 2018-03-28 Machine learning system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018063364A JP6858724B2 (en) 2018-03-28 2018-03-28 Machine learning system

Publications (2)

Publication Number Publication Date
JP2019175194A JP2019175194A (en) 2019-10-10
JP6858724B2 true JP6858724B2 (en) 2021-04-14

Family

ID=68167536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018063364A Expired - Fee Related JP6858724B2 (en) 2018-03-28 2018-03-28 Machine learning system

Country Status (1)

Country Link
JP (1) JP6858724B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017228086A (en) * 2016-06-22 2017-12-28 富士通株式会社 Machine learning management program, machine learning management method, and machine learning management apparatus
JP2018005739A (en) * 2016-07-06 2018-01-11 株式会社デンソー Method for learning reinforcement of neural network and reinforcement learning device

Also Published As

Publication number Publication date
JP2019175194A (en) 2019-10-10

Similar Documents

Publication Publication Date Title
JP7152938B2 (en) Machine learning model building device and machine learning model building method
US11783195B2 (en) Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions
JP6902487B2 (en) Machine learning system
Clarke Land use change modeling with sleuth: Improving calibration with a genetic algorithm
US11243525B2 (en) Forecasting maintenance operations to be applied to an engine
CA2838119A1 (en) System and method for selecting predictors for a student risk model
JP7119820B2 (en) Prediction program, prediction method and learning device
EP4148623A1 (en) Hyperparameter adjustment device, non-transitory recording medium in which hyperparameter adjustment program is recorded, and hyperparameter adjustment program
US9317387B2 (en) Methods and systems for reducing metrics used to monitor resources
JP2019105927A (en) Failure probability calculation device, failure probability calculation method and program
Clarke Improving SLEUTH calibration with a genetic algorithm
CN111949502A (en) Database early warning method and device, computing equipment and medium
CN119471293A (en) A method and system for monitoring faults of analog integrated circuits
Jones et al. Forecasting rare language model behaviors
US11580358B1 (en) Optimization with behavioral evaluation and rule base coverage
JP6625183B1 (en) Remodeling support device and remodeling support method
JP6858724B2 (en) Machine learning system
CN116151440A (en) Meteorological drought prediction method, device, storage medium and equipment
Prasetyo et al. Evaluating the efficacy of univariate LSTM approach for COVID-19 data prediction in Indonesia
Papantonopoulos et al. Using cellular automata experiments to model periodontitis: A first step towards understanding the nonlinear dynamics of the disease
CN104834634A (en) Regression-based cost modeling method and device for predicting SQL statement performance
EP3648109A1 (en) Forecasting device, forecasting method, storage medium stored with forecasting program, and genetic inference device
CN115115057B (en) Training method, device, equipment and storage medium for sustainable learning model
WO2009055967A1 (en) Real-time model validation
CN118133165A (en) Data processing method, prediction method, computing device, storage medium and program product

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210324

R150 Certificate of patent or registration of utility model

Ref document number: 6858724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees