Alexnetを用いた転移学習について

2 views (last 30 days)
Taiki Murakawa
Taiki Murakawa on 11 Jan 2019
Commented: Kazuya on 16 Jan 2019
現在、Alexnetを用いた転移学習により50*50pixelの画像を分類しています。
しかし、プログラムを実行すると以下のようなエラーが発生します。
エラー: trainNetwork (line 154)
無効なネットワーク。
原因:
Layer 'pool5': Input size mismatch. Size of input to this layer is different from the expected input size.
この層の入力:
from layer 'relu5' (1×1×256 出力)
おそらくLayerの設定ミスで読み込む画像サイズが間違っていると思います。このエラーを改善するにはLayerをどのように修正すればいいでしょうか。

Accepted Answer

Kazuya
Kazuya on 11 Jan 2019
どんな変更を加えたかがわからないと、「設定ミス」だろう以上のことはわかりませんが、Network Analyzer アプリ使ってみてはどうでしょう?(要:R2018b 以降のバージョン)

More Answers (1)

Taiki Murakawa
Taiki Murakawa on 15 Jan 2019
回答ありがとうございます。
変更後のLayerは次のようになっています。
layers =
次の層をもつ 25x1 の Layer 配列:
1 '' イメージの入力 'zerocenter' 正規化の 50x50x3 イメージ
2 'conv1' たたみ込み ストライド [4 4] およびパディング [0 0 0 0] の 96 11x11x3 たたみ込み
3 'relu1' ReLU ReLU
4 'norm1' クロス チャネル正規化 要素ごとに 5 チャネルを使用したクロス チャネル正規化
5 'pool1' 最大プーリング ストライド [2 2] およびパディング [0 0 0 0] の 3x3 最大プーリング
6 'conv2' たたみ込み ストライド [1 1] およびパディング [2 2 2 2] の 256 5x5x48 たたみ込み
7 'relu2' ReLU ReLU
8 'norm2' クロス チャネル正規化 要素ごとに 5 チャネルを使用したクロス チャネル正規化
9 'pool2' 最大プーリング ストライド [2 2] およびパディング [0 0 0 0] の 3x3 最大プーリング
10 'conv3' たたみ込み ストライド [1 1] およびパディング [1 1 1 1] の 384 3x3x256 たたみ込み
11 'relu3' ReLU ReLU
12 'conv4' たたみ込み ストライド [1 1] およびパディング [1 1 1 1] の 384 3x3x192 たたみ込み
13 'relu4' ReLU ReLU
14 'conv5' たたみ込み ストライド [1 1] およびパディング [1 1 1 1] の 256 3x3x192 たたみ込み
15 'relu5' ReLU ReLU
16 'pool5' 最大プーリング ストライド [2 2] およびパディング [0 0 0 0] の 3x3 最大プーリング
17 '' 全結合 256 全結合層
18 'relu6' ReLU ReLU
19 'drop6' ドロップアウト 50% ドロップアウト
20 '' 全結合 256 全結合層
21 'relu7' ReLU ReLU
22 'drop7' ドロップアウト 50% ドロップアウト
23 '' 全結合 4 全結合層
24 'prob' ソフトマックス ソフトマックス
25 '' 分類出力 crossentropyex
変更点としては1のイメージ入力サイズと17,20の結合層と4クラス分類したいので23を変更しました。
  1 Comment
Kazuya
Kazuya on 16 Jan 2019
私の知る例では、転移学習では学習済みのネットワークを使用する場合には入力層はそのまま:
の例のように、学習画像を Alexnet に合わせて 227x227x3 に拡大して処理させてみてはどうでしょう?
もちろん、事前に画像を保存しなおす必要はなく、
augimdsTrain = augmentedImageDatastore(inputSize(1:2),imdsTrain, ...
'DataAugmentation',imageAugmenter);
の部分で inputSize(1:2) で指定するだけでOKです。画像の拡大は関数内部で実施されます。

Sign in to comment.

Categories

Find more on イメージを使用した深層学習 in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!