はじめに ディープラーニングではエポック毎にミニバッチの学習データをランダムにシャッフルするのが一般的みたいなのでその効果を確かめてみました。 環境 python: 2.7.6 chainer: 1.8.0 学習内容 エポック毎にミニバッチの学習データを固定にした際とランダムにした際の違いを確認します。 学習させるのはchainerでsin関数を学習させてみた際と同じsin関数です。 [training data] input: theta(0~2π, 1000分割) output: sin(theta) 実装 固定 or ランダム ミニバッチの学習データを固定とランダムに切り替えています。固定時(fixed)のコードはテスト時によく用いられる手法と同じです。 perm = np.random.permutation(N) sum_loss = 0 for i in range(0, N,