たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

mnet基本思想

ネットワークはネットワーク

ネットワークの本質はネットワーク構造にある。
学習は別物。
同じネットワーク構造に異なる学習 (Backprop+optim vs non-BP手法) を行うことが可能。
そもそも推論だけしたい人には学習周りは不要.
PyTorchそのものがネットワーク構造の記述を強くサポートしてくれるので、それはお任せ

trainは定型化できる

trainは

  1. モデルによる推論 (前向き演算)
  2. 誤差関数を用いた誤差演算
  3. 学習器によるパラメータ更新

と大まかに分けられる。
モデル、誤差関数、学習器と抽象化すればDIできる。
GANはtrainが特殊なので、train_GANで抽象化