Ukaru.資格試験オンライン講座

ディープラーニングの概要(NN・活性化関数・学習の仕組み)

学習とは損失関数を誤差逆伝播法で得た勾配により最小化する過程であり、活性化関数(ReLU等)・最適化手法(Adam等)・正則化(ドロップアウト等)は、勾配消失と過学習という二大障害への対策として体系的に押さえる。

ニューラルネットワークは、脳の神経細胞(ニューロン)の情報伝達を数理モデル化したものであり、JDLA公式シラバスの「ディープラーニングの概要」分野の中核である。原点は1958年にローゼンブラットが提案した単純パーセプトロンで、複数の入力に重みを掛けた総和が閾値を超えると発火するという形式ニューロン(マカロック・ピッツモデル)の考え方を、学習可能にしたものである。しかし単純パーセプトロンは線形分離可能な問題しか解けず、XOR(排他的論理和)のような線形分離不可能な問題を扱えないことをミンスキーとパパートが指摘し、第1次AIブーム終焉の一因となった。この限界は、入力層と出力層の間に隠れ層(中間層)を挟んだ多層パーセプトロンによって克服される。隠れ層を持つネットワークは非線形な決定境界を学習でき、この隠れ層を深く重ねたものがディープニューラルネットワークである。本試験では「単純パーセプトロンで解ける問題と解けない問題」の区別が繰り返し出題されている。

ディープラーニングとは、隠れ層を多層に重ねたディープニューラルネットワークを用いた機械学習手法の総称である。多層化は表現力を高める一方、後述する誤差逆伝播の過程で勾配が消えてしまう勾配消失問題により、長らく学習が困難だった。2006年、ジェフリー・ヒントンらは、オートエンコーダ(自己符号化器)を1層ずつ積み重ねて教師なしで事前学習し、最後に全体を教師ありでファインチューニングする積層オートエンコーダの手法を示し、深いネットワークの学習に道を開いた。オートエンコーダは入力と出力が同じになるよう学習するネットワークで、入力より次元の小さい隠れ層に情報を圧縮することで特徴表現を獲得する。そして2012年の画像認識コンペティションILSVRCで、ヒントン率いるトロント大学のAlexNetが従来手法に大差で勝利したことが第3次AIブームの決定的な契機となった。なお現在は、ReLUや正則化技術の発達により、事前学習を経ずに深いネットワークを直接学習させる方法が主流である点も問われる。

活性化関数は、各ニューロンの出力を決める非線形関数であり、これがなければ層をいくら重ねても線形変換の合成にすぎず、多層化の意味が失われる。シグモイド関数は出力を0から1の範囲に変換する関数で、かつて隠れ層の標準だったが、その微分の最大値は0.25にとどまり、層を重ねるほど勾配が指数的に減衰する勾配消失問題の主因となった。tanh(双曲線正接)関数は出力が-1から1で、微分の最大値が1であるためシグモイドより勾配消失しにくいが、根本的な解決には至らない。現在の隠れ層の標準はReLU(正規化線形関数)であり、入力が0以下なら0を、正なら入力をそのまま出力する。正の領域では微分が常に1のため勾配消失が起きにくく、計算も軽い。ただし負の領域では勾配が0となり学習が止まる問題があり、負側にわずかな傾きを持たせたLeaky ReLUなどの派生形がある。出力層については、回帰には恒等関数、二値分類にはシグモイド関数、多クラス分類には出力の総和が1となり確率と解釈できるソフトマックス関数を用いる、という対応関係が頻出である。

ニューラルネットワークの「学習」とは、モデルの予測値と正解のずれを表す損失関数(誤差関数)を最小化するように重みを調整する過程である。損失関数には、回帰では平均二乗誤差、分類では交差エントロピー誤差が代表として用いられる。最小化の基本アルゴリズムが勾配降下法であり、損失関数を各重みで偏微分した勾配を求め、勾配と逆方向に重みを更新する。1回の更新幅を制御するハイパーパラメータが学習率であり、大きすぎると損失が発散・振動して収束せず、小さすぎると学習が極端に遅くなる。また勾配降下法は必ずしも大域最適解に到達せず、局所最適解に陥ることがあるほか、高次元空間では勾配がほぼゼロなのに極小点ではない鞍点や、学習が長く停滞するプラトーも問題となる。これらへの対処として、更新に慣性を持たせるモーメンタムなどの工夫が生まれた。本試験では「学習率の大小と学習挙動の関係」「局所最適解・鞍点・プラトーの区別」が問われやすい。

多層ネットワークの全ての重みについて勾配を効率よく計算する算法が誤差逆伝播法(バックプロパゲーション)であり、1986年にラメルハートらの研究によって広く知られるようになった。まず入力から出力へ予測値を計算する順伝播を行い、出力層で得た誤差を、微分の連鎖律を用いて出力側から入力側へ逆向きに伝播させ、各層の重みに対する勾配を一括して求める。この構造上、各層の活性化関数の微分値が繰り返し掛け合わされるため、微分値が1未満の関数(シグモイド等)を深く重ねると勾配が指数的に小さくなる勾配消失問題が、逆に大きな値が掛かり続けると勾配爆発が生じる。対策として、ReLU系活性化関数の採用に加え、シグモイド・tanh向けのXavierの初期値、ReLU向けのHeの初期値といった重みの初期化の工夫、さらに各層への入力分布を正規化して学習を安定・高速化するバッチ正規化が整備されており、いずれも公式シラバスに挙がる重要用語である。

重みの更新に用いるデータの与え方には、全訓練データで勾配を計算してから更新するバッチ学習(最急降下法)、データ1件ごとに更新する確率的勾配降下法(SGD)、その中間として数十から数百件のまとまりごとに更新するミニバッチ学習があり、実務ではミニバッチ学習が標準である。訓練データ全体を1回学習し終える単位をエポック、重み更新1回をイテレーションと呼び、例えば訓練データ10,000件・バッチサイズ100なら1エポックは100イテレーションとなる。最適化アルゴリズムの系譜としては、SGDに慣性項を加えて振動を抑えるモーメンタム、パラメータごとに学習率を自動調整するAdaGrad(過去の勾配の二乗和を累積するため学習率が下がりすぎる欠点がある)、直近の勾配を重視する指数移動平均でその欠点を改善したRMSprop、そしてモーメンタムとRMSpropの考え方を組み合わせたAdamがあり、Adamが現在最も広く使われる。各手法の名称・特徴・改良関係の対応付けは頻出論点である。

訓練データに過剰に適合し、未知データへの汎化性能が低下する現象が過学習であり、その抑制策の理解は公式シラバス「ディープラーニングの概要」の必須項目である。代表的な対策は次の通りである。第一にドロップアウトは、学習時にニューロンをランダムに無効化することで疑似的なアンサンブル学習の効果を得る手法であり、推論時には全ニューロンを使用する点がひっかけとして問われる。第二に早期終了(early stopping)は、検証データの誤差が悪化し始めた時点で学習を打ち切る手法である。第三に正則化として、重みの絶対値の和に罰則を課し不要な重みを0にしてスパースにするL1正則化(ラッソ回帰に対応)と、重みの二乗和に罰則を課し全体を小さく抑えるL2正則化(リッジ回帰に対応)がある。あわせて、データを訓練・検証・テストに分割するホールドアウト法や交差検証で汎化性能を評価する枠組み、そして行列演算の並列処理に優れたGPUやGoogleが深層学習向けに開発したTPUといった計算基盤も、本章の周辺論点として出題される。

この章の問題から3問

単純パーセプトロンは、XOR(排他的論理和)のような線形分離不可能な問題であっても、学習を十分に繰り返せば解くことができる。

正解 ×(誤り)

誤り。単純パーセプトロンが解けるのは線形分離可能な問題に限られ、XORは1本の直線では分離できないため学習回数を増やしても解けない。この限界はミンスキーとパパートが指摘した。ひっかけは「学習を十分に繰り返せば」の部分で、解決策は反復ではなく隠れ層を加えた多層パーセプトロン化である(JDLA公式シラバス「ディープラーニングの概要」・公式テキストのパーセプトロンの節)。

ReLU(正規化線形関数)は、入力が0以下のとき0を、正のとき入力値をそのまま出力する活性化関数であり、シグモイド関数と比べて勾配消失問題が起きにくい。

正解 ○(正しい)

正しい。ReLUはf(x)=max(0,x)で定義され、正の領域では微分が常に1のため、誤差逆伝播で勾配が減衰しにくい。一方シグモイド関数は微分の最大値が0.25であり、層を重ねると勾配が指数的に小さくなる。ただしReLUも負の領域では勾配が0になる欠点があり、Leaky ReLU等の派生がある(JDLA公式シラバスの活性化関数の項)。

誤差逆伝播法(バックプロパゲーション)では、出力層で計算した誤差を微分の連鎖律を用いて出力側から入力側へ逆向きに伝播させ、各層の重みに対する勾配を求める。

正解 ○(正しい)

正しい。誤差逆伝播法は、順伝播で予測値と誤差を求めた後、連鎖律(合成関数の微分)により誤差を出力層から入力層方向へ伝播させて全重みの勾配を効率的に計算する算法で、1986年のラメルハートらの研究で普及した。この「微分値の掛け算の繰り返し」という構造が勾配消失・勾配爆発の原因にもなる(JDLA公式シラバス「ディープラーニングの概要」)。

この章の残り12問を解く

登録不要 ・ 採点と解説はその場 ・ 進捗は端末に保存

G検定(ジェネラリスト検定)の他の章

本ページの講義ノートと問題は、各試験の出題範囲に基づきAIが作成し、法令・基準に照らして別のAIレンズで敵対的に検証したものです(検証プロセス)。法改正等で誤りが見つかった場合は随時修正します。合格を保証するものではありません。