2020/05/06 19:05 更新
微分の工学的応用
488 いいね ブックマーク
目次

前提知識

微分を習い始めて、「何で俺がこんな事勉強しなきゃいけないんだよ」って思ってる高校生・高専生を対象とします。電気系の友達に聞かれたので、工学への応用を話そうかなって思ってます。積分は別記事で書こうかなと思っています。収束云々の細かい話は無視します。

微分とは

微分とは、関数のそれぞれの点における傾きを計算することだと習ったと思います。傾きとは単位量あたりにどれくらい変化するかを意味しており、これを用いて様々な現象を数式で記述することが出来ます。傾きを計算する意味を考えてから、それを実際にどのようにハード的にソフト的に応用できるのかを説明します。

1次近似

時間$t$に対する一変数関数$f(t)$を思い浮かべてください。傾きを計算して何が楽しいことはあるでしょうか?
関数のある一点$t_0$を拡大してみます。するとどうでしょう、直線に近づいていくのではないでしょうか?微分可能な関数は、任意の点の周りで直線で近似することが出来ます。その直線は微分によって計算することができて、以下の右辺で表されます。

$$f(t)\approx f(t_0)+f'(t_0)(t-t_0)$$

このように、微分可能な関数のある点の近くでは、微分により定義される直線(1次関数)で近似される事がわかります。

テイラー展開

場合によっては一次関数による近似では単純すぎるかもしれません。実は二次関数を使うとさらに精度が高く近似できます。それも一次近似と同様に、二階微分によって計算することが出来て、

$$f(t)\approx f(t_0)+f'(t_0)(t-t_0)+\frac{1}{2}f''(t_0)(t-t_0)^2$$

となります。実はより高次の関数を使うことで、近似ではなく、等式を作ることが出来ます。これは、テイラー展開と呼ばれ、以下の式で表されます。

$$\begin{aligned} f(t)&\approx f(t_0)+f'(t_0)(t-t_0)+\frac{1}{2}f''(t_0)(t-t_0)^2+... \\ &=\sum^\infty_{n=0} \frac{f^{(n)}(t_0)}{n!}(t-t_0)^n \end{aligned}$$

この場合は、$n$階微分をすべて使います。よく考えると、面白くて、一点$t_0$における$n$階微分の値だけで、すべての$t$に対して、$f(t)$が定まるのです!

このように、ある点における微分および高階微分の値には関数を再現するための完全な情報が含まれており、必要な精度に応じて次数を削ることで、求める精度の近似関数を求める事が可能です。
例えば、物理学において複雑な位置ポテンシャルを考える場合は、1次や2次までを考えて計算する場合が多々あります。

ハードウェア的な応用

多くの物理法則が微分方程式で記述されているため、困った時はこれらの微分方程式に戻って、一から考え直すことが出来ます。この微分方程式を理解するために、微分は必須です。

ニュートン力学

中学の授業で$F=ma$という方程式を習ったと思います。物体の自由落下のように、加速度$a$が一定ならば、微分は必要なかったかもしれません。しかし、単振動のように複雑に位置$x(t)$が変化する運動はどうでしょう?
このような場合にも加速度や速度を定義出来るのが、微分の大きな恩恵です。ニュートン力学では、位置にたいして速度と加速度が以下のように定義されます。

$$\def\d#1{\,\mathrm{d}#1} \begin{cases} v=\dfrac{\d x}{\d t} \\ \\ a=\dfrac{\d v}{\d t}=\dfrac{\d ^2x}{\d t^2} \end{cases}$$

すると、複雑な運動に対しても、ニュートンの法則$F=ma$を適用する事が可能です。丁寧に書き直すと、

$$\def\d#1{\,\mathrm{d}#1} F=m\dfrac{\d ^2x}{\d t^2}$$

となります。このように、微分により記述された方程式を微分方程式と呼び、原理的にはこれを解く事で、ニュートン力学の範囲内の全ての現象が解き明かされます。

回路学・電磁気学

電気回路の授業を受けたならば、キルヒホッフの法則を習ったと思います。これが発見されたのは、1845年です。同じ頃に、ガウスの法則、アンペールの法則(右ねじの法則)、ファラデーの法則(電磁誘導の法則)が次々と発見されました。そしてこれらの結果は、1864年にジェームズ・クラーク・マクスウェルによって4つの微分方程式にまとめられました。

$$\begin{cases} \nabla \cdot D &= \rho\\ \nabla \times E + \dfrac{\partial B}{\partial t} & = 0\\ \nabla \cdot B & = 0 \\ \nabla \times H - \dfrac{\partial D}{\partial t} & = j\\ \end{cases}$$

ニュートン力学と同様に、原理的にはこれを解く事で、電磁気学の範囲内の全ての現象が解き明かされます。例えば、キルヒホッフの法則はマクスウェル方程式から容易に導出することが出来ます。

波動

電磁波(光やX線など)、音、楽器の弦、これらは、数学的にはいずれも同じ波動方程式に従っているため、多くの類似した現象が見られます。この波動方程式は以下の共通した微分方程式で記述されます。

$$\def\d#1{\,\mathrm{d}#1} \frac{1}{c^2}\dfrac{\d ^2u}{\d t^2}=\dfrac{\d ^2u}{\d x^2} $$

ソフトウェア的な応用

次に、物理学を離れて、少し抽象的な話をします。ソフトウェアにおいては、実験的な証拠ではなく、数学的な証明が重要になります。アルゴリズムの数学的な担保を理解するために、微分が必須です。

連続最適化問題

関数を最大あるいは最小化するパラメータを決定する問題を最適化問題といいます。とくに、連続関数の最適化問題で、その関数が微分可能である場合、様々な解法があります。
例えば、$y=ax^2+bx+c\space(a>0)$を最小化するような$x$を考えます。微分を学ぶ以前であれば、平方完成して最小値を求めました。

$$y=a\left(x+\frac{b}{2a}\right)^2-\frac{b^2}{4a}+c$$

を最小化する変数は、$x=-\dfrac{b}{2a}$です。
同じ問題を微分を用いて解きます。その場合、

$$\def\d#1{\,\mathrm{d}#1} \frac{\d y}{\d x}=2ax+b=0$$

を解くことになります。よって、先ほどと同じように、$x=-\dfrac{b}{2a}$である事が分かります。この手法は、二次方程式以外にも有効かつ統一的な解法です。

人工知能や機械学習と呼ばれるような、ベイズ推定やDeep Learningも、問題に応じて目的関数や損失関数と呼ばれる関数を定義して、目的関数を最小化するパラメータを決定する最適化問題に帰着します。多くの場合、二次方程式のように簡単には求まりませんが、関数を二次近似して解を探索するニュートン法、それを工夫した準ニュートン法や信頼領域法など多くの手法が提案されています。Deep Learningでは、AdamやAdagradなど経験的に有用であるとされている最適化手法を用いていますが、それらも微分の情報を用いています。逆誤差伝搬法は数学では合成関数の微分法(chain rule)と呼ばれる性質を利用しています。

フーリエ変換・信号処理

積分の記事で話そうかなと思います。

証明の道具としての応用

微分は抽象数学においても、証明の道具として用いられます。例えば情報理論ではこの記事のように証明の過程で微分方程式を導出して、解くことにより、命題を示しています。

最後に

ここで紹介したのは、微分の工学的応用のほんの一部です。
高校生も高専生もコロナで暇な時間に微分を勉強しましょう!!

コメント
2020/05/14 19:35

細かいですが、関数によっては全然近似できない気がします。
例えば、

$$f(x) = \begin{cases} e^{-\frac{1}{x}} &\quad (x> 0) \\ 0 &\quad (x\le 0) \end{cases}$$

みたいな何回でも微分できる関数とかでも、$0$の近傍でいくらテイラー展開で近似しようとしても近似できません。

2020/05/18 21:01

興味深い例ですね。
テイラー展開が通用しない関数って他に近似する手段あったりするんですかね?(´・_・`)