この項目では、深層学習のあらゆる計算の土台となる行列・テンソルの演算を学びます。ニューラルネットワークの順伝播は行列積の繰り返しであり、逆伝播では行列に対する勾配計算が登場するため、確実に押さえておきたい基礎です。
※この項目はシラバス2026では出題対象外(オプション)ですが、前提知識として重要なため解説します。
📖 概要
深層学習では、入力データ・重みパラメータ・中間層の出力など、扱う数値のほとんどが行列やテンソルの形をしています。たとえば全結合層の計算は y = Wx + b という行列とベクトルの積で表され、ミニバッチ処理では入力をまとめた行列同士の積になります。したがって、行列積の定義と性質を理解することが、モデルの仕組みを理解する第一歩になります。
行列積には「通常の積(内積に基づく積)」のほかに、同じ形の行列の対応する要素同士を掛けるアダマール積があり、深層学習ではゲート機構やマスク処理などで頻繁に使われます。また、行列が持つ「実質的な情報の次元数」を表す行列のランク、行列を多次元に一般化したテンソルという概念も、モデルの表現力やデータの扱いを考えるうえで欠かせません。
さらに、学習(最適化)の場面では、スカラーの損失関数を行列やベクトルのパラメータで微分した「勾配」を計算します。行列演算と微分を組み合わせて扱えることが、誤差逆伝播法の理解につながります。
🔍 キーワード解説
行列・ベクトルの積
行列 A(m行n列)と行列 B(n行p列)の積 AB は m行p列の行列になり、その (i, j) 成分は A の第i行と B の第j列の内積です。積が定義できるのは「左の行列の列数と右の行列の行数が一致する」ときだけで、一般に AB と BA は一致しません(非可換)。全結合層の y = Wx + b はこの積の典型例で、W が重み行列、x が入力ベクトル、b がバイアスです。
テンソル
テンソルは、スカラー(0階)、ベクトル(1階)、行列(2階)を一般化した多次元配列です。たとえばカラー画像は「高さ×幅×チャネル」の3階テンソル、ミニバッチ化した画像データは「バッチ×高さ×幅×チャネル」の4階テンソルとして表現されます。深層学習フレームワークの基本データ構造がテンソルであり、畳み込み層や全結合層の計算はすべてテンソル演算として実装されます。
アダマール積
アダマール積(要素積)は、同じ形の行列(テンソル)同士で、対応する要素をそれぞれ掛け合わせる演算です。記号では A ⊙ B などと書き、(A ⊙ B) の (i, j) 成分は A の (i, j) 成分と B の (i, j) 成分の積になります。通常の行列積とは異なる演算である点に注意してください。深層学習では、LSTMのゲートが情報の通過量を調整する計算や、ドロップアウトのマスク適用、誤差逆伝播での活性化関数の微分の適用などがアダマール積で表されます。
行列のランク
行列のランクは、行列の列ベクトル(または行ベクトル)のうち線形独立なものの最大本数で、その行列が表す線形変換の「実質的な次元数」を意味します。ランクが列数・行数の小さい方に一致するとき「フルランク」と呼び、正方行列ではフルランクであることと逆行列を持つことが同値です。ランクが低い行列は少ない情報で近似できるため、低ランク近似はモデルの圧縮やパラメータ効率のよい学習の考え方の基礎になります。
行列と勾配
損失関数 L はスカラーなので、重み行列 W に対する勾配 ∂L/∂W は「W と同じ形の行列」として定義され、各成分は対応する重みで L を偏微分した値です。たとえば y = Wx のとき、∂L/∂W は出力側から伝わる勾配と入力 x の外積の形になります。勾配が元のパラメータと同じ形になることを意識すると、逆伝播の式の形を検算しやすくなります。
📝 試験でのポイント
- 行列積が定義できるサイズの条件(左の列数=右の行数)と、積の結果のサイズを問う問題は頻出です
- アダマール積と通常の行列積の違いを、具体的な数値計算で区別できるようにしておきましょう
- LSTMのゲート計算や逆伝播の式にアダマール積(⊙)が現れることを結び付けて覚えると応用問題に対応できます
- テンソルの階数と、画像データ(バッチ×高さ×幅×チャネル)の対応は実装系の問題でも前提になります
- 行列のランクは「線形独立なベクトルの最大本数」という定義と、フルランク・逆行列との関係を押さえましょう
📚 まとめ
行列積・アダマール積・テンソルは、深層学習の順伝播と逆伝播を記述するための基本言語です。 行列のランクは行列が持つ実質的な情報量を表し、モデル圧縮などの発展的話題にもつながります。 勾配はパラメータと同じ形の行列になる、という感覚を持っておくと逆伝播の理解が楽になります。 まずは小さな行列で手計算し、演算の定義を体に染み込ませておきましょう。
