研究課題/領域番号 |
19K11994
|
研究機関 | 国立研究開発法人産業技術総合研究所 |
研究代表者 |
中田 秀基 国立研究開発法人産業技術総合研究所, 情報・人間工学領域, 主任研究員 (80357631)
|
研究期間 (年度) |
2019-04-01 – 2022-03-31
|
キーワード | 強化学習 / 機械学習 / 並列システム / 分散システム |
研究実績の概要 |
強化学習は機械学習の一種で、環境から得られる報酬を最大化するエージェントを訓練する。幅広い応用が期待される一方で、計算量が膨大であり、学習データを大量に必要とするため、並列化が必須である。しかし強化学習の並列化は、通常の教師あり機械学習と比較して複雑で困難である。本研究の目的は、一般的な機械学習と比較して複雑な構成となる強化学習の並列化を、プログラマが意識せずに記述可能とするフレームワークを構築する事にある。 まずわれわれは、ベースとなるプログラミング言語の選定を行った。人工知能の開発には現在Pythonが用いられることが多いが、Python言語の設計は古く、ジャイアントロックを持つためスレッドでの並列化ができないという問題を持つ。また本質的には非常に低速な言語であるため、既存のライブラリでカバーされていないことを高速に実行するためにはC言語での拡張が必須で、プログラミングのコストが非常に高い。そこでわれわれは、比較的新しいスクリプト言語であるJuliaを選択した。Juliaはスクリプト言語でありながら強力なJIT機構を持ち、高速な実行が可能であるため、全く新しいアルゴリズムを記述する際にもC言語を用いる必要がない。さらにJuliaは基本的な並列分散機構を持つ。われわれはJuliaの並列分散機構を解析し、大規模な高速分散環境での実行に必要な拡張の特定を行った。 さらに、対象となる強化学習アルゴリズムに関する理解を深めるため機械学習全般に関する研究開発を進めてきた。その結果を、第22回情報論的学習理論ワークショップ (IBIS 2019)において4件の研究発表(いずれもポスタ発表)として発表した。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
研究のベースとするJulia言語について調査を進め並列分散環境の実装準備を進めている。Julia言語はPython に類似したスクリプト言語でありながら、強力なJIT機構を持つことで非常に高速な数値演算を実現している。Juliaは組み込みの並列分散機構を持つが、大規模なクラスタ計算機を想定しておらず、そのまま利用する事はできない。この点を補い大規模クラスタへの応用を可能にする手法を考案し実装を行っている。本件に関しては、「Julia言語を用いた分散並列実行環境の構築」と題して2020年7月末に電子情報通信学会CPSY研究会で報告をする予定である。 また準備の過程でJulia言語に関する書籍の翻訳を行った。「Juliaプログラミングクックブック」としてオライリーから刊行されている。
|
今後の研究の推進方策 |
まずJulia言語を用いた分散並列化環境を整備し、産総研の保有する大規模クラスタABCI上で稼働するプラットフォームを構成する。このプラットフォーム上では、ABCIの提供するインフィニバンドを用いた高速なネットワーク通信が可能になる予定である。また個々のノード上の複数のプロセスはJuliaの共有メモリ機構を用いることで高速に通信が可能になる。このプラットフォームは強化学習のみならず、一般的な並列計算にとって有用なものとなる。このプラットフォーム上に、強化学習固有のフレームワークを構築する。このフレームワークを用いることで、強化学習研究者は並列実行を意識することなく並列に動作するプログラムを記述することが可能となる。 次に、別途研究を行っている強化学習プログラムをこのプラットフォームに移植し性能の評価を行う。強化学習研究者に実際に利用していただき、フィードバックを得てフレームワークのAPIの改良を行っていく。 この実験には大規模な計算機資源が必要となるが、それには産総研が保有するABCIを利用する。
|
次年度使用額が生じた理由 |
新型コロナウィルスの感染拡大により予定されていた国内研究会への参加ができなくなったため支出額が減った。本年度は実験に多量の計算機資源が必要になることが予測されるため、そちらで使用することを予定している。
|