目次
1事前トレーニング済みネットワークの基本的な知識(転移学習)
1.2 Keras組み込みの事前トレーニング済みネットワーク
2クラシックな事前トレーニングネットワークのウェイトシェアリングと使用方法
2.1、事前トレーニング済みの畳み込みベースにカスタムレイヤーを追加する
2.5。フリーズされていない畳み込み層と追加されたカスタム層の合同トレーニング、
1事前トレーニング済みネットワークの基本的な知識(転移学習)
1.1転移学習
事前学習ネットワーク(転移学習とも呼ばれる)は、以前に大規模なデータセットに格納されたセキュリティであり、(大規模な画像分類タスク)畳み込みニューラルネットワークで適切に学習されています
この元のデータセットが十分に大きく、用途が広い場合、事前トレーニング済みネットワークによって学習された特徴の空間階層は、視覚世界の特徴の効果的な抽出として使用できます。
モデル。
新しい問題と新しいタスクが元のタスクと完全に異なる場合でも、学習された機能は異なる問題間で移植可能であり、これもディープラーニングおよびシャローラーニング手法の重要な利点です。小さなデータの問題に対して、ディープラーニングは非常に効果的です。
1.2 Keras組み込みの事前トレーニング済みネットワーク
- Kerasライブラリには
- VGG16、VGG19、
- ResNet50、
- インセプションv3、
- Xceptionなどのクラシックモデルアーキテクチャ。
1.3 ImageNet
ImageNetは手動でラベル付けされた画像データベース(マシンビジョン研究用)です。現在22,000のカテゴリがあります
移行学習ネットワークアーキテクチャのコード実装
1.3.0 VGG16およびVGG19
2014年、VGGモデルのアーキテクチャは、「深い大規模画像認識畳み込みネットワーク」で、SimonyanとZissermanによって提案された(非常に深い畳み込みネットワークスは、大規模画像のための認識)本論文では、VGGは、シンプルかつ効果的なモデル構造を有している説明する前に、いくつかの層は、3×3のコンボリューションカーネルを使用するネットワークの深さを増加させる。それぞれの層のニューロンの数が順次低減されるを通して最大プーリング。最後の三つの層4096個のニューロンを有する2つの完全に接続された層であり、そして一つはソフトマックスレイヤー。
しかし、実際には古くなっており、後で実験で証明しますが、VGGシリーズは以前に学習したものと非常に似ているため、分析する必要があります
1.3.1実装原理
VGG実装の概略図:画像を薄く、狭くするのは間違っています
1.3.2 VGG16とVGG19の比較
1.3.3 VGGには2つの大きな欠点があります
- ネットワークアーキテクチャの重みは非常に大きく、ディスク領域を消費します。
- トレーニングが非常に遅い
2クラシックな事前トレーニングネットワークのウェイトシェアリングと使用方法
調査のこの部分は主にサービスを微調整するためのものです
微調整
いわゆる微調整:モデルライブラリの下部にある畳み込み層を凍結し、新しく追加された分類子層と上部の部分畳み込み層を共同でトレーニングします。これにより、基本モデルの高次の特徴表現を「微調整」して、特定のタスクに関連性を高めることができます。
2.1、事前トレーニング済みの畳み込みベースにカスタムレイヤーを追加する
2.2、畳み込みベースのすべてのレイヤーを凍結
2.3。分類層を追加したトレーニング
2.4。たたみ込みベースの一部を解凍する
2.5。フリーズされていない畳み込み層と追加されたカスタム層の合同トレーニング、
結果分析
3一般的なトレーニングモデル
3.1利用可能なトレーニングモデル
3.2モデル紹介
3.3 Xception
# 就是不要分类器这个顶层
covn_base = keras.applications.xception.Xception(weights='imagenet',
include_top=False,
input_shape=(256,256,3),
pooling='avg')
3.4畳み込み層をフリーズするときのトレーニング
注:
実際、現時点ではポンドは非常に高く、比較を学習するためだけに使用されます(オーバーフィットする場合があります)。
3.5 Xceptionのフリーズ解除の微調整
次に、前のトレーニングを引き続き使用して微調整します