レイヤーを使った効果を確認しました。ところで、学習データが少ない時に、認識精度を上げる手法はもう1つあります。ある領域で大量のデータを使って学習したモデルを利用して、別の領域で学習をさせることを考えます。その際、低次のレイヤー(エッジや基本形状などを検出)は以前学習した内容を保持し、高次のレイヤー(物体全体の特徴量を検出)のみ学習させることで、少ないデータでも効率的な学習が可能になります。Learning)です。転移学習の実験をやってみて、その効果を確認してみます。学習済みモデルが用意されていて、それを利用して転移学習するのが一般的です。*Keras、Chiner、Tensoleflow、Caffe等には当然有ります。学習済みモデルがありませんので、今回は実験というスタイルになります。*SONYさんの今後の対応に期待です。いうデータセットがあります。このブログで何度も登場しているので、おなじみですよね。CIFAR10は、飛行機~トラックの10クラスの画像で、学習データが各クラス5,000枚づつありますが、結構識別は難しいです。CIFAR100というデータセットです。海洋哺乳類~乗り物の100クラスの画像で、学習データが各クラス500枚づつしかなく、さらに識別が難しいです。CIFAR100を学習する場合とを比較してみたいと思います。一度、飛行機~トラックの画像を学習した経験があれば、未経験の場合よりも、新たな画像を効率的に学習できるという考え方です。後に配備して、それなりに認識精度を強化したものです(笑)。学習済みモデルは、その時にCIFAR10を17時間16分掛けて10エポック学習したものを使います。10エポックの学習結果が学習済みモデルというのは誠に寂しい限りですが、私のGPU無しの環境ではこんなところです。実験ということでご容赦下さい。実験データセットは、学習済みモデルが10分類なので、CIFAR100の100クラスの学習データから10クラスを選んで作成しました。CIFAR10が、乗り物(4種類)や陸の動物(6種類)の画像ですので、新しいものということで海や水辺の動物の画像を選んでみました。各クラス500個の学習データを元に、学習:評価=8:2で振り分けたので、最終的に学習データは、各クラス400個になりました。これで、学習用データ4,000個、評価用データ1,000個の実験データセットが出来ました。実験をしてみますまず、学習無しモデルで、実験データセットを学習してみます。バッチ64、エポック50で学習を開始します。7時間16分で学習完了です。