線形代数って何者? ― AIを支える「変換の数学」入門
AI時代になった今、線形代数はこれまで以上に重要な学問になっています。LLM(大規模言語モデル)の根底には、行列やベクトル空間の考え方が深く関わっています。私自身も、AIをただ便利な道具として使うだけでなく、その仕組みを理解できるよう、線形代数を改めて勉強していこうと思います📚✨
そもそも行列って何なの?
「行列」という言葉を聞くと、数字がぎっしり並んだ表を思い浮かべる人が多いと思う。
でも実は、行列の本質は「変換のルール」だ。
たとえばAIに画像を入力すると、数値の羅列が別の数値の羅列に変わって出てくる。この変換を担っているのが行列なんだ。
$$
\boldsymbol{y} = W\boldsymbol{x}
$$
$${W}$$ が行列、$${x}$$ が入力、$${y}$$ が出力。プログラムで言えば入力が関数の引数、行列が関数の本体、出力が戻り値に対応する。
AIの学習とは、「正しい変換をする行列 $${W}$$ を探す作業」と言い換えられる。
まず「スカラー・ベクトル・行列」を整理しよう
数の世界には3つのレベルがある。
スカラーはただの1つの数。$${a = 3}$$ とか $${b = -1.5}$$ とか。
ベクトルは数を1列に並べたものだ。
$$
\boldsymbol{x} = \begin{pmatrix} 1 \cr -2 \cr 5 \end{pmatrix}
$$
プログラムで言えば1次元配列。AIでは「画像のピクセル値を全部並べたもの」がベクトルになる。
行列は数を縦横に並べた2次元の表だ。
$$
A = \begin{pmatrix} 1 & 2 & 3 \cr 4 & 5 & 6 \end{pmatrix}
$$
これが「変換のルール」の正体だ。
行列の計算、意外とシンプル

行列の計算で一番大事なのが「積」だ。
$${A}$$ の列数と $${B}$$ の行数が同じなら、$${C = AB}$$ が計算できる。計算のルールは「$${A}$$ の $${i}$$ 行目と $${B}$$ の $${j}$$ 列目の内積が $${c_{ij}}$$ になる」というものだ。
$$
c_{ij} = \sum_{l} a_{il} b_{lj}
$$
具体例を見てみよう。
$$
\begin{pmatrix} 1 & 2 \cr 3 & 4 \end{pmatrix} \begin{pmatrix} 5 & 6 \cr 7 & 8 \end{pmatrix} = \begin{pmatrix} 19 & 22 \cr 43 & 50 \end{pmatrix}
$$
ひとつ注意点がある。行列の積は順番を変えると答えが変わる。$${AB \neq BA}$$ だ。数の掛け算とは全然違うので要注意。
転置・逆行列・行列式もサクッとおさえよう

転置は行と列をひっくり返すだけだ。
$$
A = \begin{pmatrix} 1 & 2 & 3 \cr 4 & 5 & 6 \end{pmatrix} \implies A^\top = \begin{pmatrix} 1 & 4 \cr 2 & 5 \cr 3 & 6 \end{pmatrix}
$$
性質として $${(AB)^\top = B^\top A^\top}$$ が成り立つ。
逆行列 $${A^{-1}}$$ は「掛けると単位行列(数で言う1)になる行列」だ。
$$
AA^{-1} = A^{-1}A = I
$$
2×2行列の逆行列はこう計算できる。
$$
\begin{pmatrix} a & b \cr c & d \end{pmatrix}^{-1} = \frac{1}{ad-bc} \begin{pmatrix} d & -b \cr -c & a \end{pmatrix}
$$
行列式は「この変換が面積を何倍に拡大するか」を表す数だ。
$$
\det \begin{pmatrix} a & b \cr c & d \end{pmatrix} = ad - bc
$$
重要な等価関係——$${\det(A) \neq 0}$$ ⟺ 逆行列が存在する ⟺ フルランク。これはSVDで特異値がゼロかどうかと直結する。
ベクトルの「近さ」を測る道具たち

AIで「この文章とあの文章は似ている」を計算するとき、内積とノルムが活躍する。
内積は2つのベクトルの「似ている度合い」だ。
$$
\boldsymbol{a} \cdot \boldsymbol{b} = \sum_{i} a_i b_i = |\boldsymbol{a}||\boldsymbol{b}|\cos\theta
$$
内積がゼロなら「直交(垂直)」、つまり全然似ていないということだ。コサイン類似度はこの考え方を使って文章検索やRAGの根っこで使われている。
ノルムはベクトルの「長さ」だ。
$$
|\boldsymbol{x}|2 = \sqrt{\sum{i} x_i^2}
$$
そして行列の大きさを表すフロベニウスノルム。
$$
|A|F = \sqrt{\sum{i,j} a_{ij}^2}
$$
これが後のSVDの誤差評価で活躍する。特異値との重要な関係がこれだ。
$$
|A|F^2 = \sum{i} \sigma_i^2
$$
特異値の2乗和がフロベニウスノルムの2乗と等しい。これはあとで絶対使う。
「ランク」が全部の鍵を握っている

最後に一番大事な概念を紹介する。ランクだ。
ランクは「行列が実質何方向の情報を持っているか」の数。
たとえば $${1000 \times 1000}$$ の行列があっても、実質10方向の変換しかしていなければランクは10だ。残り990方向は冗長で、意味のある情報を持っていない。
「見かけは大きいけど中身は薄い」——これがランクが低い行列のイメージだ。
そして後で登場するLoRAの発見は「AIのファインチューニングに必要な変化のランクは、意外と低い」というものだった。1677万パラメータの変化に見えても、本質的な方向は数十次元だったんだ。
ランクとSVDの橋渡しになる重要な事実——「ランク=ゼロでない特異値の個数」とだけ覚えておけば十分だ。
まとめ
行列は「変換のルール」であり、AIの学習は「正しい変換を探す作業」だ
積・転置・逆行列・行列式は行列を扱う基本道具
内積・ノルムはベクトルの類似度や大きさを測る
ランクは行列が持つ「実質的な情報の次元数」で、SVD・LoRAの核心概念に直結する
次章ではこのランクという概念を使って、SVD(特異値分解)を理解していく。
