2 はじめに

第2章では、「ゼロから作るDeep Learning」で導入されるさまざまなレイヤをIvoryライブラリ上に実装していきます。

レイヤを実装するうえで、入力/レイヤパラメータ/出力の形状確認、および数値微分による勾配確認が有効です。このうち、勾配確認は最終レイヤである損失レイヤが実装されている必要があるので、損失関数を優先して実装します。

レイヤの実装のポイントを示します。

  • forwardメソッドでself.x.dおよび重みパラメータから出力データを計算し、self.y.dに代入すること。
  • backwardメソッドでself.y.gから入力および重みの勾配を計算し、self.x.g等に代入すること。
  • 後から必要となる中間データは、インスタンス属性として保持しておくこと。

また、Ivoryライブラリでは時系列を扱う場合も同じクラスで包含します。