autograd: native Python および NumPy コード用の自動微分ライブラリ

autograd: native Python および NumPy コード用の自動微分ライブラリ

何を解決するか

Autograd は、数学関数の勾配を計算するプロセスを簡素化し、関数を自力で微分してコード化する必要性をなくします。これは主に、機械学習や科学計算における勾配ベースの最適化に使用されます。

仕組み

NumPy の薄いラッパーを提供することで、native Python および NumPy コードを自動的に微分できるようにします。スカラー値関数を効率的に扱うためのリバースモード微分(バックプロパゲーション)と、高次微分(微分の微分)を計算するために任意に合成可能なフォワードモード微分、の両方をサポートしています。

対象者

勾配ベースの最適化、ニューラルネットワーク、および科学シミュレーションに取り組んでおり、手動での微分なしに Python/NumPy コードの微分を計算したい研究者や開発者。

ハイライト

  • Native Python サポート: ループ、if 文、再帰、およびクロージャを処理します。
  • 高次微分: あらゆる次数の微分を計算する能力。
  • 柔軟なモード: フォワードモードとリバースモードの両方の微分をサポート。
  • 幅広い用途: ニューラルネットワーク(CNNs, RNNs, LSTMs)の構築や、流体シミュレーションを通じたバックプロパゲーションに使用されます。

Sources