ここでは、RNNがなぜ " Sequence to Sequence " のNeural Network と呼ばれるのかを説明しようと思う。 まず、RNNのグラフを見やすく表現し、以下の議論を分かりやすくするために、グラフの表記を少し変えてみよう。 入力層・隠れ層・出力層の三層からなる単純なネットワークを考えよう(次の図の上)。 これを、TensorFlowのグラフで書けば次のようになる(次の図の中)。ここでは、ニューラル・ネットワークの基本的な計算式 φ( WX + b ) が、明示的に図示されている。 新しい表記は、このグラフの細部を省略したものだ(次の図の下)。 重みのパラメーターの U, V のみを残して、二つのバイアス b も二つの活性化関数 φ も表記上からは消えている。ただ、入力ベクトル x が、パラメーター U の作用を受けて隠れ層のベクトル h を形成し、隠れ層ベクトル h が、パラメーター V の作用を受けて、出力ベクトル o に変換されることは、きちんと表現されている。 こうした表記(ただし、今度は、入力層を下に、出力層を上にしている(次の図の左))を用いると、単純な三層のニューラル・ネットワークを横に並べ、隣り合う隠れ層のノードをフル・コネクトで結んだネットワーク(次の図の右上)は、次の図の右下のように表されることになる。 この図では、パラメーターの U1, U2, U3 も、 V1, V2, V3 も、 W1, W2 も、それぞれ異なっていることに注意しよう。これは、横につなげられたニューラル・ネットワークが、それぞれ異なったパラメーターを持つ、異なったネットワークであることを表している。 ところで、単純なニューラルネットを横につなげたものがRNNではないのだ。 次の図の右の方を見て欲しい。そこには、パラメーターは、 U, V, W の三つしかない。 左の図の U1=U2=U3=U, V1=V2=V3=V, W1=W2=W としたものが、右のグラフである。これが、RNNのグラフになる。 RNNは、同じパラメーターを持つ、同じニューラル・ネットワークを横につなげたものだ。この図では、三つのニューラルネットが横につ