いきなりまとめ
ハイパーパラメーターの自動最適化方法の1つがBayesian Optimization。
Bayesian Optimizationとは
- gaussian processによるブラックボックス関数のモデル化
- グリッドサーチよりも少ないトレーニング時間
- ベストなパフォーマンス
Today I Learned
Bayesian Optimization for Hyperparameter Tuning
を参考に。
ハイパーパラメーターの自動最適化
ほとんどのハイパーパラメーター最適化アルゴリズムはSequantial Model-based Global Optimization SMBO。
これらは真のブラックボックス関数(ハイパーパラメーターからvalidation setに対するパフォーマンス)を近似するために代理関数を使用。
代理関数を最大化するようなパラメーターが次の試行に使用。
SMBOは代理関数を最大化する基準および代理関数のモデル化によって違いが存在。
・Bayesian Optimizationとは
代理関数のモデル化にgaussian processをベースとしたexpected improvementを使用。
expected improvementは新たなパラメーターがもたらす改善についての期待確率。
Gaussian Processとは
- 関数についての確率分布
- データに分布関数を適合させるようトレーニング
- パラメーター空間における任意のexpected improvementが計算可能
Bayesian Optimizationの実装で有名なのはSpearmint。
・Bayesian Optimizationのパフォーマンス
Bayesian Optimizationのテストのためにthe San Francisco Crimes datasetを使用。
モデルのテストにおいては時間と場所を用いて39の犯罪カテゴリを予測。
GPUを使ったトレーニングは1回あたり25分。
指定したパラメーター空間に対してグリッドサーチを行うと12.6日。
Bayesian Optimizationは15.8時間かかり、ベストなパフォーマンスを獲得。
ランダムサーチの場合13.7時間かかり、Bayesian Optimizationに次ぐパフォーマンス。
0 件のコメント:
コメントを投稿