- HOME
- 自動微分勉強会
2019年12月10日 09:00
※当記事は2017年7月に執筆・公開されたものです。
※「Numerical Optimizer」は2022年3月28日より「Nuorium Optimizer」に名称変更しております。
先日関西大学の檀先生、M1 の野口さんを交えて、自動微分勉強会が行われました。 弊社数理計画部の田辺隆人部長が「モデリング言語と自動微分」というタイトルで講義を行い、ディスカッションを行いました。
自動微分とは
自動微分とは、関数が四則演算のような基本演算の繰り返しで表現されている場合に,微係数の値を記号操作により求める手法です。Numerical Optimizer に搭載されているモデリング言語 SIMPLE には自動微分機能が入っており、より高速に非線形計画問題を計算することができます。自動微分についてはこちらもご参考ください。
モデリング言語と自動微分
講義の中では、モデリング言語 SIMPLE の成り立ち、その歴史的変遷、および最新の開発状況などが語られました。私が特に興味深かったのが、初期の頃の実装では自動微分がまだ現在ほど高速ではなかったため、計算を始めてから随園別館(*1)でお昼を食べてもまだ計算していた、という話です(1997年頃の話、とのこと)。 随園別館のランチのボリュームをご存知の方は、当時どの程度時間がかかり、どの程度改善されたかが 感じられるかと思います。
(*1) 以前の所在地の近くにある中華料理店。