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

17 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.

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!