ディープラーニングではなぜ微分が重要なのか?
ディープラーニングではなぜ微分が重要なのか?
とても初歩的なメモ。
【参考】
最短コースでわかる ディープラーニングの数学 | 赤石 雅典
最短コースでわかるディープラーニングの数学 増補改訂版 : 赤石 雅典: 本
【1】ディープラーニングの理論で使う統計の考え方がわかっていなかった。
原因として、ディープラーニングに入る前に、ロジスティック回帰でまずつまずいているのが分かった。
最短コースでわかる ディープラーニングの数学 | 赤石 雅典を読んで、ようやく理解できた。
増補版が出たので、今なら、最短コースでわかるディープラーニングの数学 増補改訂版 : 赤石 雅典を読むといいと思う。
では、ディープラーニングではなぜ微分が重要なのか?
ディープラーニングの基本には、ロジスティック回帰の考え方がある。
ロジスティック回帰を求める時に、損失関数Lの最小値を求める必要があり、そこで合成関数の微分が使われるからだ。
こんなロジックの流れになる。
【2】たくさんのデータを収集した時に、入力値→出力値を予測したい。
まず、単回帰を考える。
回帰直線は、y=ax+b。
一般化して、y=w_0 * 1 + w_1 * x_1 とみなす。
回帰直線を求めるには、最小二乗法を使う。
損失関数Lは、微分して0になる値を求めればいい。
【3】単回帰ができれば、説明変数を増やして重回帰を考える。
一般化して、y=w_0 * 1 + ・・・ +w_n * x_n とみなす。
同様に最小二乗法を使う。
損失関数Lも同様。
【4】次に、2値分類を行いたい。
ロジスティック回帰に当たる。
教師ラベルが振ってある前提で、入力値→出力値では、0か1を出力する。
正しいか、間違っているか。
ここで、回帰の考え方を使いたいが、そのままでは出力値は0 or 1にならない。
そこで、Sigmoid関数を使って、出力値を0~1の範囲に抑える。
出力値は確率とみなせる。
損失関数Lの最小値を求めるのに微分するが、この時に、合成関数の微分を使うわけだ。
【5】さらに、多値分類を求めたい。
ロジスティック回帰に当たる。
入力値→出力値では、0~mを出力する。
どこかのカテゴリに入っている。
ここで、同様に回帰の考え方を使いたいが、そのままでは出力値は0 or 1にならない。
そこで、Softmax関数を使って、出力値を0~1の範囲に抑える。
出力値は確率とみなせる。
損失関数Lの最小値を求めるのに微分するが、この時でも、合成関数の微分を使うわけだ。
【6】ディープラーニングでは、ロジスティック回帰を元に、さらに隠れ層が加わる。
隠れ層の関数では、ReLU関数を使う。
その他は多値分類と同様。
こういう流れがあるわけだよね。
【7】CNN、Attention、Transformerなどはもっと複雑になるが、単純であるがロジックさえ分かれば、後は同じ。
ちょうど、NANDのろじっくさえ分かれば、後は、NANDで複雑な回路を作れば、CPU、さらにはGPUになるのと同じ。
解析力学、電磁気学、量子力学、特殊相対性理論、一般相対性理論も同様だろう。
基本的なアイデアを理解できれば、後はロジックを付け足して、複雑性を増していくだけ。
| 固定リンク
「統計学・機械学習・深層学習」カテゴリの記事
- Unifiedメモリとは何か?(2026.05.24)
- 夢のオンプレLLM環境? NVIDIA DGX Sparkの真実と「Claude Code代替」の壁(2026.05.24)
- ディープラーニングではなぜ微分が重要なのか?(2026.05.09)
- 「資料をそのままAIに食わせたい」を解決するMicrosoft製ツールMarkItDownとは?(2026.04.25)
- なぜ『図解 線形代数: ストラング流直感的理解』は分かりやすいのか?従来の線形代数との決定的な違い(2026.04.25)


コメント