ホーム » VGG

VGG」カテゴリーアーカイブ

TensorFlow VGG-16 フィルタの可視化

TensorFlow VGG-16 フィルタの可視化

先に VGG-16 の特徴マップの可視化を行ないました (TensorFlow VGG-16 の特徴マップの可視化) ので、今回は同じモデルのフィルタを可視化してみます。モデルは ImageNet 画像を利用して自前でトレーニングしています。

VGG のフィルタサイズは全て 3×3 ですのであまり面白みはないのですが、念のため確認しておきましょう。VGG モデルは University of Oxford の VGG チームが提出した、層の深さを追求したモデルの通称ですが、VGG については TensorFlow で ConvNet VGG モデルを実装 を参照してください。

フィルタの視覚化

【Conv1_1 層のフィルタ】

チャネル毎にグレースケール化 :

【Conv1_2 層のフィルタ例】

【Conv2_1 層のフィルタ例】

【Conv2_1 層のフィルタ例】

【Conv3_1 層のフィルタ例】

【Conv3_2 層のフィルタ例】

【Conv3_3 層のフィルタ例】

【Conv4_1 層のフィルタ例】

【Conv4_2 層のフィルタ例】

【Conv4_3 層のフィルタ例】

【Conv5_1 層のフィルタ例】

【Conv5_2 層のフィルタ例】

【Conv5_3 層のフィルタ例】

 

以上

TensorFlow VGG-16 の特徴マップの可視化 (2)

TensorFlow VGG-16 の特徴マップの可視化 (2)

TensorFlow VGG-16 の特徴マップの可視化 の続きで、VGG-16 の特徴マップの別例です。

VGG-16 TensorFlow 実装の特徴マップ

以下は、入力前のサンプル画像です。例によってクラスキャットのマスコット猫です。
左が元画像、右が正規化後の画像を 3 チャネルで分解してグレースケール表示したものです :


【Conv1_1】

【Conv1_2】

【MaxPool1】

【Conv2_1】

【Conv2_2】

【MaxPool2】

【Conv3_1】

【Conv3_2】

【Conv3_3】

【MaxPool3】

【Conv4_1】

【Conv4_2】

【Conv4_3】

【MaxPool4】

【Conv5_1】

【Conv5_2】

【Conv5_3】

【MaxPool5】

 

以上

TensorFlow VGG-16 の特徴マップの可視化

TensorFlow VGG-16 の特徴マップの可視化

単純な ConvNet モデルで AlexNet モデルで MNIST / CIFAR-10 の特徴マップやフィルタを TensorFlow で実装して可視化した後、トレーニング済みの GoogLeNet Inception-v3 モデルを使用して特徴マップを可視化してみました。

今回は VGG-16 モデルを ImageNet 画像を使って自分でトレーニングした上で特徴マップを可視化してみました。VGG モデルは University of Oxford の VGG チームが提出した、層の深さを追求したモデルの通称ですが、VGG については TensorFlow で ConvNet VGG モデルを実装 を参照してください。

比較のために GoogLeNet Inception-v3 モデルの時と同じサンプルを使いました。
また、VGG-16 は積層がわかりやすいので、全部の層について特徴マップを示します。
特徴出力マップは適宜、明るさと輝度を調整してます。

VGG-16 TensorFlow 実装の特徴マップ

以下は、入力前のサンプル画像です。
左が元画像、右が正規化後の画像を 3 チャネルで分解してグレースケール表示したものです :


* この元画像は ImageNet からピックアップしています。版権は所有者に帰属します。

【Conv1_1】

【Conv1_2】

【MaxPool 1】112 x 112 サイズになります。

【Conv2_1】

【Conv2_2】

【MaxPool2】56 x 56 サイズになります。

【Conv3_1】

【Conv3_2】

【Conv3_3】

【MaxPool3】28 x 28 サイズになります。

【Conv4_1】

【Conv4_2】

【Conv4_3】

【MaxPool4】14 x 14 サイズになります。

【Conv5_1】

【Conv5_2】

【Conv5_3】

【MaxPool5】 7 x 7 サイズになります。

 

ページが長くなったので、別例は別ページ TensorFlow VGG-16 の特徴マップの可視化 (2) へ。

 

以上

TensorFlow で ConvNet VGG モデルを実装

TensorFlow で ConvNet VGG モデルを実装

深い層の CNN については既に TensorFlow で AlexNet を実装 して University of Oxford: 17 カテゴリー Flower データセット及び ImageNet から5つの flowers synsets – daisy, dandelion, roses, sunflowers, tulips – を題材に試していますが、今回は AlexNet の発展形とも言える VGG モデルを実装してみました。

VGG モデル

VGG モデルは University of Oxford の VGG チームが提出した、層の深さを追求したモデルの通称で ILSVRC-2014 (ImageNet Large Scale Visual Recognition Challenge) において優秀な成績をおさめています。
分類問題では GoogLeNet についで2位の好成績です :
imagenet_challenge2014b

 
テクニカルレポートは以下を参照してください :

Very Deep Convolutional Networks for Large-Scale Visual Recognition
Karen Simonyan & Andrew Zisserman

VGG モデルは AlexNet を自然な形で発展させたもので、元々は Caffe で実装され 16 層のものと 19 層のものがあります。19 層の内訳は 3 convolutional layers * 5 + 4 FC です。

元祖のモデルをそのまま使うのも面白くないので、各種バリエーションを参考にして少し層を追加したモデルで試してみました。総計は 21 層になり、層数が多いので TensorBoard のグラフ画像を見やすく分解したものが以下になります(画像はいずれもクリックして拡大できます)。最左下が入力で以後、下から上、左から右へと続きます。最右上が Softmax です :

vgg_graph_components2

vgg_graph_overall2-h1280
モデルを簡単に書けば以下のような感じで、右画像は整形していない TensorBoard のグラフ・ネットワーク出力です(TensorBoard の出力では bottom/top がそれぞれ input/output です) :

CONV
CONV
POOL
CONV
CONV
POOL
CONV
CONV
CONV
POOL
CONV
CONV
CONV
POOL
CONV
CONV
CONV
POOL
FC
(DROPOUT)
FC
(DROPOUT)
SOFTMAX

TensorFlow VGG & University of Oxford: 17 Category Flower Dataset

題材は今回も University of Oxford が提供しているデータセットを使用しました。というか、VGG モデルは元々この題材のために設計されたはずです。Dataset の詳細は 17 Category Flower Dataset を参照してください。

結果ですが、トレーニング自体は上手くいきました。以下の画像は損失グラフで 0 に漸近しています :
vgg_train_loss2

 
そして精度。もう少しトレーニングして学習率が小さくなれば更に良い精度になりそうです :
vgg_train_acc2

 
しかし検証精度は 60 % 前後で収束しています。
過学習という感じでもなく、題材は必ずしも易しくはないですが 70 % は欲しいところです :
vgg_valid_acc2

AdaGrad を使いましたが、他のオプティマイザーでも結果は変わらない気がします。本来のモデルは題材に適合しているはずですので、モデルを少し変形したのが良くなかったかもしれません。いずれ元祖モデルで試してみたいと思います。

 

以上

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com