« 製造業がRedmine導入で必ず聞く3つの質問~MS Project派がRedmine導入で悩むこと | トップページ | PM理論で読み解く日本人リーダーの弱点 »

2026/05/09

ディープラーニングではなぜ微分が重要なのか?

ディープラーニングではなぜ微分が重要なのか?
とても初歩的なメモ。

【参考】
最短コースでわかる ディープラーニングの数学 | 赤石 雅典

最短コースでわかるディープラーニングの数学 増補改訂版 : 赤石 雅典: 本

【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になるのと同じ。

解析力学、電磁気学、量子力学、特殊相対性理論、一般相対性理論も同様だろう。
基本的なアイデアを理解できれば、後はロジックを付け足して、複雑性を増していくだけ。


|

« 製造業がRedmine導入で必ず聞く3つの質問~MS Project派がRedmine導入で悩むこと | トップページ | PM理論で読み解く日本人リーダーの弱点 »

統計学・機械学習・深層学習」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 製造業がRedmine導入で必ず聞く3つの質問~MS Project派がRedmine導入で悩むこと | トップページ | PM理論で読み解く日本人リーダーの弱点 »