自動微分:概念実証(PoC/Proof of Concept)

本格導入前の簡易モデルによる検証

自動微分の実装/テスト戦略の設計

多くの企業は、自動微分の本格導入前に、1人か2人程度の「社内」開発者によって概念実証(PoC)を行います。しかし、以下に示す理由等により、このようなPoCが上手く行かない場合が多々あります。

  • 開発者が自動微分に不慣れで、多くのことを素早く、通常は独学で学ばなければならない。
  • 開発者が、実稼働サイズのコードで効率的にメモリ使用を制御する方法を学ばなければならない。(NAGのツールはこれを容易にしますが、効果的に行うには自動微分の概念と基礎となるコードを十分に理解することが必要です)。
  • 多くの場合、PoCを行うための時間が限られている。(開発者は期日までにビジネス上の報告しなければならず、スケジュールは厳しく、何か不具合や問題があるとすぐにスケジュールがずれてしまいかねません。)
  • 開発者が自動微分ツールの使い方を学ぶ必要がある。(多くの場合、自動微分ツールのドキュメントやサンプルプログラムに目を通す時間がありません。)
  • 開発者がPoCの途中で他の緊急のビジネスに引きずられることも多く、後で再開する際に、どこにいたのか思い出す必要がある。
  • 自動微分コードが動作するようになった暁には、開発者は結果を説明する必要がある。例えば、有限差分推定値がゼロでないのに、なぜあるパラメータに関してゼロ微分が存在するか? (これに対する典型的な答えは、基礎となるコードが微分可能でないためです。理想的には、自動微分を適用する前に、この点を最初に発見し、対処することが必要です。)

NAG の 自動微分概念実証サービス(PoC Service)は、上述のような問題に直面したお客様のご要望にお応えして成長してきました。本サービスを一言で言えば、NAG のエキスパートがお客様と共に PoC を行うサービスです。具体的には以下のような事が行われます。

  • お客様の所属組織は、通常1週間、NAGの自動微分開発者の一人を組織内に迎えます。
  • NAGの開発者は、PoC全体をできるだけ早く稼働させるために組織と協働します。
  • コーディングのヘルプと実地トレーニングの組み合わせを行います。質問に答え、落とし穴を指摘し、自動微分のコンセプトを説明し、コードの非差異性を検査し、分析的アドジョイントが望ましい場所を指摘し、一般的にデザイン、実装、テストに関するアドバイスを提供します。
  • これらのサポートにより、PoCはより早く完了させることができ、開発者は、疑問に答える人がすぐ隣にいるため、より早く学ぶことができます。結果として自動微分コードは効率的でメモリ使用量も予測可能となります。

NAGのサポートによる自動微分の概念実証の結果

自動微分を初めて導入する企業にとって、NAG自動微分概念実証サポートサービスは、自動微分がビジネスにとって何を意味するかを迅速に深く掘り下げ、必要な答えを時間内に得ることを確実にする専門家が手元にいるという安心感をもたらしてくれます。 PoCの終了時には、お客様は自信を持って結果をビジネスに報告できるだけでなく、私たちのツールに慣れ親しみ、次のプロジェクトを開始するための参照コードを手にすることができます。

自動微分(Algorithmic Differentiation(また Automatic Differentiation や Computational Differentiation と呼ばれることもある))は、1次や高次の数学微分係数を計算する機能を用いて数値シミュレーションプログラムを向上させるための技術です。従来の数値微分と大きく異なり、自動微分は切り捨てを防ぐことにより、マシンの精度で勾配、ヤコビアンとヘッシアンを算出します。任意の複雑なシミュレーションのなかで個々の指示文の解析微分法を使用して行います。

NAGが自動微分の概念実証で、どのようにお役に立てるかについて、より詳しくお知りになりたい方は、コンサルティングサービス窓口より「お問い合わせ」下さい。

関連情報
MENU
Privacy Policy  /  Trademarks