転移学習入門)今回は引き続きMNISTを使って、転移学習について試してきたいと思います。見ていくプログラムは、下記となります。(https://github.com/fchollet/keras/blob/master/examples/mnist_transfer_cnn.py)転移学習とはCNNで作成したニューラルネットには、様々な特徴を捉える識別器が出来上がっていると言われており、出来上がった識別器を再利用して、学習していない他のものを認識しようという試みです。詳しくは、下記を参照して頂けたらと思います。(http://qiita.com/icoxfog417/items/48cbf087dd22f1f8c6f4)さて、今回のExampleでは、MNISTの数字の0から4までで、CNNのコンボリュージョンフィルタ、プーリング部分の学習をFixさせます。0から4までで数字の肝となる特徴を捉え切ってしまおうとします。Tuningと言います)させて見事判別することができるか見ていきます。データを読み込む+学習させるところです。関数にまとめていますが、ここらあたりは前回までと同様です。mnist.load_data()</Code>次に、0から4までと5から9までで、学習データを分割します。5</Code>ニューラネットの形を決めます。Tuningをするところとしないところを分けるため、二つに分けて記述しています。Tuningに対応となります。モデルの作成では、+演算が使えるんですね。classification_layers)</Code>そして、学習を実行します。0から4までで学習します。num_classes)</Code>転移学習をするため、feature_layersのパラメータを凍結させて、5から9までで再度学習させます。num_classes)</Code>以上で、転移学習を行うことができまして、5から9の識別精度は何と99.2%になります。(私の環境では、98.8%でした。)次回は、いよいよ最終回です。利用してみたいと思います。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。【社員紹介】2020年1月に入社したTさんにインタビューしました。社員紹介(第四回:入社1年4ヶ月後のMさん)社員紹介(第三回:入社7ヶ月後のYさん)【社員紹介】2018年8月に入社したMさんにインタビューしました。