l data 属性に保存される l 多くの Function は配列の最初の軸をミニバッチとして 使うので注意 l 下の x は、20 次元ベクトルが 10 個⼊ったミニバッチとみなす l 現状、Chainer は多くの場所で float32 配列を要求する ので注意 17 x = Variable(np.zeros((10, 20), dtype=np.float32)) x.data
に定義されている l 実装されている最適化⼿法:SGD, MomentumSGD, AdaGrad, RMSprop, RMSpropGraves, AdaDelta, Adam l 最適化対象をsetup メソッドに渡す l 正則化はhook関数として登録する optimizer = optimizers.SGD() optimizer.setup(model) optimizer.add_hook(optimizer.WeightDecay()) 22
関数を定義する 4. データセットを読み込み、訓練⽤と評価⽤にわける 5. 訓練ループを回す a. 勾配をゼロ初期化 b. 順伝搬して、得られたロス値の backward メソッドを呼ぶ c. Optimizerを、update 6. 適当な頻度で評価ループを回す a. テストデータで順伝搬関数を呼んで結果を記録 24 次のバージョンで訓練ループは抽象化されます