(57)【特許請求の範囲】
【請求項１】
上流から連続的に送られてくる複数の物を複数の収容部へ振り分ける振り分け機の制御についての学習方法であって、
前記複数の収容部に一対一で設けられた複数の計量器であって、それぞれ対応する収容部に振り分けられた物の計量を行う複数の計量器の計量結果の組み合わせである状態が入力されるニューラルネットワークから出力される、強化学習に用いられるＱ値に基づいて、前記振り分け機への制御である行動を決定する決定ステップと、
決定された前記行動が行われたときの次の前記状態が入力された前記ニューラルネットワークから出力される次のＱ値と、当該Ｑ値の前回に前記ニューラルネットワークから出力されたＱ値と、次の前記状態における報酬とを用いて誤差を算出する算出ステップと、
算出された誤差を用いて前記ニューラルネットワークを学習する学習ステップと、を含み、
前記報酬は、前記複数の計量器の計量結果のそれぞれと前記複数の計量器の計量結果のそれぞれに対応付けられた目標値との差が小さいほど大きくなるように算出され、
前記決定ステップと、前記算出ステップと、前記学習ステップとの一連の処理を繰り返し行う
学習方法。
【請求項２】
前記複数の計量器のそれぞれは、対応する収容部に振り分けられた物の重量を計量する計量器であり、
前記報酬は、前記複数の計量器の重量の計量結果のそれぞれと前記複数の計量器の重量の計量結果のそれぞれに対応付けられた重量の目標値との差が小さくなるほど大きくなるように算出される
請求項１に記載の学習方法。
【請求項３】
前記振り分け機は、前記複数の収容部に一対一で設けられ、それぞれ対応する収容部に振り分けられた物の計量を行う計量器の計量結果を変化させ得る複数の個別機械要素を備え、
前記決定ステップでは、前記ニューラルネットワークから出力されるＱ値に基づいて、前記複数の個別機械要素のうちの１つ個別機械要素への制御である前記行動の内容を決定する
請求項１又は２に記載の学習方法。
【請求項４】
前記ニューラルネットワークは、前記複数の個別機械要素のそれぞれについて制御したときの前記複数の個別機械要素のそれぞれごとのＱ値を出力する複数の出力ノードを有し、
前記学習ステップでは、前記算出ステップで算出する誤差を限りなく０に近づけるように前記ニューラルネットワークを学習し、
前記決定ステップでは、前記複数の出力ノードのそれぞれから出力されるＱ値のうち、最も小さいＱ値に対応する個別機械要素を選択して当該個別機械要素への制御である前記行動の内容を決定する
請求項３に記載の学習方法。
【請求項５】
前記報酬をｒｋ、前記決定ステップで選択された個別機械要素に対応する計量器の計量結果をｍｋ、当該計量器の計量結果に対応付けられた目標値をｗｋ、前記決定ステップで選択された個別機械要素に対応する計量器の計量結果から当該計量器の計量結果に対応付けられた目標値を引いたときに許容される許容誤差をｐとした場合、
｜ｍｋ−ｗｋ｜≦ｐのときには、ｒｋ＝（ｐ−｜ｍｋ−ｗｋ｜）／ｐであり、
｜ｍｋ−ｗｋ｜＞ｐのときには、ｒｋ＝−｜ｍｋ−ｗｋ｜／ｐである
請求項４に記載の学習方法。
【請求項６】
前記決定ステップでは、
前記複数の出力ノードのそれぞれから出力されるＱ値のうち、１−ε（０≦ε≦１）の確率で、最も小さいＱ値に対応する個別機械要素を選択して当該個別機械要素への制御である前記行動の内容を決定し、
前記複数の出力ノードのそれぞれから出力されるＱ値のうち、εの確率で、無作為に選択したＱ値に対応する個別機械要素を選択して当該個別機械要素への制御である前記行動の内容を決定する
請求項４又は５に記載の学習方法。
【請求項７】
前記複数の個別機械要素のそれぞれは、振動することで前記複数の物を対応する収容部へ向けて搬送する振動器であり、
前記決定ステップでは、前記行動の内容として選択した個別機械要素の振動強度及び振動時間を決定する
請求項３〜６のいずれか１項に記載の学習方法。
【請求項８】
前記決定ステップでは、
選択した個別機械要素に対応する計量器の計量結果をｍｋ、当該計量器の計量結果に対応付けられた目標値をｗｋ、選択した個別機械要素に対応する計量器の計量結果から当該計量器の計量結果に対応付けられた目標値を引いたときに許容される許容誤差をｐとした場合、
（ｍｋ−ｗｋ）＜−ｐのときには、前記行動の内容として、選択した個別機械要素の振動強度及び振動時間を増加することを決定し、
−ｐ≦（ｍｋ−ｗｋ）≦ｐのときには、前記行動の内容として、選択した個別機械要素の振動強度及び振動時間を維持することを決定し、
ｐ＜（ｍｋ−ｗｋ）のときには、前記行動の内容として、選択した個別機械要素の振動強度及び振動時間を減少することを決定する
請求項７に記載の学習方法。
【請求項９】
前記振り分け機は、さらに、前記複数の計量器の計量結果の全てを変化させ得る１つの共通機械要素を備え、
前記決定ステップでは、さらに、前記複数の計量器の計量結果のそれぞれの合計と、前記複数の計量器の計量結果のそれぞれに対応付けられた目標値の合計との差に応じて、前記共通機械要素の制御内容を決定する
請求項３〜８のいずれか１項に記載の学習方法。
【請求項１０】
前記共通機械要素は、回転しながら前記複数の物を前記複数の個別機械要素へ振り分ける回転テーブルであり、
前記決定ステップでは、さらに、前記共通機械要素の回転数を決定する
請求項９に記載の学習方法。
【請求項１１】
前記決定ステップでは、
前記複数の計量器の数をｎ、選択した個別機械要素に対応する計量器の計量結果をｍｋ、当該計量器の計量結果に対応付けられた目標値をｗｋ、選択した個別機械要素に対応する計量器の計量結果から当該計量器の計量結果に対応付けられた目標値を引いたときに許容される許容誤差をｐとした場合、
【数１】
0006656687.tif 000009
のときには、前記共通機械要素の回転数を増加することを決定し、
【数２】
0006656687.tif 000010
のときには、前記共通機械要素の回転数を維持することを決定し、
【数３】
0006656687.tif 000011
のときには、前記共通機械要素の回転数を減少することを決定する
請求項１０に記載の学習方法。
【請求項１２】
前記複数の計量器の計量結果のそれぞれに対応付けられた目標値は、互いに同じ値である
請求項１〜１１のいずれか１項に記載の学習方法。
【請求項１３】
請求項１〜１２のいずれか１項に記載の学習方法をコンピュータに実行させるためのプログラム。
【請求項１４】
上流から連続的に送られてくる複数の物を複数の収容部へ振り分ける振り分け機の制御についての学習を行う学習装置であって、
前記複数の収容部に一対一で設けられた複数の計量器であって、それぞれ対応する収容部に振り分けられた物の計量を行う複数の計量器の計量結果の組み合わせである状態が入力されるニューラルネットワークから出力される、強化学習に用いられるＱ値に基づいて、前記振り分け機への制御である行動を決定する行動決定部と、
決定された前記行動が行われたときの次の前記状態が入力された前記ニューラルネットワークから出力される次のＱ値と、当該Ｑ値の前回に前記ニューラルネットワークから出力されたＱ値と、次の前記状態における報酬とを用いて、誤差を算出する誤差算出部と、を備え、
前記ニューラルネットワークは、算出された誤差を用いて前記ニューラルネットワークを学習し、
前記報酬は、前記複数の計量器の計量結果のそれぞれと前記複数の計量器の計量結果のそれぞれに対応付けられた目標値との差が小さいほど大きくなるように算出され、
前記行動決定部による前記行動の決定と、前記誤差算出部による誤差の算出と、前記ニューラルネットワークによる学習との一連の処理を繰り返し行う
学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振り分け機の制御についての学習方法、プログラム及び学習装置に関する。
【背景技術】
【０００２】
従来、上流から連続的に送られてくる菓子等の複数の物を複数の計量ホッパへ振り分ける装置が開示されている（例えば特許文献１）。このような振り分け機によれば、振り分けられた菓子等が目標の重量となるように振り分けることが可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１０３０４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されるような振り分け機について、振り分けた物の重量等の計量結果が目標値に近づくように、正確に複数の物を振り分けることが求められている。
【０００５】
そこで、本発明は、振り分け機が正確に複数の物を振り分けることができるようになる学習方法等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明の一態様に係る学習方法は、上流から連続的に送られてくる複数の物を複数の収容部へ振り分ける振り分け機の制御についての学習方法であって、前記複数の収容部に一対一で設けられた複数の計量器であって、それぞれ対応する収容部に振り分けられた物の計量を行う複数の計量器の計量結果の組み合わせである状態が入力されるニューラルネットワークから出力される、強化学習に用いられるＱ値に基づいて、前記振り分け機への制御である行動を決定する決定ステップと、決定された前記行動が行われたときの次の前記状態が入力された前記ニューラルネットワークから出力される次のＱ値と、当該Ｑ値の前回に前記ニューラルネットワークから出力されたＱ値と、次の前記状態における報酬とを用いて誤差を算出する算出ステップと、算出された誤差を用いて前記ニューラルネットワークを学習する学習ステップと、を含み、前記報酬は、前記複数の計量器の計量結果のそれぞれと前記複数の計量器の計量結果のそれぞれに対応付けられた目標値との差が小さいほど大きくなるように算出され、前記決定ステップと、前記算出ステップと、前記学習ステップとの一連の処理を繰り返し行う。
【０００７】
これによれば、強化学習によって、最終的に受け取る報酬の総量を最大化するように振り分け機の制御を学習することができる。つまり、強化学習によって、振り分けられた物の計量結果が目標値に近づくように、複数の物を複数の収容部へ振り分けることができる。また、強化学習は、全ての状態と行動とのペアについてのＱ値の表を作成して学習を行う方法であるのに対して、小数点以下を含む計量器の計量結果の組み合わせをそのまま状態として使用する場合、状態数が多くなる（いわゆる状態爆発を起こす）場合がある。そこで、ニューラルネットワークを用いた深層強化学習を利用することで、各状態を適当なニューラルネットワークの隠れ層の状態に近似することができ、状態爆発を抑制することができる。このように、本態様によれば、深層強化学習を用いて、振り分け機が正確に複数の物を振り分けることができるようになる。
【０００８】
また、前記複数の計量器のそれぞれは、対応する収容部に振り分けられた物の重量を計量する計量器であり、前記報酬は、前記複数の計量器の重量の計量結果のそれぞれと前記複数の計量器の重量の計量結果のそれぞれに対応付けられた重量の目標値との差が小さくなるほど大きくなるように算出されてもよい。
【０００９】
これによれば、振り分けられた物の重量が目標値の重量となるように、複数の物を複数の収容部へ振り分けることができる。
【００１０】
また、前記振り分け機は、前記複数の収容部に一対一で設けられ、それぞれ対応する収容部に振り分けられた物の計量を行う計量器の計量結果を変化させ得る複数の個別機械要素を備え、前記決定ステップでは、前記ニューラルネットワークから出力されるＱ値に基づいて、前記複数の個別機械要素のうちの１つ個別機械要素への制御である前記行動の内容を決定してもよい。
【００１１】
これによれば、複数の個別機械要素により変化し得る複数の計量結果の組み合わせを状態としてニューラルネットワークに入力することで、制御の対象がある１つの個別機械要素であっても、複数の個別機械要素の最適な制御が可能となる。
【００１２】
また、前記ニューラルネットワークは、前記複数の個別機械要素のそれぞれについて制御したときの前記複数の個別機械要素のそれぞれごとのＱ値を出力する複数の出力ノードを有し、前記学習ステップでは、前記算出ステップで算出する誤差を限りなく０に近づけるように前記ニューラルネットワークを学習し、前記決定ステップでは、前記複数の出力ノードのそれぞれから出力されるＱ値のうち、最も小さいＱ値に対応する個別機械要素を選択して当該個別機械要素への制御である前記行動の内容を決定してもよい。
【００１３】
ニューラルネットワークの複数の出力ノードから出力されるＱ値のうち最も小さいＱ値に対応する個別機械要素は、対応する計量器の計量結果と目標値との差（計量誤差と呼ぶ）が複数の計量器のうち最も大きくなっているものである。したがって、１サイクル毎に最も小さいＱ値に対応する個別機械要素を選択し、選択した個別機械要素に対して決定した行動の内容に応じた制御をすることを繰り返して学習を進めることで、複数の計量器のそれぞれについて全体的に計量誤差を小さくしていくことができる。言い換えると、計量誤差の水準の底上げが可能となる。
【００１４】
また、前記報酬をｒｋ、前記決定ステップで選択された個別機械要素に対応する計量器の計量結果をｍｋ、当該計量器の計量結果に対応付けられた目標値をｗｋ、前記決定ステップで選択された個別機械要素に対応する計量器の計量結果から当該計量器の計量結果に対応付けられた目標値を引いたときに許容される許容誤差をｐとした場合、｜ｍｋ−ｗｋ｜≦ｐのときには、ｒｋ＝（ｐ−｜ｍｋ−ｗｋ｜）／ｐであり、｜ｍｋ−ｗｋ｜＞ｐのときには、ｒｋ＝−｜ｍｋ−ｗｋ｜／ｐであってもよい。
【００１５】
このような計算式を用いることで、計量結果と目標値との差が小さいほど大きくなるような報酬を算出することができる。
【００１６】
また、前記決定ステップでは、前記複数の出力ノードのそれぞれから出力されるＱ値のうち、１−ε（０≦ε≦１）の確率で、最も小さいＱ値に対応する個別機械要素を選択して当該個別機械要素への制御である前記行動の内容を決定し、前記複数の出力ノードのそれぞれから出力されるＱ値のうち、εの確率で、無作為に選択したＱ値に対応する個別機械要素を選択して当該個別機械要素への制御である前記行動の内容を決定してもよい。
【００１７】
これによれば、常に最も小さいＱ値に対応する個別機械要素だけが選択されて制御されることが抑制され、試行錯誤的に様々な個別機械要素が選択されて制御されるため、様々な行動に対する適切なＱ学習を行うことができる。
【００１８】
また、前記複数の個別機械要素のそれぞれは、振動することで前記複数の物を対応する収容部へ向けて搬送する振動器であり、前記決定ステップでは、前記行動の内容として選択した個別機械要素の振動強度及び振動時間を決定してもよい。
【００１９】
これによれば、行動の内容として選択した振動器の振動強度及び振動時間を決定することで、選択した個別機械要素に対応する計量器の計量誤差を小さくすることができる。
【００２０】
また、前記決定ステップでは、選択した個別機械要素に対応する計量器の計量結果をｍｋ、当該計量器の計量結果に対応付けられた目標値をｗｋ、選択した個別機械要素に対応する計量器の計量結果から当該計量器の計量結果に対応付けられた目標値を引いたときに許容される許容誤差をｐとした場合、（ｍｋ−ｗｋ）＜−ｐのときには、前記行動の内容として、選択した個別機械要素の振動強度及び振動時間を増加することを決定し、−ｐ≦（ｍｋ−ｗｋ）≦ｐのときには、前記行動の内容として、選択した個別機械要素の振動強度及び振動時間を維持することを決定し、ｐ＜（ｍｋ−ｗｋ）のときには、前記行動の内容として、選択した個別機械要素の振動強度及び振動時間を減少することを決定してもよい。
【００２１】
これによれば、選択した個別機械要素に対応する計量器の計量結果が目標値よりも小さく、計量誤差が許容される誤差外のときには、選択した個別機械要素の振動強度及び振動時間を増加することで、計量結果を大きくして計量誤差が許容される誤差に収まるようにすることができる。選択した個別機械要素に対応する計量器の計量結果が目標値よりも大きく、計量誤差が許容される誤差外のときには、選択した個別機械要素の振動強度及び振動時間を減少することで、計量結果を小さくして計量誤差が許容される誤差に収まるようにすることができる。
【００２２】
また、前記振り分け機は、さらに、前記複数の計量器の計量結果の全てを変化させ得る１つの共通機械要素を備え、前記決定ステップでは、さらに、前記複数の計量器の計量結果のそれぞれの合計と、前記複数の計量器の計量結果のそれぞれに対応付けられた目標値の合計との差に応じて、前記共通機械要素の制御内容を決定してもよい。
【００２３】
複数の計量器の計量結果のそれぞれの合計と、複数の計量器の計量結果のそれぞれに対応付けられた目標値の合計との差が大きい場合、複数の計量器の計量結果のそれぞれが全体的に目標値からずれていることになる。そこで、複数の計量器の計量結果の全てを変化させ得る１つの共通機械要素の制御内容を決定することで、複数の計量器の計量結果のそれぞれを全体的に目標値に近づけることができる。
【００２４】
また、前記共通機械要素は、回転しながら前記複数の物を前記複数の個別機械要素へ振り分ける回転テーブルであり、前記決定ステップでは、さらに、前記共通機械要素の回転数を決定してもよい。
【００２５】
これによれば、回転テーブルの回転数を決定することで、複数の計量器の計量結果のそれぞれを全体的に目標値に近づけることができる。
【００２６】
また、前記決定ステップでは、後述する式５のときには、前記共通機械要素の回転数を増加することを決定し、後述する式６のときには、前記共通機械要素の回転数を維持することを決定し、後述する式７のときには、前記共通機械要素の回転数を減少することを決定してもよい。
【００２７】
これによれば、複数の計量器の計量結果のそれぞれが全体的に目標値よりも小さいときには、共通機械要素の回転数を増加することで、複数の計量器の計量結果のそれぞれを全体的に目標値に近づけることができる。複数の計量器の計量結果のそれぞれが全体的に目標値よりも大きいときには、共通機械要素の回転数を減少することで、複数の計量器の計量結果のそれぞれを全体的に目標値に近づけることができる。
【００２８】
また、前記複数の計量器の計量結果のそれぞれに対応付けられた目標値は、互いに同じ値であってもよい。
【００２９】
これによれば、複数の物を均等に振り分けることができる。
【００３０】
また、上記目的を達成するために本発明の一態様に係るプログラムは、上記の学習方法をコンピュータに実行させるためのプログラムである。
【００３１】
これによれば、振り分け機が正確に複数の物を振り分けることができるようになるプログラムを提供できる。
【００３２】
また、上記目的を達成するために本発明の一態様に係る学習装置は、上流から連続的に送られてくる複数の物を複数の収容部へ振り分ける振り分け機の制御についての学習を行う学習装置であって、前記複数の収容部に一対一で設けられた複数の計量器であって、それぞれ対応する収容部に振り分けられた物の計量を行う複数の計量器の計量結果の組み合わせである状態が入力されるニューラルネットワークから出力される、強化学習に用いられるＱ値に基づいて、前記振り分け機への制御である行動を決定する行動決定部と、決定された前記行動が行われたときの次の前記状態が入力された前記ニューラルネットワークから出力される次のＱ値と、当該Ｑ値の前回に前記ニューラルネットワークから出力されたＱ値と、次の前記状態における報酬とを用いて、誤差を算出する誤差算出部と、を備え、前記ニューラルネットワークは、算出された誤差を用いて前記ニューラルネットワークを学習し、前記報酬は、前記複数の計量器の計量結果のそれぞれと前記複数の計量器の計量結果のそれぞれに対応付けられた目標値との差が小さいほど大きくなるように算出され、前記行動決定部による前記行動の決定と、前記誤差算出部による誤差の算出と、前記ニューラルネットワークによる学習との一連の処理を繰り返し行う。
【００３３】
これによれば、振り分け機が正確に複数の物を振り分けることができるようになる学習装置を提供できる。
【発明の効果】
【００３４】
本発明によれば、振り分け機が正確に複数の物を振り分けることができるようになる。
【図面の簡単な説明】
【００３５】
【図１】実施の形態における振り分け機の一例を示す外観上面図である。
【図２】実施の形態における振り分け機及び学習装置の一例を示す構成図である。
【図３】強化学習におけるエージェントと環境との相互作用を示す図である。
【図４】状態と行動とのペアについてのＱ値の表である。
【図５】深層強化学習を説明するための図である。
【図６】実施の形態における学習方法の一例を示すフローチャートである。
【図７】実施の形態におけるＱ学習での報酬の与え方の一例を示すグラフである。
【図８】実施の形態における行動決定部の振動器への具体的な制御内容の決定方法の一例を示すフローチャートである。
【図９】実施の形態における行動決定部の回転テーブルへの具体的な制御内容の決定方法の一例を示すフローチャートである。
【発明を実施するための形態】
【００３６】
（実施の形態）
以下、実施の形態について、図１から図９を参照しながら説明する。
【００３７】
図１は、実施の形態における振り分け機１００の一例を示す外観上面図である。
【００３８】
図２は、実施の形態における振り分け機１００及び学習装置１０の一例を示す構成図である。
【００３９】
振り分け機１００は、上流から連続的に送られてくる複数の物を複数の収容部へ振り分ける装置である。なお、複数の物は、例えば菓子等であるが、特に限定されない。複数の物は、例えば流体等であってもよい。
【００４０】
図１及び図２に示されるように、振り分け機１００は、複数の振動器１１０、複数の収容部１２０、回転テーブル１３０、搬送路１４０、複数の計量器１５０及び制御部１６０を備える。なお、図２では、振り分け機１００の模式的な側面図を表しており、搬送路１４０、回転テーブル１３０、振動器１１０及び収容部１２０の上下の位置関係は、例えば、図２に示すものとなっている。また、図１及び図２において、太い矢印は複数の物の流れを示しており、図２において太い矢印とは異なる実線の矢印は信号の流れを示している。
【００４１】
搬送路１４０は、例えばベルトコンベアであり、回転テーブル１３０へ向けて複数の物を搬送する。
【００４２】
回転テーブル１３０は、振り分け機１００が備える１つの共通機械要素の一例であり、搬送路１４０の下方に設けられて、自身の中心を通る回転軸を中心に自転するテーブルである。図１には、回転テーブル１３０が自転することを破線の矢印で示している。回転テーブル１３０は、例えば下方に向かって広がるなだらかな円錐形状を有し、回転しながら複数の物を回転テーブル１３０の外縁に向けて放射状に搬送し、複数の振動器１１０へ振り分ける。
【００４３】
複数の振動器１１０は、振り分け機１００が備える複数の個別機械要素の一例であり、回転テーブル１３０の外縁に沿って放射状に設けられ、また、複数の収容部１２０と一対一で設けられる。なお、図２では、複数の振動器１１０のうちの２つの振動器１１０を代表して示している。複数の振動器１１０のそれぞれの先端側に収容部１２０が設けられており、複数の振動器１１０のそれぞれは、振動することで複数の物を回転テーブル１３０側から対応する収容部１２０へ向けて搬送する。
【００４４】
複数の収容部１２０のそれぞれは、対応する振動器１１０の先端側の下方に設けられ、対応する振動器１１０から搬送された物を収容する。なお、図２では、複数の収容部１２０のうちの２つの収容部１２０を代表して示している。例えば、収容部１２０は、その底部が開閉可能となっており、底部が開くことで収容された物が下方へ排出される。例えば、収容部１２０の下方には包装袋が設けられ、排出された物は包装袋に袋詰めされる。
【００４５】
複数の計量器１５０は、複数の収容部１２０に一対一で設けられ、それぞれ対応する収容部１２０に振り分けられた物の計量を行う。なお、図２では、複数の計量器１５０のうちの２つの計量器１５０を代表して示している。複数の計量器１５０のそれぞれは、例えば、対応する収容部１２０に振り分けられた物の重量を計量する計量器である。計量器１５０は、振り分けられた物の重量を示す計量結果を出力する。例えば、計量器１５０は、計量結果を外部の装置に出力したり、振り分け機１００内の他の構成要素に出力したりする。後述するように、振り分け機１００の制御について学習装置１０によって学習が行われ、計量器１５０の計量結果は学習装置１０に出力される。また、例えば、収容部１２０と計量器１５０とは一体に設けられていてもよい。
【００４６】
複数の振動器１１０は、振動強度及び振動時間が制御されることで、主に対応する収容部１２０へ搬送される物の量が変化するため、対応する収容部１２０に振り分けられた物の計量を行う計量器１５０の計量結果を変化させ得る要素となっている。ただし、複数の振動器１１０は、回転テーブル１３０への物の量が一定のときは、対応する収容部１２０以外の収容部１２０に振り分けられる物の量も変化させ得る。回転テーブル１３０は、回転数が制御されることで、複数の収容部１２０の全てについて搬送される物の量が変化するため、複数の計量器１５０の計量結果の全てを変化させ得る要素となっている。
【００４７】
制御部１６０は、振り分け機１００での複数の物の振り分けを制御する処理部であり、振動制御部１６１及び回転制御部１６２を有する。制御部１６０は、例えば、プロセッサ（マイクロプロセッサ）及びメモリ等からなる回路である。メモリは、ＲＯＭ、ＲＡＭ等であり、プロセッサにより実行されるプログラムを記憶することができる。例えばプロセッサがプログラムに従って動作することにより、制御部１６０の機能である振動制御部１６１及び回転制御部１６２が実現される。制御部１６０は、後述する学習装置１０の出力部１４から振動器１１０及び回転テーブル１３０の制御パラメータを取得し、取得した制御パラメータに応じて振動器１１０及び回転テーブル１３０を制御する。
【００４８】
振動制御部１６１は、複数の振動器１１０の振動強度及び振動時間を制御する。例えば、振動制御部１６１は、複数の振動器１１０のそれぞれについて個別に異なる振動強度及び振動時間によって制御することができる。
【００４９】
回転制御部１６２は、回転テーブル１３０の回転数を制御する。
【００５０】
学習装置１０は、振り分け機１００による複数の物の振り分けの制御についての学習を行う装置であり、行動決定部１１、誤差算出部１２、入力部１３、出力部１４及びニューラルネットワーク２０を備える。振り分け機１００と学習装置１０とは接続され、振り分け機１００が制御された後の複数の計量器１５０の計量結果の組み合わせである状態が振り分け機１００から学習装置１０の入力部１３へ送信され、振り分け機１００への制御である行動が学習装置１０の出力部１４から振り分け機１００へ送信される。
【００５１】
学習装置１０は、複数の計量器１５０の計量結果のそれぞれと、複数の計量器１５０の計量結果のそれぞれに対応付けられた目標値との差が小さくなるような振り分け機１００の制御を学習する装置である。なお、複数の計量器１５０の計量結果のそれぞれに対応付けられた目標値は、互いに同じ値であってもよい。この場合、複数の物を均等に振り分けることができる。
【００５２】
ここで、学習装置１０の各構成要素の説明の前に、強化学習の概要について説明する。
【００５３】
図３は、強化学習におけるエージェントと環境との相互作用を示す図である。
【００５４】
強化学習は、ある環境内のエージェントが環境との相互作用から学習して目標を達成する問題を扱う機械学習の一種である。図３に示されるように、エージェントが継続的に環境に対して行動を実行し、その行動の応答として環境から新しい状態と報酬が提示されるという、エージェントと環境との相互作用から学習が行われる。
【００５５】
具体的には、各時間ステップtにおいて、エージェントは環境からの状態（state）st∈Sを受け取り、受け取った状態に基づいて行動（action）at∈A(st)を選択する。A(st)は、エージェントが状態stのときに実行可能な行動の集合である。
【００５６】
１つの時間ステップtの後に、エージェントは当該１つの時間ステップtでの行動の結果として報酬（reward）rt+1∈Rと新しい状態st+1を受け取る。各時間ステップにおいて、状態から可能な行動を選択する確率の写像をエージェントの方策（policy）と呼びπtで示す。例えば、πt(s,a)は、st =sのときにat=aとなる確率である。強化学習においてエージェントは、自身の経験の結果として最終的に受け取る報酬の総量を最大化する方策を学習する。
【００５７】
強化学習の一種として、価値関数Qを学習するＱ学習（Q-learning）がある。Ｑ学習は、ある状態sのときに取り得る行動aのなかから、価値関数Q(s,a)の最も高い行動aを最適な行動として選択することを目的として行われる。価値関数Q(s,a)は、エージェントが状態sにおいて行動aを行うことで、将来にわたって得られることが期待される報酬の総量である。報酬は、その環境が即自的で固有の望ましさを決定するのに対し、価値関数Qはその後に続きそうな状態群とそれらの状態群によって得られそうな報酬を考慮に入れた上での長期的な望ましさを表す。Ｑ学習の過程で最適な行動は不明であるため、様々な行動について探索しながら強化学習が行われる。このため、価値関数Q(s,a)は、次の状態s’における報酬rと行動a’を用いて以下の式１で更新される。
【００５８】
【数１】
0006656687.tif 000002
【００５９】
上記式１において、状態sは、ある時刻における環境のある状態を表し、行動aは、その時刻における行動を表す。行動aにより、状態は状態s’に変化する。報酬rは、この状態の変化により得られる報酬を表す。また、maxの項は、状態s’のもとで、取り得る様々な行動のなかから、最も高いＱ値が得られる行動a’を選択したときの当該Ｑ値である。なお、Ｑ値とは強化学習（例えばＱ学習）で用いられるものである。
【００６０】
ただし、本態様では、最も高いＱ値が得られる行動が行われない。すなわち、本態様では、最も小さいＱ値に対応する振動器１１０の制御（行動）を行い、当該振動器１１０の計量誤差を小さくすることでＱ値を大きくすることができる。そのため、本態様では、価値関数Q(s,a)は、上記式１ではなく、以下の式２が用いられる。
【００６１】
【数２】
0006656687.tif 000003
【００６２】
minの項は、状態s’のもとで、取り得る様々な行動のなかから、最も小さいＱ値が得られる行動a’を選択したときの当該Ｑ値である。
【００６３】
γは、割引率と呼ばれるパラメータであり０≦γ≦１である。割引率は、将来の価値が現在においてどれだけの価値があるかを決定するパラメータである。例えば、γ＝０のときには、次の状態で得られる即時報酬のみを最大化することを目的とし、エージェントは近視眼的なものとなる。一方で、γが１に近づくに伴い、エージェントは将来の報酬を考慮に入れることを重視するようになる。
【００６４】
また、αは、学習率と呼ばれるパラメータであり０＜α≦１である。学習率に着目すると、Q(s,a)は以下の式３に置き換えることができる。
【００６５】
【数３】
0006656687.tif 000004
【００６６】
上記式３より、学習率は、現状までに学習を積み重ねた推定値Q(s,a)を優先するか、学習の結果次の状態から得られる価値を優先するかを決定するパラメータであることが分かる。例えば、α＝１のときには、現状の推定値を無視して、次の状態の報酬のみで推定値を更新（学習）することになる。一方で、αが限りなく０に近づけば、次の状態にて得られる価値を無視し、今まで学習してきた推定値の変更が行われなくなる。実際のＱ学習では、α＝１にて学習を開始し、学習回数が増えるに従ってαを減少させ、最終的にαを限りなく０に近づけて学習を終了させる。
【００６７】
上記式２では、行動aの結果得られる報酬rを使って、状態sにおける行動aの価値関数Q(s,a)が更新される。具体的には、ある状態sにおけるある行動aの価値を、その行動aによる次の状態s’における最良の行動a’の価値に近づける。Ｑ学習では、上記式２における左辺のQ(s,a)（つまり更新後のＱ値）と右辺のQ(s,a)（つまり更新前のＱ値）とが同じになるように学習が進められる。言い換えると、Ｑ学習では、誤差関数
【数４】
0006656687.tif 000005
が限りなく０になるように学習が進められる。
【００６８】
例えば、状態[0,1,2,3］、行動[0,1,2,3,4]の場合に、本態様と異なり、最も高いＱ値が得られる行動が行われて、図４に示されるようにＱ学習が行われたとする。
【００６９】
図４は、状態と行動とのペアについてのＱ値の表である。
【００７０】
状態２のときには、行動３のＱ値が３となっており、それ以外の行動のＱ値は３よりも小さい１となっているため、Ｑ値が最も大きい行動３が選択される。同じように、状態３のときには、最もＱ値の大きい行動４が選択される。なお、実際には、ε-greedy法を用いて試行錯誤的に行動が選択される。つまり、１−εの確率で最も大きいＱ値の行動が選択され、εの確率で無作為に行動が選択される。これは、常に最も大きいＱ値の行動が選択されると、他のＱ値の行動が試されることなく学習が終了してしまうためである。
【００７１】
強化学習は、図４に示されるように、状態が[0,1,2,3］のように有限の場合、表形式での方策を使用することができる。しかし、本実施の形態の計量器１５０の計量結果のように、重量センサのセンシング結果等の入力値を離散化することなく有効桁数分をそのまま使用する（すなわち小数点以下も使用する）場合、入力値の組み合わせとする状態は、状態爆発を起こしてしまう。例えば、計量器１５０が１８個あるとし、各計量器１５０の計量結果が９５．０から１０４．９の場合、小数点１桁まで有効とすると１００通りの入力値となり、１８個の計量器１５０の入力値の組み合わせは１００１８となり状態爆発を起こす。そこで、図５に示されるように、ニューラルネットワークを用いてＱ値を構成する深層強化学習を利用する。
【００７２】
図５は、深層強化学習を説明するための図である。
【００７３】
深層強化学習では、ある近似的な入力セットに対する状態はネットワーク上の隠れ状態として構築されているとみなし、それらの隠れ状態を単位にＱ学習を行うことになる。例えば、図５では、入力値の組み合わせはニューラルネットワーク上の隠れ状態２に近似され、その状態における各行動のＱ値はそれぞれニューラルネットワークの出力層として出力される。図４に示される例では、行動３のＱ値が最も大きいので、行動３が選択されることになる。なお、実際には、ε-greedy法を用いて試行錯誤的に行動が選択されて学習が進められる。
【００７４】
学習装置１０は、複数の計量器１５０の計量結果（重量）がそのまま入力されるため、深層強化学習を用いる。深層強化学習では、学習装置１０をエージェントとみなす。また、エージェントが認識する環境を複数の計量器１５０の計量結果とし、状態を複数の計量器１５０の計量結果の組み合わせとする。学習装置１０が認識する環境は、複数の計量器１５０の全ての計量結果が出揃う間隔を１サイクルとしたときに、サイクル単位で状態が変化する環境である。
【００７５】
学習装置１０の各構成要素について、図６を用いて説明する。
【００７６】
図６は、実施の形態における学習方法の一例を示すフローチャートである。
【００７７】
実施の形態に係る学習方法は、上流から連続的に送られてくる複数の物を複数の収容部１２０へ目標値に従って振り分ける振り分け機１００の制御についての学習方法である。図６に示されるように、学習方法は、決定ステップ（ステップＳ１１）と、算出ステップ（ステップＳ１２）と、学習ステップ（ステップＳ１３）とを含み、決定ステップ（ステップＳ１１）と、算出ステップ（ステップＳ１２）と、学習ステップ（ステップＳ１３）との一連の処理を繰り返し行う。決定ステップ（ステップＳ１１）では、複数の計量器１５０の計量結果の組み合わせである状態sが入力されるニューラルネットワーク２０から出力されるＱ値に基づいて、振り分け機１００への制御である行動aを決定する。行動aは、ニューラルネットワーク２０から出力される最も小さいＱ値に対するε-greedy法にて選択した振り分け機１００への制御（具体的には、ある１つの振動器１１０への制御）である。算出ステップ（ステップＳ１２）では、決定された行動aが行われたときの次の状態s’が入力されたニューラルネットワーク２０から出力される次のＱ値と、当該Ｑ値の前回にニューラルネットワーク２０から出力されたＱ値と、次の状態s’における報酬rとを用いて誤差（具体的には上記式４に示す誤差関数E(s,a)）を算出する。次のＱ値は、Q(s’,a’)に対応し、当該Ｑ値の前回にニューラルネットワーク２０から出力されたＱ値は、Q(s,a)に対応する。学習ステップ（ステップＳ１３）では、算出された誤差を用いてニューラルネットワーク２０を学習する。ニューラルネットワーク２０の学習には、例えば、誤差逆伝播法等が用いられるが、これらに限定されるものではない。
【００７８】
例えば、学習装置１０は、図６に示される学習方法を行う装置であり、行動決定部１１は決定ステップに対応し、誤差算出部１２は算出ステップに対応し、ニューラルネットワーク２０は学習ステップに対応している。学習装置１０は、行動決定部１１による行動の決定と、誤差算出部１２による誤差の算出と、ニューラルネットワーク２０による学習との一連の処理を繰り返し行う。また、学習装置１０は、入力部１３を介して状態を取得し、出力部１４を介して行動を出力する。
【００７９】
ニューラルネットワーク２０は、状態（複数の計量器１５０の計量結果の組み合わせ）を入力とし、複数の振動器１１０のそれぞれについて制御したときの複数の振動器１１０のそれぞれごとのＱ値を出力する複数の出力ノードを有する。例えば、複数の振動器１１０の数とＱ値を出力する出力ノードの数とは同じであり、複数の振動器１１０と、複数の出力ノードとは一対一の対応関係となっている。言い換えると、複数の振動器１１０と、複数の出力ノードから出力されるＱ値とは一対一の対応関係となっている。
【００８０】
誤差算出部１２は、具体的には、上記の図６に示される学習方法で述べた算出ステップに従って式４の誤差E(s,a)を算出し、ニューラルネットワーク２０に出力した後、ニューラルネットワーク２０にて、誤差逆伝搬法などを用いて、誤差E(s,a)が限りなく０に近づくように学習を行う。
【００８１】
行動決定部１１は、ニューラルネットワーク２０から出力されるＱ値に基づいて、行動の内容を決定する。具体的には、行動決定部１１は、ニューラルネットワーク２０が有する複数の出力ノードのそれぞれから出力されるＱ値に基づいて、複数の振動器１１０のうちの１つの振動器１１０への制御である行動の内容を決定する。なお、行動決定部１１は、選択した行動の内容に対応する振動器１１０の制御パラメータを制御部１６０の振動制御部１６１に出力することで、振動制御部１６１は複数の振動器１１０を選択された行動の内容に応じて制御する。
【００８２】
通常の強化学習であれば、複数の出力ノードから出力されるＱ値のうち最も大きいＱ値に対応する行動が行われるが、上述したように、本態様では、最も小さいＱ値に対応する行動が行われる。すなわち、行動決定部１１は、ニューラルネットワーク２０が有する複数の出力ノードのそれぞれから出力されるＱ値のうち、最も小さいＱ値に対応する振動器１１０を選択して当該振動器１１０への制御である行動の内容を決定する。これについて、報酬の算出方法と合わせて説明する。
【００８３】
報酬は、振動器１１０が制御された後の複数の計量器１５０の計量結果のそれぞれと複数の計量器１５０の計量結果のそれぞれに対応付けられた目標値との差（計量誤差）が小さいほど大きくなるように算出される。つまり、計量器１５０の計量結果が目標値と同じであれば最も高い報酬が与えられ、計量結果と目標値との計量誤差が大きくなるほど報酬も低くなる。ここに、報酬は、目標の重量となるように振り分ける目的を達成するための、個々の行動の効果度合とすることができる。
【００８４】
報酬をｒｋ、行動決定部１１で選択された振動器１１０に対応する計量器１５０の計量結果をｍｋ、当該計量器１５０の計量結果に対応付けられた目標値をｗｋ、行動決定部１１で選択された振動器１１０に対応する計量器１５０の計量結果から当該計量器１５０の計量結果に対応付けられた目標値を引いたときに許容される許容誤差をｐとした場合、｜ｍｋ−ｗｋ｜≦ｐのときには、ｒｋ＝（ｐ−｜ｍｋ−ｗｋ｜）／ｐであり、｜ｍｋ−ｗｋ｜＞ｐのときには、ｒｋ＝−｜ｍｋ−ｗｋ｜／ｐである。
【００８５】
報酬ｒｋは、計量結果ｍｋと目標値ｗｋとの計量誤差に対する許容される許容誤差ｐとの比となり、これらの式をグラフ化したものを図７に示す。
【００８６】
図７は、実施の形態におけるＱ学習での報酬の与え方の一例を示すグラフである。
【００８７】
図７に示されるように、計量器１５０の計量結果ｍｋと当該計量器１５０の計量結果ｍｋに対応付けられた目標値ｗｋとが同一の場合、つまり計量誤差が０の場合、最大の報酬である１．０が与えられる。つまり、その報酬を得た行動は計量誤差を０にすることができ効果度合が最も高かったとすることができる。一方で、計量結果ｍｋと目標値ｗｋとの計量誤差が大きくなるほど報酬（効果度合）は低くなり、計量誤差が許容される許容誤差ｐを超えると、報酬（効果度合）はマイナスとなる。
【００８８】
そこで、複数の出力ノードから出力されるＱ値のうち最も大きいＱ値に対応する行動が決定される通常の強化学習と異なり、最も小さいＱ値に対応する行動が決定される。つまり、行動決定部１１は、最も小さいＱ値、つまり累積報酬（効果度合）が最も低い行動を選択することで、最も大きな計量誤差を引き起こしてきた計量器１５０に対応する振動器１１０を選択して、当該計量器１５０の計量誤差を小さくするように選択した振動器１１０への制御である行動の内容を決定する。これにより、エージェントは、最も計量誤差を起こしてきた効果度合の累積が低い振動器１１０を選択して行動することで、計算誤差の水準の底上げが可能となる。
【００８９】
本態様では、行動決定部１１は、学習時にε-greedy法を用いて、複数の出力ノードのそれぞれから出力されるＱ値のうち、１−ε（０≦ε≦１）の確率で、最も小さいＱ値に対応する振動器１１０を選択して当該振動器１１０への制御である行動の内容を決定し、複数の出力ノードのそれぞれから出力されるＱ値のうち、εの確率で、無作為に選択したＱ値に対応する振動器１１０を選択して当該振動器１１０への制御である行動の内容を決定する。なお、学習が完了した後は、行動決定部１１では、報酬の計算は行わず、ε-greedy法を用いず、常に最も小さいＱ値に対応する振動器１１０が選択される。また誤差算出部１２の実行はスキップされ、ニューラルネットワーク２０への誤差の出力もしない。ここに、学習済みのニューラルネットワーク２０を用いて順次、推定した一番小さいQ(s,a)に従って行動を選択していけば、累積報酬（効果度合）の最も小さい振動器１１０を常に選択することができ、計量誤差の水準を効率的に上げることができる。つまり、目標の重量となるように振り分ける目的を最も効率的に達成することができる。
【００９０】
次に、本実施の形態のＱ学習における具体的な行動、すなわち、行動決定部１１の振動器１１０への制御について図８を用いて説明する。
【００９１】
図８は、実施の形態における行動決定部１１の振動器１１０への具体的な制御内容の決定方法の一例を示すフローチャートである。
【００９２】
例えば、行動決定部１１は、行動の内容として選択した振動器１１０の振動強度及び振動時間を決定する。例えば、振動器１１０の振動強度及び振動時間が変化することで、当該振動器１１０に対応する収容部１２０へ振り分けられる物の量が変化する。振動器１１０の振動強度及び振動時間が増加することで、当該振動器１１０に対応する収容部１２０へ振り分けられる物の量が多くなる。一方で、振動器１１０の振動強度及び振動時間が減少することで、当該振動器１１０に対応する収容部１２０へ振り分けられる物の量が少なくなる。
【００９３】
まず、行動決定部１１は、上述したように、ニューラルネットワーク２０が有する複数の出力ノードのそれぞれから出力されるＱ値のうち、最も小さいＱ値に対応する振動器１１０を選択して制御する（ステップＳ１０１）。
【００９４】
選択した振動器１１０に対応する計量器１５０の計量結果をｍｋ、当該計量器１５０の計量結果に対応付けられた目標値をｗｋ、選択した振動器１１０に対応する計量器１５０の計量結果から当該計量器１５０の計量結果に対応付けられた目標値を引いたときに許容される許容誤差をｐとした場合に、行動決定部１１は、計量結果ｍｋと目標値ｗｋとの誤差（計量誤差）と、許容誤差ｐとの関係を判定する（ステップＳ１０２）。
【００９５】
行動決定部１１は、（ｍｋ−ｗｋ）＜−ｐのときには、行動の内容として、選択した振動器１１０の振動強度及び振動時間を増加することを決定する（ステップＳ１０３）。つまり、行動決定部１１は、計量結果が目標値に対して小さく、計量誤差が許容誤差を超えている場合には、選択した振動器１１０の振動強度及び振動時間を増加することで、対応する計量器１５０へ振り分けられる物の量を増やし、当該計量器１５０の計量結果が目標値に近づくようにする。
【００９６】
行動決定部１１は、−ｐ≦（ｍｋ−ｗｋ）≦ｐのときには、行動の内容として、選択した振動器１１０の振動強度及び振動時間を維持することを決定する（ステップＳ１０４）。つまり、行動決定部１１は、計量誤差が許容誤差内に収まっている場合には、選択した振動器１１０の振動強度及び振動時間を維持することで、今後も対応する計量器１５０の計量誤差が許容誤差を超えないようにする。
【００９７】
行動決定部１１は、ｐ＜（ｍｋ−ｗｋ）のときには、行動の内容として、選択した振動器１１０の振動強度及び振動時間を減少することを決定する（ステップＳ１０５）。つまり、行動決定部１１は、計量結果が目標値に対して大きく、計量誤差が許容誤差を超えている場合には、選択した振動器１１０の振動強度及び振動時間を減少することで、対応する計量器１５０へ振り分けられる物の量を減らし、当該計量器１５０の計量結果が目標値に近づくようにする。
【００９８】
なお、複数の計量器１５０のそれぞれの計量結果が全体的に目標値からずれている場合がある。このような場合に振動器１１０を個別に制御していっても、複数の計量器１５０のそれぞれの計量結果が目標値に近づきにくく、Ｑ学習を効果的に進められないことがある。
【００９９】
そこで、行動決定部１１は、さらに、複数の計量器１５０の計量結果のそれぞれの合計と、複数の計量器１５０の計量結果のそれぞれに対応付けられた目標値の合計との差に応じて、回転テーブル１３０の制御内容を決定する。具体的には、行動決定部１１は、回転テーブル１３０の回転数を決定する。なお、行動決定部１１は、決定した制御内容に対応する回転テーブル１３０の制御パラメータを制御部１６０の回転制御部１６２に出力することで、回転制御部１６２は回転テーブル１３０を決定された制御内容に応じて制御する。例えば、回転テーブル１３０の回転数が変化することで、回転テーブル１３０から複数の振動器１１０のそれぞれへ搬送される物の量が変化する。回転テーブル１３０の回転数が増加することで、複数の振動器１１０のそれぞれへ搬送される物の量が多くなる。一方で、回転テーブル１３０の回転数が減少することで、複数の振動器１１０のそれぞれへ搬送される物の量が少なくなる。
【０１００】
回転テーブル１３０の制御内容の決定方法について図９を用いて説明する。
【０１０１】
図９は、実施の形態における行動決定部１１の回転テーブル１３０への具体的な制御内容の決定方法の一例を示すフローチャートである。
【０１０２】
複数の計量器１５０の数をｎ、選択した振動器１１０に対応する計量器１５０の計量結果をｍｋ、当該計量器１５０の計量結果に対応付けられた目標値をｗｋ、選択した振動器１１０に対応する計量器１５０の計量結果から当該計量器１５０の計量結果に対応付けられた目標値を引いたときに許容される許容誤差をｐとした場合に、行動決定部１１は、計量結果ｍｋと目標値ｗｋとの計量誤差の合計と、許容誤差ｐの合計との関係を判定する（ステップＳ１２１）。
【０１０３】
行動決定部１１は、
【数５】
0006656687.tif 000006
のときには、回転テーブル１３０の回転数を増加することを決定する（ステップＳ１２２）。つまり、行動決定部１１は、複数の計量器１５０の計量結果のそれぞれが全体的に目標値よりも小さく、計量誤差が全体的に許容誤差を超えている場合には、回転テーブル１３０の回転数を増加することで、複数の計量器１５０のそれぞれへ搬送される物の量を増やし、複数の計量器１５０のそれぞれの計量結果が全体的に目標値に近づくようにする。
【０１０４】
行動決定部１１は、
【数６】
0006656687.tif 000007
のときには、回転テーブル１３０の回転数を維持することを決定する（ステップＳ１２３）。つまり、行動決定部１１は、複数の計量器１５０の計量誤差のそれぞれが全体的に許容誤差内に収まっている場合には、回転テーブル１３０の回転数を維持することで、今後も複数の計量器１５０の計量誤差のそれぞれが許容誤差を超えないようにする。
【０１０５】
行動決定部１１は、
【数７】
0006656687.tif 000008
のときには、回転テーブル１３０の回転数を減少することを決定する（ステップＳ１２４）。つまり、行動決定部１１は、複数の計量器１５０の計量結果のそれぞれが全体的に目標値よりも大きく、計量誤差が全体的に許容誤差を超えている場合には、回転テーブル１３０の回転数を減少することで、複数の計量器１５０のそれぞれへ搬送される物の量を減らし、複数の計量器１５０のそれぞれの計量結果が全体的に目標値に近づくようにする。
【０１０６】
なお、行動決定部１１は、複数の計量器１５０のそれぞれの計量誤差があまりにも大きい場合には、学習時の制御又は運用時の制御を強制的に終了させてもよい。例えば、行動決定部１１は、計量誤差があまりにも大きいか否かを、１サイクルの合計報酬が所定値以下であるか否かに応じて判定してもよい。
【０１０７】
以上、本実施の形態の学習方法及び学習装置１０では、複数の計量器１５０の計量結果の組み合わせが揃う間隔を１サイクルとした状態を単位とした強化学習が行われるため、エージェント全体での計量誤差を最小とする学習が可能となる。
【０１０８】
また、本実施の形態の学習方法及び学習装置１０では、回転テーブル１３０の制御と振動器１１０の制御とを並行して行うことが可能である。
【０１０９】
また、本実施の形態の学習方法及び学習装置１０では、複数の振動器１１０のそれぞれに着目して制御を行うのではなく、誤差が生じている状態（計量結果の組み合わせ）に対する制御手順が試行錯誤しながら求められる。
【０１１０】
また、本実施の形態の学習方法及び学習装置１０では、許容誤差ｐが報酬ｒｋの算出における唯一の定数であり、報酬ｒｋを容易に算出できるようになる。
【０１１１】
また、式６のときのみ、つまり回転数が維持されているときのみ、振動器１１０の制御をして良い。
【０１１２】
また、本実施の形態の学習方法及び学習装置１０では、計量器１５０の計量結果ｍｋ、及び、当該計量器１５０の計量結果に対応付けられた目標値ｗｋを用途に応じて変更することで、振り分けられる複数の物として様々な商品に対する転移学習が期待される。
【０１１３】
（その他の実施の形態）
以上、実施の形態に係る学習方法及び学習装置１０について説明したが、本発明は、上記実施の形態に限定されるものではない。
【０１１４】
例えば、上記実施の形態では、計量器１５０は、重量を計量する計量器であると説明したが、これに限らない。例えば、計量器１５０は、面積、体積、圧力又は温度等を計量する計量器であってもよい。つまり、計量器１５０の計量結果は、面積、体積、圧力又は温度等の計量結果であってもよい。
【０１１５】
また、例えば、上記実施の形態では、振り分け機１００は、複数の個別機械要素として複数の振動器１１０を備えると説明したが、複数の個別機械要素は複数の振動器１１０に限らない。例えば、複数の個別機械要素は複数のベルトコンベア等であってもよく、行動決定部１１はベルトコンベアの搬送速度を行動の内容として決定してもよい。
【０１１６】
また、例えば、上記実施の形態では、振り分け機１００は、１つの共通機械要素として回転テーブル１３０を備えると説明したが、複数の物を複数の個別機械要素へ振り分ける量を制御できるものであれば、回転テーブル１３０に限らない。
【０１１７】
また、例えば、上記実施の形態では、学習装置１０は、ニューラルネットワーク２０を備えると説明したが、学習装置１０自体がニューラルネットワーク２０を備えていなくてもよく、ニューラルネットワーク２０は、学習装置１０外に設けられていてもよい。この場合、誤差算出部１２は、学習装置１０の外部に設けられたニューラルネットワーク２０を学習してもよい。
【０１１８】
また、例えば、上記実施の形態では、振り分け機１００は、複数の個別機械要素を備えると説明したが、複数の個別機械要素を備えていなくてもよい。
【０１１９】
また、例えば、上記実施の形態では、振り分け機１００は、１つの共通機械要素を備えると説明したが、１つの共通機械要素を備えていなくてもよい。
【０１２０】
また、例えば、学習方法におけるステップは、コンピュータ（コンピュータシステム）によって実行されてもよい。そして、本発明は、学習方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。
【０１２１】
さらに、本発明は、そのプログラムを記録したＣＤ−ＲＯＭ等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
【０１２２】
例えば、本発明が、プログラム（ソフトウェア）で実現される場合には、コンピュータのＣＰＵ、メモリ及び入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、ＣＰＵがデータをメモリ又は入出力回路等から取得して演算したり、演算結果をメモリ又は入出力回路等に出力したりすることによって、各ステップが実行される。
【０１２３】
また、上記実施の形態の学習装置１０に含まれる各構成要素は、専用又は汎用の回路として実現されてもよい。
【０１２４】
また、上記実施の形態の学習装置１０に含まれる各構成要素は、集積回路（ＩＣ：Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であるＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）として実現されてもよい。
【０１２５】
また、集積回路はＬＳＩに限られず、専用回路又は汎用プロセッサで実現されてもよい。プログラム可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又は、ＬＳＩ内部の回路セルの接続及び設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。
【０１２６】
さらに、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、学習装置１０に含まれる各構成要素の集積回路化が行われてもよい。
【０１２７】
その他、実施の形態に対して当業者が思いつく各種変形を施して得られる形態、本発明の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本発明に含まれる。
【産業上の利用可能性】
【０１２８】
本発明の学習方法等は、複数の物を振り分ける振り分け機に適用できる。
【符号の説明】
【０１２９】
１０  学習装置
１１  行動決定部
１２  誤差算出部
１３  入力部
１４  出力部
２０  ニューラルネットワーク
１００  振り分け機
１１０  振動器
１２０  収容部
１３０  回転テーブル
１４０  搬送路
１５０  計量器
１６０  制御部
１６１  振動制御部
１６２  回転制御部
【要約】
【課題】振り分け機が正確に複数の物を振り分けることができるようになる学習方法を提供する。
【解決手段】学習方法は、複数の計量器の計量結果の組み合わせである状態が入力されるニューラルネットワークから出力されるＱ値に基づいて、振り分け機への制御である行動を決定する決定ステップ（Ｓ１１）と、決定された行動が行われたときの次の状態が入力されたニューラルネットワークから出力される次のＱ値と、当該Ｑ値の前回にニューラルネットワークから出力されたＱ値と、次の状態における報酬とを用いて誤差を算出する算出ステップ（Ｓ１２）と、算出された誤差を用いてニューラルネットワークを学習する学習ステップ（Ｓ１３）と、を含み、決定ステップ（Ｓ１１）と、算出ステップ（Ｓ１２）と、学習ステップ（Ｓ１３）との一連の処理を繰り返し行う。
【選択図】図６【図１】
0006656687.tif 000012
【図２】
0006656687.tif 000013
【図３】
0006656687.tif 000014
【図４】
0006656687.tif 000015
【図５】
0006656687.tif 000016
【図６】
0006656687.tif 000017
【図７】
0006656687.tif 000018
【図８】
0006656687.tif 000019
【図９】
0006656687.tif 000020