Preferred Networks(PFN)は2018年12月3日、マシンラーニング(機械学習)/ディープラーニング(深層学習)におけるアルゴリズムの挙動を制御するハイパーパラメータを自動で最適化するフレームワーク「Optuna(オプチュナ)」を開発。ベータ版をOSSとして公開したと発表した。深層学習フレームワーク「Chainer」をはじめとするさまざまな機械学習ソフトと一緒に使用できる。
Preferred Networks(PFN)の「Optuna」は、機械学習/深層学習におけるアルゴリズムの挙動を制御するハイパーパラメータを、自動で調整するフレームワークである(図1)。ハイパーパラメータの値に関する試行錯誤を自動化し、良い性能が出るハイパーパラメータの値を自動的に発見する。深層学習フレームワークのChainerなど、様々な機械学習ソフトと一緒に使用できる。
製品提供の背景について同社は、機械学習/深層学習では、アルゴリズムの挙動を制御するハイパーパラメータの調整が不可欠となっていることを挙げている。「多くの研究者・エンジニアは、かなりの時間を費やしてハイパーパラメータを手動で調整しているのが現状だ。特に深層学習は、学習率やバッチサイズ、学習イテレーション数、ニューラルネットワークの層数、チャンネル数といった様々なものがハイパーパラメータとなり、この数が多い傾向がある上に、これらの調整がモデルの精度を大きく左右する」(同社)。
Optunaの主な特徴は、以下のとおり。
- Define-by-RunスタイルのAPI
- 高いモジュール性を保ったまま複雑なハイパーパラメータの最適化が可能
- 学習曲線を用いた試行の枝刈り
- 反復アルゴリズムが学習に用いられる場合、学習曲線から学習結果を予測。良い結果が見込まれない試行を早期終了し、最適化を効率化
- 並列分散最適化
- 複数ノードを用い複数の試行を同時に行う非同期分散最適化をサポート