ハイパーパラメータ (機械学習)
From Wikipedia, the free encyclopedia
ハイパーパラメータ(英語: hyperparameter) は、機械学習の学習プロセスにおいて任意の設定可能な部分を定義するために設定可能なパラメータ。これは、通常のパラメータがモデルがデータから学習する特徴量を指すこととは対照的である。ハイパーパラメータは、それがどのように学習過程に作用するかに応じて、モデルハイパーパラメータかアルゴリズムハイパーパラメータかに二分される。
ハイパーパラメータは、全てのモデルやアルゴリズムに必須な量ではない。実際、いくつかの単純なアルゴリズム(例えば標準最小二乗法)にハイパーパラメータは存在しない。ハイパーパラメータを厳密に定義する必要がないモデルやアルゴリズムであっても、それらが慎重に選択されない場合、意味のある結果を生成しない可能性がある。しかしながら、最適なハイパーパラメータを予測することはいつでも簡単というわけではない。多くの場合、データとタスクに適した組み合わせを見つけるためには、ハイパーパラメータ最適化という別個のプロセスが必要となる。
ハイパーパラメータを活用することで、モデル性能の向上がもたらされるだけでなく、堅牢性や再現性のある研究の実行が可能となる。これは特に、乱数生成を組み込んだモデルを使用する際に顕著である。
学習困難なハイパーパラメータ
モデルを訓練し、検証するために必要な時間は、ハイパーパラメータの選択に依存する場合がある[1]。 ハイパーパラメータは、通常連続型あるいは整数型であり、混合型最適化問題を引き起こす[1]。 いくつかのハイパーパラメータは他のハイパーパラメータの値に依存する場合がある。例えば、隠れ層1層あたりのサイズは、隠れ層の数に依存する[1]。
多くの場合、モデルパラメータの学習に利用できるような勾配法はハイパーパラメータの学習には利用できない。そのようなハイパーパラメータは、一般的な最適化手法では学習できないモデル表現を記述するパラメータであるが、損失関数に影響を与えるものである。例として、サポートベクターマシンにおける誤差に対する許容誤差ハイパーパラメータが挙げられる。
学習不可能なハイパーパラメータ
時として、ハイパーパラメータは学習データから学習できないことがある。そういったハイパーパラメータはモデルの容量を過度に増加させ、損失関数を望ましくない最小値(データへの過剰適合)に押し込む可能性があるためである。例えば、回帰モデルを適合させる多項式方程式の次数を学習可能なパラメータとして扱う場合、モデルがデータに完全に適合するまで次数は増加し、学習誤差は低くなるが、汎化性能は低下する。
調整可能性
パフォーマンスの変動の大部分は、ごく少数のハイパーパラメータに起因する[2][1][3]。アルゴリズム、ハイパーパラメータ、または相互作用するハイパーパラメータの調整可能性とは、それらを調整することで得られるパフォーマンス向上の度合いを測る尺度である[4]。 LSTMの場合、学習率とネットワークサイズが最も重要なハイパーパラメータである一方[5]、 バッチサイズとモーメンタムはパフォーマンスに有意な影響を与えない[6]。
数千単位のミニバッチサイズの使用を提唱する研究もある一方、他の研究では2~32のミニバッチサイズで最高の性能が得られることが確認されている[7]。
堅牢性
学習に内在するランダム性は、経験的ハイパーパラメータ性能が必ずしも真の性能ではないことを直接的に示唆する[1]。ハイパーパラメータ、乱数シード、あるいは同一アルゴリズムの異なる実装といった単純な変更に対して堅牢でない手法は、大幅な簡素化と堅牢化なしに任務上重要な制御システムに統合することはできない[8]。
特に、強化学習アルゴリズムにおいては、多数の乱数シードにおける性能評価と、ハイパーパラメータ選択に対する感度評価を必要とする[8]。少数のランダムシードによる評価では変動が大きいため、性能を適切に捉えられない[8]。深層決定論的ポリシー勾配法(Deep Deterministic Policy Gradient; DDPG)など、一部の強化学習手法は他の手法よりもハイパーパラメータ選択の影響を受けやすい[8]。