書籍転載:Thinking Machines ― 機械学習とそのハードウェア実装(13)

書籍転載:Thinking Machines ― 機械学習とそのハードウェア実装(13)

ネットワークモデル開発時の課題 ― 深層学習の基本

2017年7月18日

訓練と交差検証で誤差率が高い場合は、バイアスが強い「未適応状態」もしくはバリアンスが強い「過適応状態」である。このバイアス・バリアンス問題の調整について概説。

高野 茂幸
  • このエントリーをはてなブックマークに追加

 前回は、書籍『Thinking Machines ― 機械学習とそのハードウェア実装』から「付録A 深層学習の基本、A.3 深層学習と行列演算」を転載しました。今回は、「A.4 ネットワークモデル開発時の課題」を転載します。

書籍転載について

 本コーナーは、インプレスR&D[Next Publishing]発行の書籍『Thinking Machines ― 機械学習とそのハードウェア実装』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。

 『Thinking Machines ― 機械学習とそのハードウェア実装』(Kindle電子書籍もしくはオンデマンドペーパーバック)の詳細や購入はAmazon.co.jpのページもしくは出版元のページをご覧ください。書籍全体の目次は連載INDEXページに掲載しています。

ご注意

本記事は、書籍の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどはBuild Insiderのそれとは一致しません。あらかじめご了承ください。

A.4 ネットワークモデル開発時の課題

A.4.1 バイアス・バリアンス問題

 訓練と交差検証(Cross-validation)での誤差率に差がある時、特に訓練時と交差検証時の誤差率が高い状態はBiasの影響が強い状態であり未適応状態と言え、訓練時の誤差が低いのにも関わらず交差検証時の誤差率が高い状態は多様な問題への過適応状態である【227】。特に、アクティベーションの次元数の最適化時に訓練と交差検証での誤差率を見て評価する。アクティベーションの次元数を横軸に上記2つの誤差率を縦軸にプロットし、次元数の上昇と共に誤差率の変化を見ると評価ができる。

 バイアス・バリアンス問題に対して誤差関数に正則項を追加して調整する。バイアスが強い状態の時は正則係数の値が大き過ぎていて、個々のパラメータへの制約が強くなっている未適応状態である。この時には正則係数の値を小さくするかパラメータ数を増やし、交差検証での誤差率が下がるか試す必要がある。バリアンスが強い状態の時は正則係数が小さ過ぎていて、個々のパラメータへの制約が弱過ぎて過適応状態である。この時には正則係数の値を大きくするか可能であればパラメータ数を減らしてみて、交差検証での誤差率が下がるか試す必要がある。交差検証での誤差率が最も低い状態を得る正則係数値が適切な値である。

 パラメータ数の最適化問題の場合は、正則係数を変えてそれぞれの正則係数時の最小値の誤差関数値を与えるパラメータ数を見つけておき、その時の交差検証を実施して誤差率が最も低いパラメータ数が最適なパラメータ数と言え、これに対してテストセットで誤差率を見て汎化性能を評価すれば良い。

 学習曲線は横軸を訓練データサイズとした時の誤差率を描いた曲線とする。この時の訓練時の誤差率と交差検証での誤差率をプロットすると不一致となる。訓練時の学習曲線は、訓練データサイズを大きくするとパラメータと入力ベクトルの適合性が低くなるので誤差率が大きくなる。交差検証での学習曲線は汎化性能を見ているので、逆に訓練データサイズが小さいと誤差率は大きく、訓練データサイズを増やすと適合性が増して誤差率は下がる。従って、一般に訓練時の学習曲線の上側に交差検証での学習曲線がプロットされる形になる。その不一致の状態を見ることで、バイアス・バリアンス問題の対策を講じることができる。訓練時の学習曲線と交差検証時の学習曲線は、小さい訓練データサイズの時から曲線間隔が小さい時、高バイアス状態と言える。高バリアンス状態の時は汎化性能が低いので、大きい訓練データサイズ時に曲線間隔が大きい状態と言える。過適応であるこの状態では、2つの学習曲線の間隔は大きいのでまだ伸びしろがあると言え、訓練データ数を増やせば交差検証の曲線が低下する余地がある。パラメータ数の多いニューラルネットワーク(隠れ層のユニット数が多い、隠れ層の数が多い、あるいはこの両方の特徴を持つネットワークモデル)は過適応になりやすいので誤差関数に正則項を設けてバイアス・バリアンス問題を調整するのが一般である。

 次回は、「付録B Advanced Network Models、B.1 CNN Variants、B.2 RNN Variants、B.3 Autoencoder Variants、B.4 Residual Networks」を転載します。

※以下では、本稿の前後を合わせて5回分(第11回~第15回)のみ表示しています。
 連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。

11. 機械学習ハードウェアモデル ― 深層学習の基本

深層学習における、パラメーター空間と順伝播・逆伝播演算の関係を説明。また、代表的な学習の最適化方法と、パラメーターの数値精度についても紹介する。

12. 深層学習と行列演算 ― ディープラーニングの基本

「深層学習の行列表現とそのデータサイズ」「行列演算のシーケンス」「パラメーターの初期化」について説明する。

13. 【現在、表示中】≫ ネットワークモデル開発時の課題 ― 深層学習の基本

訓練と交差検証で誤差率が高い場合は、バイアスが強い「未適応状態」もしくはバリアンスが強い「過適応状態」である。このバイアス・バリアンス問題の調整について概説。

14. CNN(畳み込みニューラルネットワーク)/RNN(再帰型ニューラルネットワーク)/AE(自動符号化器)の応用モデル

CNN、RNN、AEといったネットワークモデルを拡張あるいは組み合わせた「Deep Convolutional Generative Adversarial Networks」「Highway Networks」「Stacked Denoising Autoencoders」「Ladder Networks」「Residual Networks(ResNet)」を紹介する。

15. 国別(中国/米国/欧州/日本)の機械学習・AI関連の研究開発動向

機械学習(AIを含む)関連の研究開発を行っている主要な国・地域(中国、米国、ヨーロッパ、日本)における国家水準での取り組みを紹介する。

サイトからのお知らせ

Twitterでつぶやこう!