(57)【要約】【課題】少ない評価回数で、パラメータの最適化を行うことができるようにする。【解決手段】探索点判定部１３０が、探索点候補生成部１２０が複数の計算に用いたパラメータに基づいて生成した、探索点の候補となるパラメータである複数の探索点候補の各々について、評価部３００が計算に用いたパラメータと、評価部３００により計算に用いたパラメータを探索点として計算された評価値との組からなる複数のデータ点を用いて、探索点候補を探索点とするか否かを判定する。【選択図】図１
2019192160.tif 000002
【特許請求の範囲】
【請求項１】
評価用データを入力として計算するときに用いられるパラメータを最適化する最適化装置であって、
探索点となる前記パラメータと、前記評価用データとを用いて、前記計算の結果を評価する指標である評価値を計算する評価部と、
前記パラメータを最適化する最適化部と、
前記評価部による処理と、前記最適化部による処理とを繰り返すことにより得られる、最適化されたパラメータを出力する出力部と、
を含み、
前記最適化部は、
前記評価部が計算に用いたパラメータと、前記評価部により前記計算に用いたパラメータを探索点として計算された前記評価値との組からなる複数のデータ点を格納する評価データ記憶部と、
前記評価データ記憶部に格納された複数の前記計算に用いたパラメータに基づいて、探索点の候補となるパラメータである複数の探索点候補を生成する探索点候補生成部と、
前記探索点候補生成部により生成された前記複数の探索点候補の各々について、前記評価データ記憶部に格納された前記複数のデータ点を用いて、前記探索点候補を探索点とするか否かを判定する探索点判定部と、
を含む最適化装置。
【請求項２】
前記最適化部は、
評価環境に関する情報を取得する評価環境取得部
を更に含み、
前記評価データ記憶部は、前記複数のデータ点の各々を、前記評価環境取得部が取得した前記評価環境に関する情報と対応付けて格納する
請求項１記載の最適化装置。
【請求項３】
前記探索点判定部は、
前記評価データ記憶部に格納された前記複数のデータ点と前記複数の評価環境に関する情報とを用いて、前記パラメータと前記評価環境に関する情報との組み合わせを入力として、良い評価値となるか否かを判別するように学習された判別器を用いて、前記複数の探索点候補の各々について、前記探索点候補のパラメータと前記評価環境取得部が取得した前記評価環境に関する情報との組み合わせを前記判別器に入力したときに良い評価値となると判別された場合に、前記探索点候補を探索点とする
請求項２記載の最適化装置。
【請求項４】
前記探索点候補生成部は、
前記パラメータの各要素の変域からサンプリングを行うこと、又は前記評価データ記憶部に格納された前記複数のデータ点の各々のパラメータに対して遺伝的アルゴリズムを用いることにより、前記複数の探索点候補を生成する
請求項１乃至３の何れか１項記載の最適化装置。
【請求項５】
評価用データを入力として計算するときに用いられるパラメータを最適化する最適化装置に用いられる最適化方法であって、
評価部が、探索点となる前記パラメータと、前記評価用データとを用いて、前記計算の結果を評価する指標である評価値を計算するステップと、
最適化部が、前記パラメータを最適化するステップと、
出力部が、前記評価部による処理と、前記最適化部による処理とを繰り返すことにより得られる、最適化されたパラメータを出力するステップと、
を含み、
前記最適化部が最適化するステップは、
評価データ記憶部が、前記評価部が計算に用いたパラメータと、前記評価部により前記計算に用いたパラメータを探索点として計算された前記評価値との組からなる複数のデータ点を格納するステップと、
探索点候補生成部が、前記評価データ記憶部に格納された複数の前記計算に用いたパラメータに基づいて、探索点の候補となるパラメータである複数の探索点候補を生成するステップと、
探索点判定部が、前記探索点候補生成部により生成された前記複数の探索点候補の各々について、前記評価データ記憶部に格納された前記複数のデータ点を用いて、前記探索点候補を探索点とするか否かを判定するステップと、
を含む最適化方法。
【請求項６】
前記最適化部が最適化するステップは、
評価環境取得部が、評価環境に関する情報を取得するステップ
を更に含み、
前記評価データ記憶部が格納するステップは、前記複数のデータ点の各々を、前記評価環境取得部が取得した前記評価環境に関する情報と対応付けて格納する
請求項５記載の最適化方法。
【請求項７】
前記探索点判定部が判定するステップは、
前記評価データ記憶部に格納された前記複数のデータ点と前記複数の評価環境に関する情報とを用いて、前記パラメータと前記評価環境に関する情報との組み合わせを入力として、良い評価値となるか否かを判別するように学習された判別器を用いて、前記複数の探索点候補の各々について、前記探索点候補のパラメータと前記評価環境取得部が取得した前記評価環境に関する情報との組み合わせを前記判別器に入力したときに良い評価値となると判別された場合に、前記探索点候補を探索点とする
請求項６記載の最適化方法。
【請求項８】
コンピュータを、請求項１乃至４の何れか１項記載の最適化装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最適化装置、最適化方法、及びプログラムに係り、特に機械学習やシミュレーションのパラメータを最適化するための最適化装置、最適化方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、機械学習やシミュレーションの重要性が増してきている。機械学習やシミュレーションを用いた技術の例として、シミュレーション上で車を大量に動かし、都市交通を再現する技術がある（非特許文献１）。機械学習はそのハイパーパラメータによって性能が変動する。また、シミュレーションもそのパラメータによって出力が変動する。ここで、ハイパーパラメータないしパラメータをまとめてパラメータと表記する。
【０００３】
パラメータを、適切な値に最適化する必要がある。最適化は、あらかじめ指定された指標が最良となるように行われ、パラメータについての評価値の計算（以下、評価と呼ぶ）と、新たな評価の候補となるパラメータ（以下、探索点）を得る探索点の生成を、繰り返し実施することによって行われる。こうした手順の最適化に用いられる手法には、ベイズ最適化（非特許文献２）や遺伝的アルゴリズム（非特許文献３）がある。
【０００４】
最適化すべきパラメータ項目が多く、高次元のパラメータを最適化する場合がある。一般に、パラメータの次元数に対して指数的に必要な評価回数が増加するため、最適化が進むに連れて、パラメータと評価値のペアからなるデータ（以下、データ点）が多量に蓄積されることがある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Krajzewicz, D., Brockfeld, E., Mikat, J., Ringel, J., Rossel, C., Tuchscheerer, W., Wagner, P., and Wosler, R.: Simulation of modern Traffic Lights Control Systems using the open source Traffic Simulation SUMO, Proceedings of the 3rd Industrial Simulation Conference 2005, pp. 299-302.
【非特許文献２】Shahriari, B., Swersky, K.,Wang, Z., Adams, R. P. and Freitas, de N.: Taking the human out of the loop: A review of bayesian optimization, Proceedings of the IEEE, Vol. 104, No. 1, 2016, pp. 148-175.
【非特許文献３】Papageorgiou, M., Diakaki, C., Dinopoulou, V., Kotsialos, A. and Wang, Y.: Review of road traffic control strategies, Proceedings of the IEEE, Vol. 91, No. 12, 2003, pp. 2043-2067.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、非特許文献２の技術で用いられるベイズ最適化の計算では、利用可能なデータ点が多量にある場合、探索点を得る計算量がデータ点の数の３乗のオーダーであるため、計算時間が著しく増加し、現実的な時間に処理が完了しなくなる、という問題があった。
【０００７】
また、利用される計算機の構成や処理能力によっては演算に必要なメモリ容量が不足し、計算が行えなくなることがあった。
【０００８】
また、非特許文献３の遺伝的アルゴリズムの計算では、既知のデータ点のパラメータを、交叉や突然変異と呼ばれる一定のルールに基づいて置換える計算によって新たな探索点を得る。そのため、探索点を得るための計算時間はあまり必要としないが、ベイズ最適化等と比べて良い探索点が得られないことが多く、探索効率が悪い、という問題があった。
【０００９】
本発明は上記の点に鑑みてなされたものであり、少ない評価回数で、パラメータの最適化を行うことができる最適化装置、最適化方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る最適化装置は、評価用データを入力として計算するときに用いられるパラメータを最適化する最適化装置であって、探索点となる前記パラメータと、前記評価用データとを用いて、前記計算の結果を評価する指標である評価値を計算する評価部と、前記パラメータを最適化する最適化部と、前記評価部による処理と、前記最適化部による処理とを繰り返すことにより得られる、最適化されたパラメータを出力する出力部と、を含み、前記最適化部は、前記評価部が計算に用いたパラメータと、前記評価部により前記計算に用いたパラメータを探索点として計算された前記評価値との組からなる複数のデータ点を格納する評価データ記憶部と、前記評価データ記憶部に格納された複数の前記計算に用いたパラメータに基づいて、探索点の候補となるパラメータである複数の探索点候補を生成する探索点候補生成部と、前記探索点候補生成部により生成された前記複数の探索点候補の各々について、前記評価データ記憶部に格納された前記複数のデータ点を用いて、前記探索点候補を探索点とするか否かを判定する探索点判定部と、を備えて構成される。
【００１１】
また、本発明に係る最適化方法は、評価用データを入力として計算するときに用いられるパラメータを最適化する最適化装置に用いられる最適化方法であって、評価部が、探索点となる前記パラメータと、前記評価用データとを用いて、前記計算の結果を評価する指標である評価値を計算するステップと、最適化部が、前記パラメータを最適化するステップと、出力部が、前記評価部による処理と、前記最適化部による処理とを繰り返すことにより得られる、最適化されたパラメータを出力するステップと、を含み、前記最適化部が最適化するステップは、評価データ記憶部が、前記評価部が計算に用いたパラメータと、前記評価部により前記計算に用いたパラメータを探索点として計算された前記評価値との組からなる複数のデータ点を格納するステップと、探索点候補生成部が、前記評価データ記憶部に格納された複数の前記計算に用いたパラメータに基づいて、探索点の候補となるパラメータである複数の探索点候補を生成するステップと、探索点判定部が、前記探索点候補生成部により生成された前記複数の探索点候補の各々について、前記評価データ記憶部に格納された前記複数のデータ点を用いて、前記探索点候補を探索点とするか否かを判定するステップと、を含む。
【００１２】
本発明に係る最適化装置及び最適化方法によれば、評価部が、探索点となるパラメータと、評価用データとを用いて、計算の結果を評価する指標である評価値を計算し、最適化部が、パラメータを最適化し、出力部が、評価部による処理と、最適化部による処理とを繰り返すことにより得られる、最適化されたパラメータを出力する。
【００１３】
そして、最適化部による処理は、評価データ記憶部が、評価部が計算に用いたパラメータと、評価部により当該計算に用いたパラメータを探索点として計算された評価値との組からなる複数のデータ点を格納し、探索点候補生成部が、評価データ記憶部に格納された複数の計算に用いたパラメータに基づいて、探索点の候補となるパラメータである複数の探索点候補を生成し、探索点判定部が、探索点候補生成部により生成された複数の探索点候補の各々について、評価データ記憶部に格納された複数のデータ点を用いて、探索点候補を探索点とするか否かを判定する。
【００１４】
このように、複数の計算に用いたパラメータに基づいて生成した、探索点の候補となるパラメータである複数の探索点候補の各々について、評価部が計算に用いたパラメータと、評価部により計算に用いたパラメータを探索点として計算された評価値との組からなる複数のデータ点を用いて、探索点候補を探索点とするか否かを判定することにより、少ない評価回数で、パラメータの最適化を行うことができる。
【００１５】
また、本発明に係る最適化装置の前記最適化部は、評価環境に関する情報を取得する評価環境取得部を更に含み、前記評価データ記憶部は、前記複数のデータ点の各々を、前記評価環境取得部が取得した前記評価環境に関する情報と対応付けて格納することができる。
【００１６】
また、本発明に係る最適化方法の前記最適化部が最適化するステップは、評価環境取得部が、評価環境に関する情報を取得するステップを更に含み、前記評価データ記憶部が格納するステップは、前記複数のデータ点の各々を、前記評価環境取得部が取得した前記評価環境に関する情報と対応付けて格納することができる。
【００１７】
また、本発明に係る最適化装置の前記探索点判定部は、前記評価データ記憶部に格納された前記複数のデータ点と前記複数の評価環境に関する情報とを用いて、前記パラメータと前記評価環境に関する情報との組み合わせを入力として、良い評価値となるか否かを判別するように学習された判別器を用いて、前記複数の探索点候補の各々について、前記探索点候補のパラメータと前記評価環境取得部が取得した前記評価環境に関する情報との組み合わせを前記判別器に入力したときに良い評価値となると判別された場合に、前記探索点候補を探索点とすることができる。
【００１８】
また、本発明に係る最適化方法の前記最適化部が最適化するステップは、評価環境取得部が、評価環境に関する情報を取得するステップを更に含み、前記評価データ記憶部が格納するステップは、前記複数のデータ点の各々を、前記評価環境取得部が取得した前記評価環境に関する情報と対応付けて格納することができる。
【００１９】
また、本発明に係る最適化装置の前記探索点候補生成部は、前記パラメータの各要素の変域からサンプリングを行うこと、又は前記評価データ記憶部に格納された前記複数のデータ点の各々のパラメータに対して遺伝的アルゴリズムを用いることにより、前記複数の探索点候補を生成することができる。
【００２０】
本発明に係るプログラムは、上記の最適化装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２１】
本発明の最適化装置、最適化方法、およびプログラムによれば、少ない評価回数で、パラメータの最適化を行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態に係る交通信号制御システムの構成を示すブロック図である。
【図２】本発明の実施の形態に係る評価データ記憶部に格納される情報の例を示すイメージ図である。
【図３】本発明の実施の形態に係る最適化装置における最適化処理ルーチンを示すフローチャートである。
【図４】本発明の実施の形態に係る最適化装置を用いた場合の探索回数と、損失時間との関係を表す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について図面を用いて説明する。
【００２４】
＜本発明の実施の形態に係る交通信号制御システムの構成＞
本実施形態では、交通信号制御において、評価環境として管制装置が取得する交通状況を用い、評価の手段として交通シミュレーションを用いて評価値を計算し、信号パラメータｓを最適化する最適化装置に本発明を適用した場合について説明する。
【００２５】
本実施形態では、交通信号制御は、管制装置により行われる。交通信号制御では、信号灯色を切り替えるプランを１周期作成し、そのプランの繰り返しに従って、信号制御を行う。このプランは、信号パラメータｓを指定することで、一意に決定される。この信号パラメータｓを最適化する処理を、本実施形態に係る最適化装置にて行う。
【００２６】
図１は、本発明の実施の形態に係る交通信号制御システム１の構成を示すブロック図である。
【００２７】
本実施形態に係る交通信号制御システム１は、最適化装置１０と、管制装置５０と、複数の交通信号機（図示しない）で構成される。
【００２８】
＜＜本発明の実施の形態に係る最適化装置１０の構成＞＞
本実施形態に係る最適化装置１０は、ＣＰＵと、ＲＡＭと、後述する最適化処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００２９】
図１に示すように、本発明の実施の形態に係る最適化装置１０は、最適化部１００と、評価用データ記憶部２００と、評価部３００と、出力部４００とを備えて構成される。
【００３０】
最適化部１００は、信号パラメータｓを最適化する。
【００３１】
具体的には、最適化部１００は、評価環境取得部１１０と、探索点候補生成部１２０と、探索点判定部１３０と、評価データ記憶部１４０と、学習部１５０とを備えて構成される。
【００３２】
評価環境取得部１１０は、評価環境に関する情報を取得する。
【００３３】
具体的には、評価環境取得部１１０は、管制装置５０の出力部５２０から、道路の混雑状況等の交通状況をベクトルで表した評価環境情報θを取得する。ここで、ｔ回目に取得した評価環境情報θを、評価環境情報θｔと表す。
【００３４】
そして、評価環境取得部１１０は、取得した評価環境情報θｔを、評価データ記憶部１４０に渡す。
【００３５】
評価データ記憶部１４０は、評価部３００が計算に用いた信号パラメータｓｔと、評価部３００により当該計算に用いた信号パラメータｓｔを探索点として計算された評価値ｌｔとの組からなる複数のデータ点の各々を、評価環境取得部１１０が取得した評価環境情報θｔに関する情報と対応付けて格納する。
【００３６】
具体的には、評価データ記憶部１４０は、図２に示すように、評価部３００の評価回数ｔ、ｔ回目に取得した評価環境情報θｔ、ｔ回目に評価部３００が計算に用いた信号パラメータを表すベクトルである信号パラメータｓｔ、及びｔ回目に評価部３００が計算した評価値である評価値ｌｔを紐付けて格納する。
【００３７】
ここで、評価データ記憶部１４０は、図２のように１つのテーブルでのみ実現する場合に限定されず、複数のテーブルにより実現されても良い。また、単一の評価環境情報θについて信号パラメータｓの最適化を行う場合には、当該テーブルの評価環境の列は無くても良い。
【００３８】
探索点候補生成部１２０は、評価データ記憶部１４０に格納された複数の計算に用いた信号パラメータｓｔに基づいて、探索点の候補となる信号パラメータである複数の探索点候補を生成する。
【００３９】
具体的には、探索点候補生成部１２０は、まず、評価データ記憶部１４０から複数の信号パラメータｓｔを取得する。
【００４０】
次に、探索点候補生成部１２０は、複数の信号パラメータｓｔに基づいて、信号パラメータの各要素の変域からサンプリングを行うこと、又は評価データ記憶部１４０に格納された複数のデータ点の各々の信号パラメータｓｔに対して遺伝的アルゴリズムを用いることにより、探索点候補となるｊ個（例えば、２００個）の信号パラメータｓを生成する。
【００４１】
例えば、１回目の最適化処理の場合など、評価データ記憶部１４０に蓄積された信号パラメータが無い場合は、信号パラメータｓの実行可能領域Ｓから、値をランダムに一様分布からサンプリングして用いる方法が利用できる。
【００４２】
ある信号パラメータｓの各要素が、東西方向の青表示、黄色表示、南北方向の青表示、黄色表示の４次元の場合、東西方向の青表示の変域が１０〜２００秒、黄色表示の変域が４秒（固定値）、南北方向の表示の変域が１０〜２００秒、黄色表示の変域が４秒（固定値）であれば、（５０，４，７０，４）や（１５０，４，３３，４）といった信号パラメータをサンプリングすることにより、探索点候補を生成する。
【００４３】
また、評価データ記憶部１４０に格納された複数の信号パラメータｓｔが十分に多くある場合には、遺伝的アルゴリズムで使われる選択、交叉、変異の操作を行うことにより、探索点候補の生成することができる。
【００４４】
そして、探索点候補生成部１２０は、生成したｊ個の探索点候補を、探索点判定部１３０に渡す。
【００４５】
探索点判定部１３０は、信号パラメータと評価環境情報との組み合わせを入力として良い評価値となるか否かを判別するように学習された判別器ｃを用いて、ｊ個の探索点候補の各々について、当該探索点候補の信号パラメータと評価環境取得部１１０が取得した評価環境に関する情報との組み合わせを判別器ｃに入力したときに良い評価値となると判別された場合に、当該探索点候補を探索点とする。
【００４６】
具体的には、探索点判定部１３０は、ｊ個の探索点候補の各々について、良い評価値となるか否かを判別するように学習された判別器
2019192160.tif 000003
に当該探索点候補の信号パラメータｓに評価環境情報θを連結したものを入力する。
【００４７】
例えば、評価環境情報θを表すｒ次元のベクトル
2019192160.tif 000004
を、信号パラメータｓに連結して更新し、
2019192160.tif 000005
を判別器ｃの入力となる信号パラメータ
2019192160.tif 000006
として用いる。その場合の判別器ｃが学習するｗはｄ＋ｒ次元のベクトルとなる。
【００４８】
判別器ｃは、信号パラメータｓを入力とし、｛−1，１｝を出力し、出力が１の場合に、良い評価値となると判別する。
【００４９】
次に、探索点判定部１３０は、判別器ｃの出力が１となる探索点候補の信号パラメータｓのうち、ランダムにｋ個抽出して、ｋ個の探索点とする。
【００５０】
そして、探索点判定部１３０は、ｋ個の探索点を、評価部３００に渡す。
【００５１】
評価用データ記憶部２００は、交通シミュレーションを行うために必要なデータである評価用データを記憶する。
【００５２】
ここで、評価用データは、交通シミュレーションを行うために必要なデータであれば何でもよく、例えば、道路の形状、各道路の制限速度、車両の台数、各車両の交通シミュレーション区間への進入時間、それらの車両のルート、交通シミュレーションの開始時間や終了時間等を用いることができる。
【００５３】
評価部３００は、探索点となる信号パラメータｓと、評価用データとを用いて、計算の結果を評価する指標である評価値ｌを計算する。
【００５４】
具体的には、評価部３００は、評価用データ記憶部２００から評価用データを取得し、シミュレーションによって探索点の信号パラメータｓに対応する評価値ｌを計算する。当該評価部３００が評価値ｌを計算する回数がｔ回目であるとすると、評価部３００は、シミュレーションによって探索点の信号パラメータｓｔに対応する評価値ｌｔを計算する。
【００５５】
そして、評価部３００は、当該探索点の信号パラメータｓｔと評価値ｌｔとの組をデータ点として、評価データ記憶部１４０に格納する。
【００５６】
評価部３００は、上記の処理をｋ個の探索点の各々について行う。
【００５７】
また、評価部３００は、シミュレーションが並列に実行できる場合、探索点判定部１３０の出力するｋ個の探索点の評価を、指定した並列数で並列化して実行して評価値ｌを得ても良い。
【００５８】
次に、評価部３００は、シミュレーションを行った回数ｔが、予め定めたシミュレーションを繰り返す最大回数（例えば、１０００回）を超えているか否かを判定する。ｔが最大回数を、超えている場合には、出力部４００に、最適な信号パラメータを出力するように命じる。
【００５９】
一方、超えていない場合には、ｔに探索点判定部１３０が出力した探索点の数であるｋを加えて更新し、最適化部１００に、再度処理を行うように命令する。
【００６０】
出力部４００は、評価部３００による処理と、最適化部１００による処理とを繰り返すことにより得られる、最適化された信号パラメータｓ＊を出力する。
【００６１】
具体的には、出力部４００は、評価部３００から最適な信号パラメータｓ＊を出力するように命じられると、評価データ記憶部１４０に記憶されている今まで交通シミュレーションを行った信号パラメータｓｔ、及び評価値ｌｔを取得する。
【００６２】
そして、出力部４００は、評価値ｌｔが最小となる信号パラメータｓを、最適化された信号パラメータｓ＊として、管制装置５０の入力部５００に渡す。
【００６３】
＜＜判別器ｃの学習＞＞
ここで、学習部１５０による判別器ｃの学習について説明する。
【００６４】
学習部１５０は、評価データ記憶部１４０に格納された複数のデータ点と複数の評価環境情報θｔに関する情報とを用いて、信号パラメータと評価環境情報との組み合わせを入力とする判別器ｃを学習する。
【００６５】
まず、学習部１５０は、評価データ記憶部１４０から全ての評価環境情報とデータ点を受け取る。
【００６６】
次に、学習部１５０は、判別器ｃが学習するデータセットＤを作るため、各データ点の信号パラメータｓに評価値に応じてラベル
2019192160.tif 000007
を付与する。
【００６７】
例えば、ラベルｈは、評価値ｌｔの良い信号パラメータ上位５０％に１を付与し、下位５０％に−１を付与する。この割合は５０％に限らず判別器ｃの学習に十分なデータが集まれば、それぞれ上位１０％と下位２０％程度にする等自由に定めて良い。また、最適化処理の繰り返し中に変化させても良い。
【００６８】
ｄ＋ｒ次元の正の実数パラメータからなる信号パラメータ
2019192160.tif 000008
について、｛−１，１｝を出力する判別器ｃを、線形判別器とすると、下記式（１）のように表すことができる。
【００６９】
【数１】
2019192160.tif 000009
【００７０】
ここで、ｗは線形判別器の学習する重みであり、τはあらかじめ決められた閾値である。例えば、τとして０が用いられる。
【００７１】
そして、判別器ｃの出力と付与されたラベルｈについて、下記式（２）の誤差関数Ｅ（ｗ）が小さくなるように重みｗを学習する。
【００７２】
【数２】
2019192160.tif 000010
【００７３】
ここで、ｉは、１以上データ点の数（ｔ個）以下の値を取る変数である。
【００７４】
重みｗの学習に確率的勾配降下法を用いる場合、学習率を表すη（０＜η＜１）を用いて、下記式（３）のように更新する。
【００７５】
【数３】
2019192160.tif 000011
【００７６】
重みｗの更新回数が決められた上限に達するか、誤差関数Ｅ（ｗ）の値が決められた値より小さくなったら学習を終了する。
【００７７】
そして、学習部１５０は、学習された重みをｗ＊として、判別器
2019192160.tif 000012
を得る。学習部１５０は、学習された判別器
2019192160.tif 000013
を、探索点判定部１３０に渡す。
【００７８】
なお、判別器ｃの学習は上記の手法に限定されず、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）や、ＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、ＧＢＤＴ（Ｇｒａｄｉｅｎｔ  Ｂｏｏｓｔｉｎｇ  Ｄｅｃｉｓｉｏｎ  Ｔｒｅｅ）等の機械学習手法を用いることができる。
【００７９】
また、評価環境情報θを表すｒ次元のベクトル
2019192160.tif 000014
を、信号パラメータｓに連結して更新し、
2019192160.tif 000015
を判別器ｃの入力となる信号パラメータ
2019192160.tif 000016
として用いるため、混雑状況などの評価環境を考慮することができ、探索初期にもよい信号パラメータを得ることができ、探索を効率化することができる。
【００８０】
＜＜本発明の実施の形態に係る管制装置５０の構成＞＞
管制装置５０は、ＣＰＵと、ＲＡＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００８１】
図１に示すように、本発明の実施の形態に係る管制装置５０は、入力部５００と、制御部５１０とを備えて構成される。
【００８２】
入力部５００は、出力部４００から最適化された信号パラメータｓ＊の入力を受け付ける。また、入力部５００は、複数の交通信号機を含むエリアの交通状況を評価環境情報θとして、入力を受け付ける。
【００８３】
そして、入力部５００は、受け付けた最適化された信号パラメータｓ＊及び評価環境情報θを、制御部５１０に渡す。
【００８４】
制御部５１０は、評価環境情報θと、最適化された信号パラメータｓ＊とを用いて、複数の交通信号機を制御する。
【００８５】
具体的には、制御部５１０は、複数の交通信号機の各々に対し、最適化された信号パラメータｓ＊に基づいて、信号灯色を切り替える、維持する、点滅させる等の命令を行う。
【００８６】
また、制御部５１０は、複数の交通信号機の各々に対して命令を行った後の交通状況を表す評価環境情報θを、出力部５２０に渡す。
【００８７】
出力部５２０は、評価環境情報θを、最適化装置１０の評価環境取得部１１０に渡す。
【００８８】
＜本発明の実施の形態に係る最適化装置の作用＞
図３は、本発明の実施の形態に係る最適化処理ルーチンを示すフローチャートである。
【００８９】
評価環境取得部１１０に評価環境情報θが入力されると、最適化置１０において、図３に示す最適化処理ルーチンが実行される。
【００９０】
まず、ステップＳ１００において、評価部３００は、評価用データ記憶部２００から評価用データを取得する。
【００９１】
次に、ステップＳ１１０において、ｔ＝１とする。
【００９２】
ステップＳ１２０において、評価環境取得部１１０は、管制装置５０の出力部５２０から、評価環境に関する情報である評価環境情報θを取得する。
【００９３】
ステップＳ１３０において、探索点候補生成部１２０は、評価データ記憶部１４０から複数の信号パラメータｓｔを取得する。
【００９４】
ステップＳ１４０において、探索点候補生成部１２０は、上記ステップＳ１３０により取得した信号パラメータｓｔに基づいて、探索点の候補となる信号パラメータであるｊ個の探索点候補を生成する。
【００９５】
ステップＳ１５０において、探索点判定部１３０は、信号パラメータと評価環境情報との組み合わせを入力として良い評価値となるか否かを判別するように学習された判別器ｃを用いて、ｊ個の探索点候補の各々について、当該探索点候補の信号パラメータと評価環境取得部１１０が取得した評価環境に関する情報との組み合わせを判別器ｃに入力したときに良い評価値となるか否かを判別する。
【００９６】
ステップＳ１６０において、探索点判定部１３０は、良い評価値となると判別された探索点候補のうち、ランダムにｋ個抽出して、ｋ個の探索点とする。
【００９７】
ステップＳ１７０において、評価部３００は、ｋ個の探索点のうち、１番目の探索点を選択する。
【００９８】
ステップＳ１８０において、評価部３００は、選択された探索点となる信号パラメータｓと、評価用データとを用いて、計算の結果を評価する指標である評価値ｌを計算する。
【００９９】
ステップＳ１９０において、評価部３００は、選択された探索点の信号パラメータｓと評価値ｌとの組をデータ点として、評価データ記憶部１４０に格納する。
【０１００】
ステップＳ２００において、評価部３００は、全ての探索点について、上記処理を行ったか否かを判定する。
【０１０１】
全ての探索点について処理を行っていない場合（ステップＳ２００のＮＯ）、ステップＳ２１０において、評価部３００は、次の探索点を選択し、ステップＳ１８０に戻る。
【０１０２】
全ての探索点について処理を行っている場合（ステップＳ２００のＹＥＳ）、ステップＳ２２０において、学習部１５０は、評価データ記憶部１４０に格納された複数のデータ点と複数の評価環境情報θｔに関する情報とを用いて、判別器ｃを学習する。
【０１０３】
ステップＳ２３０において、評価部３００は、シミュレーションを行った回数ｔが、予め定めたシミュレーションを繰り返す最大回数を超えているか否かを判定する。
【０１０４】
ｔが最大回数を超えていない場合（ステップＳ２３０のＮＯ）、ステップＳ２４０において、ｔにｔ＋ｋを代入して、ステップＳ１２０〜ステップＳ２２０の処理を繰り返す。
【０１０５】
一方、ｔが最大回数を超えている場合（ステップＳ２３０のＹＥＳ）、ステップＳ２５０において、出力部４００は、最適化された信号パラメータｓ＊を出力する。
【０１０６】
＜本発明の実施の形態に係る最適化装置の実験結果＞
次に、本実施形態に係る最適化装置１０を適用して行った実験結果について説明する。
【０１０７】
ルクセンブルク市の交通渋滞緩和タスクで、１９９交差点、約１５００次元の信号パラメータを最適化する実験を行った（参考文献１）。
［参考文献１］Codeca, L., Frank, R., Faye, S., & Engel, T., "Luxembourg SUMO Traffic (LuST) Scenario: Traffic Demand Evaluation", IEEE Intelligent Transportation Systems Magazine, 9(2), 2017, p.p.52-63.
【０１０８】
また、非特許文献３の遺伝的アルゴリズム（ＧＡ）を用いた場合の結果を比較対象とした。
【０１０９】
図４は、本発明の実施の形態に係る最適化装置１０を用いた場合の探索回数と、損失時間との関係を表す図である。
【０１１０】
図４に示すように、本実施形態の手法を用いると、（１）遺伝的アルゴリズム（ＧＡ）と比べて約１万倍探索を効率化することができ、（２）評価回数が１０００〜１０万回など多い場合にも動作し、指標が改善されるという結果を得ることができた。
【０１１１】
以上説明したように、本実施形態に係る最適化装置によれば、複数の計算に用いたパラメータに基づいて生成した、探索点の候補となるパラメータである複数の探索点候補の各々について、評価部が計算に用いたパラメータと、評価部により計算に用いたパラメータを探索点として計算された評価値との組からなる複数のデータ点を用いて、探索点候補を探索点とするか否かを判定することにより、少ない評価回数で、パラメータの最適化を行うことができる。
【０１１２】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１１３】
上述の実施形態では、判別器ｃの学習は、最適化部１００による最適化処理の中で行われる構成として説明したが、この例に限定されるものではなく、評価データ記憶部１４０のデータを用いてバッチ処理として実施されても良い。
【０１１４】
例えば、判別器ｃの学習に時間がかかる場合、最適化部１００の処理と並行して学習させ、学習が完了したところで探索点判定部１３０のモデルとして更新することや、最適化部１００の処理が行われていない間にバッチ処理として学習させたものを用いることにより、最適化部１００の処理時間を短縮することができる。
【０１１５】
また、本実施形態では、評価として交通シミュレーションを、パラメータとして信号パラメータを選択した場合について説明したが、これに限定されるものではない。例えば、他の実施形態として、誘導員を用いた群衆の誘導にも適用することができる。この場合は、評価として人流シミュレーションを、パラメータとして誘導員の配置場所及び誘導方法を選択すればよい。
【０１１６】
また、他の実施形態として、機械学習のハイパーパラメータの最適化にも適用することができる。この場合には、評価として機械学習モデルの学習を、パラメータとしてハイパーパラメータを選択すればよい。
【０１１７】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供する、最適化装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることも可能である。
【符号の説明】
【０１１８】
１     交通信号制御システム
１０   最適化装置
５０   管制装置
１００ 最適化部
１１０ 評価環境取得部
１２０ 探索点候補生成部
１３０ 探索点判定部
１４０ 評価データ記憶部
１５０ 学習部
２００ 評価用データ記憶部
３００ 評価部
４００ 出力部
５００ 入力部
５１０ 制御部
５２０ 出力部
【図１】
2019192160.tif 000017
【図２】
2019192160.tif 000018
【図３】
2019192160.tif 000019
【図４】
2019192160.tif 000020