E資格の深層学習(CNN・RNN・Transformer・誤差逆伝播)は、仕組みと実装の対応で押さえます。

E資格の深層学習(CNN・RNN・Transformer・誤差逆伝播)は、仕組みと実装の対応で押さえます。 資格

E資格(JDLA Deep Learning for ENGINEER)の出題分野のうち、最も配点が高く、かつ実装レベルの理解が問われるのが深層学習の分野です。CNN・RNN・Transformer・誤差逆伝播などのアーキテクチャの仕組みと、Python/NumPyによる実装の理解が求められます。

この記事では、E資格の深層学習分野でどのような問題が出るのか、実装問題の傾向と対策を整理します。

E資格の深層学習分野は「アーキテクチャの理解+実装」の両方が問われます

JDLAが公表しているE資格のシラバスでは、深層学習の出題範囲は次のように分類されています。

大項目 主な内容
ニューラルネットワーク基礎 パーセプトロン・活性化関数・損失関数・誤差逆伝播(バックプロパゲーション)・最適化アルゴリズム
CNN(畳み込みニューラルネットワーク) 畳み込み演算・プーリング・パディング・ストライド・出力サイズの計算・代表的な構造(VGG・ResNet)
RNN・LSTM・GRU 時系列・系列データへの適用・勾配消失問題・LSTMの3つのゲート・GRU
Attention・Transformer Self-Attention・スケールドドット積・Multi-Head Attention・位置エンコーディング
生成モデル VAE(変分オートエンコーダ)・GAN(敵対的生成ネットワーク)の構造と損失関数
その他の発展内容 転移学習・ファインチューニング・正則化(Dropout・BatchNorm)・データ拡張

出典:JDLA「E資格 シラバス」の深層学習分野をもとに整理。

誤差逆伝播は「計算グラフ上での微分の連鎖」として理解します

誤差逆伝播(バックプロパゲーション)は、ニューラルネットワークの損失関数の各重みに対する勾配を、連鎖律を使って後ろから前に向けて計算するアルゴリズムです。

E資格では、計算グラフを見て各ノードの勾配を求める問題が出ます。計算グラフとは、計算の流れを有向グラフで表したもので、各ノードは演算(加算・乗算・ReLUなど)を表します。

  • 加算ノード:上流の勾配をそのままの大きさで両方の入力側に流します(勾配が「分岐する」)
  • 乗算ノード:上流の勾配に「逆側の入力値」をかけた値を各入力側に流します
  • ReLUノード:順伝播で0以上なら上流の勾配をそのまま流す。0以下なら勾配は0
  • Softmax + 交差エントロピーノード:逆伝播の勾配が「予測値 − 正解ラベル」になるため、計算が大幅に簡略化されます

「Softmax + 交差エントロピーの逆伝播の勾配が y – t(予測値 − 正解ラベル)になる」という関係は試験で問われやすく、証明の流れを追えるようにしておくと得点しやすいです。

CNNの出力サイズの計算は定式化して確認します

CNNで最もよく出る計算問題が「畳み込み・プーリング後の出力サイズを求める」問題です。次の式を使います。

出力サイズ = (入力サイズ − カーネルサイズ + 2 × パディング) ÷ ストライド + 1

例:入力サイズ 32×32・カーネルサイズ 3×3・パディング 1・ストライド 1 の畳み込みの場合
出力サイズ = (32 − 3 + 2 × 1) ÷ 1 + 1 = 32

パディング=(カーネルサイズ − 1) ÷ 2(カーネルサイズが奇数の場合)にすると入力サイズを維持できます。これを「same padding」と呼ぶこともあります。

プーリング(最大値プーリングや平均プーリング)も同じ式で出力サイズを計算できます。プーリングは「学習パラメータのない」次元削減操作で、平行移動不変性を持たせる効果があります。

RNNの勾配消失問題とLSTMの解決策を押さえます

RNN(再帰型ニューラルネットワーク)は時系列データを扱うモデルですが、長い時系列になると勾配消失・勾配爆発が起きやすいという問題があります。

勾配消失の仕組み:RNNは同じ重みを時刻ごとに繰り返し使うため、逆伝播の際に勾配が同じ行列の累乗になります。固有値が1より小さければ勾配が指数的に小さくなる(消失)、1より大きければ指数的に大きくなる(爆発)という問題が起きます。

LSTMはこの問題に対処するために、セル状態(c)という別の情報の流れとゲート機構を導入しています。

ゲート 役割
忘却ゲート(Forget Gate) セル状態のどの情報を忘れるかを制御(0〜1のシグモイド出力)
入力ゲート(Input Gate) 新しい情報をどれだけセル状態に加えるかを制御
出力ゲート(Output Gate) セル状態から次の隠れ状態(h)としてどの情報を出力するかを制御

GRUはLSTMをシンプルにしたモデルで、セル状態と隠れ状態を統合し、ゲートを2つ(リセットゲート・更新ゲート)に減らしています。

TransformerのSelf-Attentionは「どの位置に注目するか」を学習します

Transformer(2017年にVaswani等が発表)は、RNNを使わずに系列データを処理するアーキテクチャで、現在の自然言語処理の基盤です。E資格では、Transformerの中核であるSelf-Attentionの仕組みが問われます。

Self-Attentionは、入力の各位置(トークン)が他のどの位置に注目すべきかを重みで学習します。具体的には次の計算をします。

Attention(Q, K, V) = softmax(QK^T / √d_k) V

  • Q(クエリ)・K(キー)・V(バリュー):入力から線形変換で得られる3つの行列
  • QK^T:クエリとキーの内積でどの位置がどの位置に注目するかのスコアを計算
  • √d_k での割り算(スケーリング):d_k(キーの次元数)が大きいときに内積の値が大きくなりすぎるのを防ぐ
  • softmax:注目の重みを合計1に正規化
  • Vとの積:注目度に応じてバリューを加重平均する

Multi-Head Attentionは、異なる表現部分空間を並列に使う複数のAttentionヘッドを組み合わせることで、単一のSelf-Attentionよりも豊かな表現を得られます。

Transformerには位置情報が入力に含まれないため、位置エンコーディング(Positional Encoding)を入力に加えて、系列中の位置情報を与えます。サインとコサインを使った固定の位置エンコーディングが元の論文の方法です。

実装問題はNumPy/PyTorchのコードを読んで答える形式です

E資格の実装問題では、Python(NumPy・PyTorch)のコード断片を見て「このコードは何を計算しているか」「このコードの出力は何か」「このコードの誤りを直せ」といった問題が出ます。

頻出のNumPy操作と深層学習の対応をいくつか挙げます。

NumPy操作 深層学習での使い所
np.dot(A, B) 全結合層の順伝播。入力 x と重み W の積
np.exp(x) / np.sum(np.exp(x)) Softmax関数の実装。分母にSumを取って確率に正規化
np.maximum(0, x) ReLU活性化関数。0以下を0にする
np.linalg.svd(A) 特異値分解。行列の次元削減・ランク近似
np.random.normal(0, 0.01, size=(n, m)) 重みの初期化。小さいランダム値で初期化する

AI問題演習ツールで深層学習の問題を繰り返し練習できます

このサイトでは、E資格の出題分野(深層学習を含む3分野)に対応したAI問題演習ツールを提供しています。CNN・RNN・Transformer・誤差逆伝播など実装寄りの問題も含め、AIが毎回異なる問題を出題します。1日3問まで無料です。

→ E資格 AI問題演習(無料)を試してみる

まとめ:深層学習分野は「仕組みと実装の対応」を軸に押さえます

  • E資格の深層学習分野はアーキテクチャの理論と実装(NumPy/PyTorch)の両方が問われる
  • 誤差逆伝播は計算グラフ上での連鎖律の適用。「Softmax + 交差エントロピーの逆伝播は y – t」という関係は頻出
  • CNNの出力サイズ計算式(入力 − カーネル + 2×パディング)÷ ストライド + 1)を使いこなす
  • LSTMの3ゲート(忘却・入力・出力)は勾配消失問題への対策として位置づけて理解する
  • Self-Attentionの式 Attention(Q,K,V) = softmax(QK^T / √d_k) V と各要素の意味を押さえる
  • NumPyのコードと数式の対応(np.dot=行列積・np.maximum(0,x)=ReLUなど)を確認しておく
この記事を書いた人

業種別のツールを、一人で作っています。開業前の収支シミュレーター、法定研修キット、資格の問題集。どれも、厚生労働省の告示や調査の原文を自分で確かめてから数字を組み込んでいます。使う人が「この数字、合ってるか」と不安になるようなツールは作りたくないので。

上場企業で20年間、営業ひとすじ。電話営業・インサイドセールスから、約70名のチームのマネジメントへ。現場で「根拠のない数字」が判断を狂わせる場面を見続けてきたせいか、ツールを作るときも出典を確かめずにはいられません。

ご質問はメールで。電話・面談はしていません。

fufumumu_designをフォローする
資格
fufumumu_designをフォローする

コメント

タイトルとURLをコピーしました