たれぱんのびぼーろく

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

ニューラルネットワークのアーキテクチャとそれぞれが持つ意味

ニューラルネットワークには、パーセプトロンから派生した(とみることが出来る)様々なアーキテクチャが存在する。
アーキテクチャはどのような形をしているのか。その形にはどのような (直感的・理論的) 意味があるのか。

データ構造に (アーキテクチャで) 意味を持たせる

FFNは全部から入力を受け取るので順序に意味はない.
c.f. context

unbounded context
finite context

batch norm

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

内部の共変量シフト(Internal Covariate Shift)と結び付けて理解されてい(た)
How Does Batch Normalization Help Optimization? (No, It Is Not About Internal Covariate Shift)

勾配消失などの学習難があり、その解決を目指して様々なアーキテクチャが提案されてきた。
ただ、最近初期値の大切さと良い設定方法が良く研究され、学習難が小さくなってきてる。
結果、昔導入してスタンダード化されたアーキテクチャが一部無意味になりつつある。

Generative Adversarial Networks

(広義の) 変換タスクを、敵対する2つのネットワークによって達成するもの.

(広義の) 変換タスク??

生成モデルとしてのGAN

x ~ P(X) を実現するような、生成ネットワーク G(Z)を生成する.
タスクとしては、入力zを適切な出力へ変換するタスク.
zが正規分布等のランダム分布にしているので何が出るかはランダムに見えるが、結局のところ z => output の変換タスクに変わりない.

conversion, transformation, conditioningとしてのGAN

Xsource domain => Ytarget domain を達成する変換タスク.
y ~ P(Y)を実現するような、ネットワークG(x)を生成する.
zかxかの違いなので本質的に一緒.
conditioning (条件付け) は生成モデルでもよく行われるが、結局 入力対 (z, c) => outputの変換タスクに変わりない.

conditioningラベルの渡し方

メインのinput (zやimageやaudio) に合わせてCNNなりを設計するが、その時に同時入力としてどうラベルを渡すか.
どうも明示されずに実装ごとに違いがあるみたい、要詳細検討
ACGANではchannel方向のone-hot vecotorで入れている模様 (10 classが(110, 1, 1)の入力から始まっている)
zが1x1なので純粋にchannel方向one-hotにできているが、画像入力の場合はどうするんだろうか. やはり一面1で埋めるのだろうか.

conditional DRAGANでのラベルの与え方 - 緑茶思考ブログ

  • CGAN
  • ACGAN

D(Adv)以外のネットワーク

補助タスク的なものの導入

  • ACGAN: conditioning