TensorFlow による AlexNet の実装
AlexNet
CNN の具体的な応用例として、TensorFlow で AlexNet を実装してみました。
AlexNet の詳細は ImageNet Classification with Deep Convolutional
Neural Networks を参照してください。
モデルを簡単に書けば以下のような感じで、右画像はTensorBoard のネットワーク出力です(TensorBoard の出力では bottom/top が input/output です) :
題材は2つで、Oxford の 17 Category Flower Dataset と ImageNet ベースの Flowers 5 です。
TensorFlow AlexNet & University of Oxford: 17 Category Flower Dataset
University of Oxford が提供してくれている、古典的な題材です。
Dataset の詳細は 17 Category Flower Dataset を参照してください。
1.0e+3 epochs の訓練で 75 % (*1) 前後の精度を獲得できました。
画像は損失グラフです。
*1) 補足: 再挑戦し、最終的には精度を 87.7 % まで上げられました。(01/28/2017)
TensorFlow AlexNet & ImageNet
それから、(こちらも定番ですが)ImageNet の5つの flowers synsets – daisy, dandelion, roses, sunflowers, tulips – を題材として試してみました。
3.5e+2 epochs 訓練しましたが下左画像の損失グラフを見ると、まだ訓練不足のようです。
下右図が精度で 80 % 程度です。シンプルな CNN モデルだと 75 % くらいだったので、精度はかなりあがっています。
![]() |
![]() |
以上