ランダムサーチの実装
ハイパーパラメータ探索は、さまざまなハイパーパラメータ値を試すための計算コストが高い手法ですが、性能向上につながることがあります。この演習では、ランダムサーチアルゴリズムを実装します。
一様分布から学習率とモメンタムの値をそれぞれ10個ずつランダムにサンプリングします。そのために、np.random.uniform() 関数を使用します。
numpy パッケージはすでに np としてインポート済みで、結果を可視化するための plot_hyperparameter_search() 関数も用意されています。
この演習はコースの一部です
PyTorchで学ぶIntroduction to Deep Learning
演習の手順
2から4の間で学習率の指数をランダムサンプリングし、学習率(lr)が \(10^{-2}\) から \(10^{-4}\) の範囲になるようにします。- モメンタムを 0.85 から 0.99 の間でランダムにサンプリングします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
values = []
for idx in range(10):
# Randomly sample a learning rate factor between 2 and 4
factor = ____
lr = 10 ** -factor
# Randomly select a momentum between 0.85 and 0.99
momentum = ____
values.append((lr, momentum))
plot_hyperparameter_search(values)