目次
はじめに
こんにちは。将棋と筋トレが好きな、学生エンジニアのゆうき(@engieerblog_Yu)です。
今回はニューラルネットワークのモデルのハイパーパラメータについてまとめていきたいと思います。
ハイパーパラメータとは?
ニューラルネットワークの重みやバイアスなどのパラメータは、誤差逆伝播法や勾配降下法を用いて計算されます。
それらのパラメータは、誤差逆伝播法で勾配を計算し、勾配降下法で決定することができます。
しかし、誤差逆伝播法と勾配降下法で決めることができないパラメータもあります。
そのようなパラメータを、ハイパーパラメータと言います。
ハイパーパラメータは人間が手動で決定する必要があり、適切なパラメータをどのように探索するかが重要です。
今回はハイパーパラメータに、どのようなものがあるのかまとめていきたいと思います。
ハイパーパラメータとは、ニューラルネットワークが自動で決めることができず、手動で決定しなければならないパラメータ
ハイパーパラメータは大きく三つに分けられる
ハイパーパラメータは三つに分けることができます。
学習の進み方を決定するもの
正則化の強さを決定するもの
ネットワークアーキテクチャを決定するもの
それぞれ解説していきます。
学習の進み方を決定するパラメータ
学習率やモーメンタム法で使われる係数が、これに該当します。
例えば勾配降下法で用いられる式が以下です。
\(t_{next}=t_{previous} – \eta\frac{\partial E}{\partial t}\)
学習率ηが、ハイパーパラメータになります。
ηの値は大きすぎても小さすぎても良くなく、モデルに応じた適切な値を設定する必要があります。
正則化の強さを決定するパラメータ
正則化の強さを決定するパラメータはWeight Decay、ドロップアウトの係数などが挙げられます。
正則化とは、訓練誤差を小さくしたモデルの汎化誤差も小さくするためにモデルを複雑化しすぎないようにするための操作です。
正則化の強さを決めるのは手動であるのでハイパーパラメータを用いるというわけです。
具体的なWeight Decay、ドロップアウトの操作についてはまた別の記事でまとめたいと思います。
ネットワークアーキテクチャを決定するパラメータ
どのようなネットワークアーキティクチャにするのかということも、ハイパーパラメータにあたります。
ネットワークアーキテクチャとはニューラルネットワークの構造です。
ネットワーク層の数を何層にするのか、幅をどれくらいにするのか、活性化関数に何を使うのかでニューラルネットワークの構造が変わります。
余談ですが、幅を広くすると計算量は指数関数的に増え、層数を増やすと計算量は線形的に増えます。
大きいニューラルネットワークと言われた場合、層が深いのか、幅が広いのかということに着目することも大切です。
ニューラルネットワークのアーキテクチャはハイパーパラメータである
ハイパーパラメータの調整方法
ハイパーパラメータは人力で決定するのはあまりにも大変です。
効率よく調整する方法として、グリット探索、ランダム探索、ベイズ最適化などが知られています。
これらの方法はまた後ほど、別の記事で投稿していきたいと思います。
まとめ
ハイパーパラメータとは、ニューラルネットワークが自動で決めることができず、手動で決定しなければならないパラメータ
ハイパーパラメータには学習の進み方を決定するもの、正則化の強さを決定するもの、ネットワークアーキテクチャを決めるものの三つがある
ハイパーパラメータを調整する方法としてグリット探索、ランダム探索、ベイズ最適化などが知られている
今回はニューラルネットワークのハイパーパラメータについてまとめました。
機械学習、ディープラーニングを学びたい方におすすめの入門書籍です。
ディープラーニングの理論が分かりやすくまとめられていて、コーディングしながら力を身につけることができると思います。
最後まで読んでいただきありがとうございました。
他にもいろんな投稿があるにゃ。
コメント