2015年10月9日金曜日

Define-by-RunとDefine-and-Run

Neural Networkの設計思想を表す用語のようだ。

The "Design-by-Run" scheme is also an important design decision to neuron that has both pros and cons. Most existing neural network library today follows "Design-and-Run" scheme or a declarative approach that first compile a pre-determined network structure and then train against a dataset. In such way, one can pre-allocate any necessary cache space to ensure that there are minimal memory reallocations in training, thus minimize the memory footprint whenever possible and have substantially optimized performance. Meanwhile, such a declarative approach also makes the underlying neural network static during the lifetime of training. The "Design-by-Run" scheme instead treats the neural networks morphologically, i.e. they are composed and (can) deform on-the-fly. At a cost, it will ask for onsite memory allocation whenever needed
簡単に日本語でまとめると

Neural Networkの設計にはDesign-and-RunとDesign-by-Runという二つの設計思想がある。


Design-and-run


  • 今日の一般的なスキーマで宣言的なアプローチに分類される
  • 宣言的なアプローチとは事前に決定されたネットワーク構造を利用し、トレーニングを行うもの。
  • キャッシュスペースが事前に割り当てられるので、メモリの使用を最小化し、性能を最適化することができる。しかしトレーニングの間にネットワーク構造を変更できないという欠点がある。


Design-by-run


  • ニューラルネットワークを形態学的に(morphologically)扱うことができる。
  • ネットワークの構造変更が容易にできるが、メモリの割り当てなどは最適化できない。




https://github.com/bobye/neuron/wiki/Basics#design-rationale


0 件のコメント:

コメントを投稿