「Graph Game」はニューラルネットワークの構造をグラフで作成するゲームです。AI技術の発展と共に頻繁に目にするようになった「ニューラルネットワーク」をどの程度理解しているか試せるゲームとのことなので、実際にプレイしてみました。

Graph Game - By Sabrina Ramonov

https://graphgame.sabrina.dev/

サイトにアクセスするとこんな感じ。「RNN」「LSTM Cell」「GRU Cell」「ResNet Block」「Deep RNN」という5つのステージが用意されています。まずは「RNN」をクリックしてみます。



「x_t」「h_t」「y_t」という3つの箱が出現しました。それぞれの箱はデータを表しており、上が出力で下が入力となっています。「x_t」の上の○をクリックし、ドラッグして「h_t」の下に接続します。



緑の線で接続が表示されました。なお「x_t」「h_t」「y_t」がそれぞれ何なのかは全く説明がありませんが、こうした構造図で一般的な文字の使い方からすると「x_t」が入力、「h_t」が隠れ層、「y_t」が出力のはず。



「x_t」から「y_t」に向かって接続してみると、今度は赤い線で接続されました。これは接続が間違っているという意味で、画面上部では「1 extra edges」(余分な接続が1つあります)と表示されます。赤線の接続を再度クリックすると接続を解除することができました。



「h_t」から「y_t」へと接続し、これでクリア……かと思いきや、「1 edges remaining」(接続が1つ不足しています)と表示されました。



「そういえばRNNなのに『h_[t-1]』が無いな……?」と思いましたが、よく考えると「h_t」の出力を入力につなげば表現できるのでした。正しく全ての接続を行うと「Level solved!」と表示されます。「Back to network selection」をクリックしてトップページに戻ります。



続いて「LSTM Cell」をクリック。



いきなりパーツの数が14個、接続の数は19個と難易度が急上昇しています。パーツが多いため、画面外で見落としてしまわないよう右下にパーツの配置の全体像を示したミニマップが表示されていました。



「確か前の隠れ状態『h_[t-1]』と入力『x_t』が全てのゲートに絡んでいたはず……」とまずはゲートの入力を完成。



接続を何度も間違えながら他の部分もなんとか完成させました。



論文や解説を読んでいる時はすぐに理解したつもりになってしまいがちですが、実際に接続を自分でやってみることであいまいな部分をあぶり出すことができ、ニューラルネットワークの理解をより深めることができます。今回プレイしたステージの他にも3つのステージがあるので興味がある人はチャレンジしてみて下さい。