数値微分とは、関数の極限計算を用いず、微小な数値を実際に代入して近似的に勾配を求める手法です。AIの学習において理論的な理解を深めるために利用されますが、計算コストの高さから実際のモデル学習ではあまり使われません。
数値微分とは
一言でいうと、関数にわずかな変化を与えたときの出力の変動から、近似的な傾き(勾配)を計算する手法です。
詳しく解説
数値微分は、微分の定義である極限の概念をコンピュータ上で計算可能な有限の値に置き換えたものです。パラメータを微小量だけ変化させ、その前後の出力値の変化量を差分として計算することで傾きを求めます。機械学習の分野では、損失関数の最小化や最適化アルゴリズムの仕組みを直感的に理解するための基礎として学ばれます。
具体例・使われ方
ディープラーニングの基礎理論の学習や、より高度な最適化手法である誤差逆伝播法の正当性をデバッグ・検証するために用いられます。また、解析的な微分が複雑すぎて直接計算できない特殊な関数の傾きを簡易的に推定する際にも利用されることがあります。
似た用語との違い
解析微分が数式を用いて厳密な導関数を求めるのに対し、数値微分は有限の微小変化を用いた近似値であるという違いがあります。また、ニューラルネットワークの勾配計算で主流となる誤差逆伝播法は、計算グラフを利用して効率的に微分の連鎖律を適用する点において、個別のパラメータを動かす数値微分とは効率や仕組みが大きく異なります。
注意点
パラメータ数が多い深層学習モデルにおいて数値微分をそのまま適用すると、すべてのパラメータに対して関数の評価を何度も行う必要があるため、計算コストが膨大になり現実的な時間で処理が終わらないという限界があります。また、微小変化の値を小さくしすぎると丸め誤差が生じ、大きくしすぎると近似精度が下がるというトレードオフにも注意が必要です。