Chainer Handson メモ@ WIDE研究会 by doiさん from PFN

Posted on December 17, 2016
Tags: neural network, chainer

Chainerは基本的にnumpyで出来れば何でも出来る。

numpyのfloatはdefaultで64bit precisionだが、NNではそんなに必要ないのでChainerは32bit precision。 なので何かと.astype(float32)が必要。

Variable()はデータに色んな機能を持たせるためのラッパー
例えば y = Variable(np.array([1])) y = -x
y.creator でxにNegを掛けたという情報が出て来る

Activation functionは非線形関数で、NNの非線形性を説明する

バッチ処理を期待する関数と期待しない関数が入り混じってるのが罠らしい。やってみないと実感が湧かないわ。

◯◯◯◯◯◯◯◯
たくさんの↓
◯◯◯◯
たくさんの↓
◯◯◯◯
たくさんの↓
◯ みたいな描き方は古い。ちなみに、この古い描き方の非線形関数は↓に含まれる。というわけで、シグモイド関数だと本当は
◯◯◯◯
↓↓↓↓↓↓↓↓↓↓
(シグモイド関数) ↓
◯ みたいな感じ

EmbedIDは、カテゴリーでしかない数字ラベルデータを、直交するvectorに変換する。 32bitのIPv4を4億次元の入力には出来ないから、頭10bitだけ見るなり、現実的な方法を考えないといけない。

ネットワーク監視だと、例えば、100次元のうち2次元の相関崩れ等、人間が目で見れば明らかだろうが全データを見る事が出来ないだろう物をコンピュータの力で見る事が出来る。