LoginSignup
3
4

More than 5 years have passed since last update.

Chainerの基本オブジェクトについて〜links編〜

Posted at

Chainerの基本オブジェクトについて書いています.
今回はlinksについてです.

links

linksはfunctionsと似ていて,Variablesを変数に持つ関数を提供します.
違いはというと,functionsは関数にパラメータを持ちませんが,linksはパラメータを持ちます.
具体的に見ていきます.

Linear

例えば,l層が3個のノード,l+1層が4個のノードから構成されているとします.

links.png

これは,l層の出力(l+1層の入力)をyとすると,その写像は

y = wx + b

という線形で表すことができます.

linksはこのように,層から層への写像を提供します.この場合,パラメータはwとbです.

これを(ノード3からノード4の層へ),linksで表現すると,

>>> from chainer import links as L
>>> y = L.Linear(3, 4)

wには適当な値が,bには0が入っています.

linear.png

対してfunctionsは活性化関数や誤差関数などに用いる関数を提供しました.sigmoid関数を見てわかるように,

y =  \frac{ 1 } { 1 + e^{-x} }

パラメータはありません.

ニューラルネットワークにおいて,このパラメータを推定することが鍵となります.

では,次回はそのパラメータ推定のために重要なChainオブジェクトについて書きます.

参考

新納浩幸
Chainerによる実践深層学習~複雑なNNの実装方法~ オーム社

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4