記号の読み方

深層学習の数式に出てくる記号の読み方

太字・上付き・∂・⊙・転置など、学習ノートに出てくる記号を1つずつ「読み方・意味・たとえ・理解の仕方・覚え方」で並べました。計算はできなくてよくて、式が文として読めれば十分です。

この記事は何をしないか

数学を教えません。記号の読み方だけを渡します。

学習ノートを開いて δ(l)=(W(l+1)⊤δ(l+1))⊙f′(z(l))\boldsymbol{\delta}^{(l)} = (W^{(l+1)\top} \boldsymbol{\delta}^{(l+1)}) \odot f'(\mathbf{z}^{(l)}) が出てきた瞬間に閉じてしまうとき、詰まっているのは中身ではなく表記です。ここを越えると、同じ式が「面倒だが言っていることは分かる文」に変わります。

楽譜と同じです。♯ が半音上げる印だと知っていれば、弾けなくても「ここで音が上がるんだな」とは読めます。逆にそれを知らないと、どれだけ音楽が好きでも紙の上はただの模様のままです。この記事でやるのは ♯ の説明であって、演奏の練習ではありません。

以下、記号ごとに 読み方 / 意味 / たとえ / 理解の仕方 / 覚え方 の5つを必ず書きます。全部を覚える必要はなく、詰まったときに戻ってくる索引として使ってください。

結論:記号は暗記でよい。ただし由来とセットにする

記号の意味を毎回、数学の歴史から推理し直す必要はありません。最初は「Σ は全部足す」「⊙ は同じ位置どうし」のように暗記して大丈夫です。

ただ、文字や形に手がかりがあるものは、それを一緒に覚えると忘れにくくなります。Σ は sum の連想、T は transpose の頭文字、∇ は坂の向きを思い出す形——という具合です。反対に、θ や η のように著者の慣習で選ばれる記号もあります。由来は暗記の補助輪であって、別の試験科目ではありません。

文字の見た目が、すでに情報です

同じ「a」でも、書体が違えば別のものを指します。ここが最初の関門で、しかもどのノートにも書いてありません。

aa / a\mathbf{a} / WW書体による使い分け
読み方どれも「エー」「ダブリュー」。声では区別しません
意味細い小文字=数がひとつ(スカラー)。太い小文字=数が縦に並んだもの(ベクトル)。大文字=数が縦横に並んだ表(行列)
由来量の種類を見た目で区別するための数学の慣習です。特別な文字の意味が隠れているわけではありません
たとえ体重が1つの数、健康診断の結果一式がベクトル、家族全員ぶんの結果表が行列
理解の仕方太字を見たら「1個じゃなくて束で来る」と思えば足ります。中身が何個あるかは、たいてい問題になりません
覚え方太いほど中身が多い。 細字1個 → 太字1列 → 大文字1枚

ギリシャ文字(δ\delta、θ\theta、η\eta)が出てくるのも、アルファベットが足りないからであって、それ以上の意味はありません。

上付きの (l)(l) は、べき乗ではありません

実際に一番よく誤読されるところです。

a(l)\mathbf{a}^{(l)}肩に乗った番号
読み方「エー・エル」。「エーのエル乗」ではありません
意味ll 番目の層の a\mathbf{a}。下付きの xix_i も同じで「ii 番目の xx」
由来上付きは「何乗か」と衝突するため、層番号にはカッコを付けるという記法上の慣習です
たとえ選手の背番号です。10番の選手は1番の選手の10倍強いわけではありません
理解の仕方深層学習の式は「何層目の・何番目のデータの・何時刻の」を常に言う必要があるので、名札が増えます。式が難しいのではなく名札が多いだけです
覚え方カッコが付いていたら番号。 x2x^2(カッコなし)は2乗、a(2)a^{(2)}(カッコあり)は2層目

この読み分けを外すと、式全体が別の意味になります。逆に言えば、カッコの有無を見る癖さえ付けば、この種の誤読は起きません。

∂\partial ——「ちょっと動かすと、どれだけ動くか」

∂L∂W\dfrac{\partial L}{\partial W}偏微分
読み方「ラウンド エル・ラウンド ダブリュー」。∂\partial は「ラウンド」「デル」
意味WW だけを少し動かしたとき、損失 LL がどれだけ動くか。他は止めたまま
由来変数が複数あるときに「一部だけを見る微分」を通常の dd と区別するための記号として定着しました。ここは「部分」の印と覚える場所です
たとえミキサーのつまみです。「このつまみを1目盛ひねると、音がどれだけ変わるか」。値が大きいつまみほどよく効きます
理解の仕方分数の形をしていますが割り算ではありません。上のものが、下のものにどれだけ反応するかを1つの記号として書いているだけです
覚え方下が原因、上が結果。 ∂\partial(結果)/∂/\partial(原因)

関連する記号も同じ家族です。

dd / ∇\nabla / f′f'∂ の親戚
読み方「ディー」「ナブラ」「エフ・ダッシュ」
意味dy/dxdy/dx はつまみが1本しかないときの ∂\partial。∇L\nabla L は全パラメータぶんの ∂\partial を束ねたもの(=勾配)。f′(z)f'(z) は関数 ff の効き具合
たとえ∂\partial がつまみ1本、∇\nabla はミキサー卓ぜんぶの設定を一度に書き取ったメモです
理解の仕方読者としては dd と ∂\partial を区別しなくて構いません。「動かしたときの効き」という一語で全部通ります
覚え方∇\nabla は三角形が下を向いている=下り坂の向き。勾配降下法が下る方向そのもの

かけ算が3種類あります

日本語だと全部「掛ける」なので、記号でしか区別できません。ここは読み分けが実利に直結します。

WaW\mathbf{a}(記号を書かずに並べる)行列積
読み方「ダブリュー・エー」。間に何も読みません
意味表とベクトルを混ぜ合わせて、別の形のベクトルを作る
たとえレシピの表に材料の量を通すと、料理の分量表が出てくる。入れたものと出てくるものは別物です
理解の仕方入れ替えると結果が変わります(Wa≠aWW\mathbf{a} \neq \mathbf{a}W)。並び順そのものが意味を持っている、と思ってください
覚え方記号なしの並置=混ぜる。 一番強い掛け算が、一番書き方が地味
u⊙v\mathbf{u} \odot \mathbf{v}要素ごとの積(アダマール積)
読み方「まる」「アダマール積」「要素ごとの積」
意味1番目どうし、2番目どうしを素直に掛ける。形は変わりません
たとえ商品リストと個数リストを、行ごとに突き合わせて金額を出す作業です
理解の仕方混ぜない掛け算。**上の行列積との違いは「他の要素と混ざるかどうか」**の一点です
覚え方丸の中に何もない=その場から動かない。混ぜないほうが ⊙\odot
W⊤W^\top転置
読み方「ダブリュー・てんち」「ダブリュー・トランスポーズ」
意味表の縦と横をひっくり返す
由来上付きの TT は transpose の頭文字です。行列を転置するとき、操作名をそのまま肩に置いています
たとえ名簿を「行が人・列が科目」から「行が科目・列が人」に組み替えるだけ。中身は1つも変わりません
理解の仕方逆伝播で転置が出てくるのは、行き(入力→出力)に使った表を、帰り(出力→入力)に読み直しているからです。新しい情報は増えていません
覚え方⊤\top は TT ではなくひっくり返す印。記号の形自体が倒れています

∑\sum と ∏\prod は for ループです

∑i=1nxi\sum_{i=1}^{n} x_i / ∏i=1nxi\prod_{i=1}^{n} x_i総和・総積
読み方「シグマ」「パイ」
意味x1x_1 から xnx_n まで全部足す/全部掛ける
由来Σ\Sigma はギリシャ文字 sigma、Π\Pi は pi。総和・総積を短く書く記号として定着したものです
たとえレシートの合計欄です。1行ずつ足していく作業に名前を付けただけ
理解の仕方プログラムで書けば for i in range(n): total += x[i] の1行。数学の記号のほうが、むしろ短縮形です
覚え方Σ\Sigma は Sum の S、Π\Pi は Product の P。ギリシャ文字の頭文字がそのまま

実際に読み下してみます

冒頭の式に戻ります。逆伝播の中心にある1行です。

δ(l)=(W(l+1)⊤δ(l+1))⊙f′(z(l))\boldsymbol{\delta}^{(l)} = \left( W^{(l+1)\top} \boldsymbol{\delta}^{(l+1)} \right) \odot f'(\mathbf{z}^{(l)})

ここまでの5つのカードだけで、左から順に日本語になります。

部分読み
δ(l)\boldsymbol{\delta}^{(l)}ll 層目の「δ\delta と名付けた値」(太字なのでベクトル)
W(l+1)⊤W^{(l+1)\top}ひとつ下流の層の重みを、ひっくり返したもの
δ(l+1)\boldsymbol{\delta}^{(l+1)}ひとつ下流の層の δ\delta
⊙f′(z(l))\odot f'(\mathbf{z}^{(l)})その結果に、活性化関数の効きを混ぜずに掛ける

つなげると「この層の δ\delta は、ひとつ下流の δ\delta に、下流の重みをひっくり返して掛け、活性化の効きを要素ごとに掛ければ出る」。それだけです。

そして下流の δ\delta から上流の δ\delta が出るということは、出力側から順に1回ずつ計算していけば全部揃う——というのが誤差逆伝播法の言い分になります。式が言っているのは手順であって、哲学ではありません。 続きは 誤差逆伝播法のノート にあります。

記号そのものに固定された意味はない

最後に、記号そのものに固定された意味がないものを置いておきます。これらは著者が変数に付けた名前で、よくある役どころはあっても、深読みするだけ損です。由来を探すより、その式の中で何を指しているかを確認します。

記号読み方慣習的な役どころ覚え方
θ\thetaシータパラメータ全体(重みとバイアスの総称)学習で動かすもの全部の代名詞
δ\deltaデルタ途中まで計算した誤差の取り分逆伝播の主役だが、名前は仮のもの
η\etaイータ学習率(1回でどれだけ動かすか)アクセルの踏み込み量
ε\varepsilonイプシロンごく小さい数「ほんのちょっと」専用の文字
λ\lambdaラムダ正則化の強さなど、効きを決めるつまみブレーキの効き
LL / L\mathcal{L}エル損失(正解からのズレの大きさ)Loss の L

理解の仕方は共通です。 「θ\theta とは何か」で詰まる必要はなく、その式の中で何と呼ばれているかを見れば足ります。名前は文脈ごとに変わりますが、記号の読み方は変わりません。

想起チェック

a に太字と細字があるのはなぜか

書体で種類を区別しているためです。細字 aa は数ひとつ(スカラー)、太字 a\mathbf{a} は数が並んだベクトル、大文字 WW は行列。太いほど中身が多いと覚えます。

太字の a の肩に乗っている (l) は何か

ll 層目、という番号です。べき乗ではありません。カッコが付いていたら番号。

記号を書かずに並べる掛け算と、⊙ の違いは

並置は行列積で、他の要素と混ぜ合わせます(順序を変えると結果が変わる)。⊙\odot は要素ごとの積で、同じ位置どうしを掛けるだけ・形も変わりません。混ざるか、その場に留まるかの違いです。

分数の形をした ∂L/∂W を、声に出して言うと

「ラウンド エル・ラウンド ダブリュー」。意味は「W を少し動かすと、損失 L がどれだけ動くか」。下が原因、上が結果です。

逆伝播の式に転置の記号が出てくるのはなぜか

行き(入力→出力)で使った重みの表を、帰り(出力→入力)に読み直しているためです。名簿の縦横を組み替えているだけで、新しい情報は増えていません。