Flux: The Julia Machine Learning Library #1

—————————
Fluxについての学習 #その1
—————————
Model-Building Basics

<微分Gradients>

tracked 追跡済?

複数のパラメータでは、

この意味は、W=2で、x=3, b=4のとき、W, b, xで微分したときの値。
もっとパラメータが増えてきたときの対策として、

Simple Models
単純な直線回帰モデル

\begin{eqnarray}\begin{pmatrix} y_{1} & y_{2}\end{pmatrix} =\end{eqnarray}

\begin{eqnarray}\begin{pmatrix} 0.438872 & 0.46899 & 0.317547 & 0.576811 & 0.0981931 \\ 0.907715 & 0.0509864 & 0.673098 & 0.304938 & 0.560767\end{pmatrix}\begin{pmatrix} x_{1} \\ x_{2} \\ x_{3} \\ x_{4} \\ x_{5}\end{pmatrix} +\begin{pmatrix} 0.8503088744469345 & 0.9632808669284363\end{pmatrix}\end{eqnarray}

\begin{eqnarray}\begin{pmatrix} 0.7969464514327647 & 0.4078909566193709\end{pmatrix} \simeq\end{eqnarray}

\begin{eqnarray}\begin{pmatrix} 1.229164208216012 & 0.9055113102647928\end{pmatrix} =\end{eqnarray}

\begin{eqnarray}\begin{pmatrix} 0.27722 & 0.336663 & 0.0655918 & 0.0827582 & 0.542239 \\ 0.513303 & 0.950337 & 0.44962 & 0.457457 & -0.0839325\end{pmatrix}\begin{pmatrix} 0.4900917806716063 \\ 0.049676987051323396 \\ 0.7784717370467997 \\ 0.6835206026694831 \\ 0.596004491003387\end{pmatrix} +\begin{pmatrix} 0.6457711830670906 & -0.00593757198919162\end{pmatrix}\end{eqnarray}

Building Layers

\begin{eqnarray}\begin{pmatrix} y_{1} & y_{2} & y_{3}\end{pmatrix} =\end{eqnarray}

\begin{eqnarray}\begin{pmatrix} 0.773465 & 0.714468 & 0.568461 & 0.982047 & 0.0679719 \\ 0.865974 & 0.233583 & 0.455581 & 0.225429 & 0.967652 \\ 0.0708245 & 0.665327 & 0.263582 & 0.522675 & 0.95801 \end{pmatrix}\begin{pmatrix} x_{1} \\ x_{2} \\ x_{3} \\ x_{4} \\ x_{5}\end{pmatrix} +\begin{pmatrix} 0.7294227441407048 & 0.41228416005560464 & 0.788171998794877 \end{pmatrix}\end{eqnarray}

次には、2層のモデルにトライ:

この2層モデルをさらに関数モデルを用いて、一般化:

アフィン層affine layer:全結合層の考えで整理すれば:

Flux.Dense ? Type.
Dense(in::Integer, out::Integer, σ = identity)
Creates a traditional Dense layer with parameters W and b.

ここで、Chain()は連鎖反応を実行関数: