ResNet

この記事では、Azure Machine Learning デザイナーの ResNet コンポーネントを使用して、ResNet アルゴリズムを用いてイメージ分類モデルを作成する方法について説明します。

この分類アルゴリズムは、教師あり学習手法であり、ラベル付きデータセットが必要です。

Note

このコンポーネントは、スタジオの [データのラベル付け] から生成されたラベル付きデータセットはサポートしておらず、[Convert to Image Directory]\(イメージ ディレクトリへの変換\) コンポーネントから生成されたラベル付きイメージ ディレクトリのみサポートしています。

モデルをトレーニングするには、PyTorch モデルのトレーニング 入力として、モデルとラベル付けされたイメージ ディレクトリを指定します。 その後、トレーニングされたモデルを使用して、Score Image Model を使用した新しい入力例の値を予測することができます。

ResNet の詳細

ResNet の詳細については、こちらの資料を参照してください。

ResNet を構成する方法

  1. デザイナーで、ResNet コンポーネントをパイプラインに追加します。

  2. Model name には、特定の ResNet 構造体の名前を指定します。サポートされている次の resnet から選択できます: 'resnet18'、'resnet34'、'resnet50'、'resnet101'、'resnet152'、'resnet152'、'resnext50_32x4d'、'resnext101_32x8d'、'wide_resnet50_2'、'wide_resnet101_2'。

  3. Pretrained (事前トレーニング済み) には、ImageNet で事前トレーニングされているモデルを使用するかどうかを指定します。 選択した場合は、選択した事前トレーニング済みモデルに基づいてモデルを微調整できます。選択を解除した場合は、ゼロからトレーニングできます。

  4. [Zero init residual]\(残余のゼロ初期化\) には、残余ブランチごとに、最後のバッチ正規化レイヤーをゼロ初期化するかどうかを指定します。 選択した場合、残余ブランチはゼロで始まり、それぞれの残余ブロックは識別子のように動作します。 このことは、 https://arxiv.org/abs/1706.02677 によると、大きなバッチ サイズでの収束に役立ちます。

  5. ResNet コンポーネント、トレーニングおよび検証イメージ データセット コンポーネントの出力を、Train PyTorch モデルに接続します。

  6. パイプラインを送信します。

結果

パイプラインの実行が完了した後、モデルをスコア付けに使用するには、PyTorch モデルのトレーニング画像モデルのスコア付けに接続し、新しい入力例の値を予測します。

テクニカル ノート

コンポーネントのパラメーター

名前 Range Type Default 説明
モデル名 Any モード resnext101_32x8d 特定の ResNet 構造体の名前
Pretrained Any Boolean True ImageNet で事前トレーニング済みモデルを使用するかどうか
Zero init residual (残余のゼロ初期化) Any Boolean False 残余ブランチごとに、最後のバッチ正規化レイヤーをゼロ初期化するかどうか

出力

名前 種類 説明
未トレーニング モデル UntrainedModelDirectory PyTorch モデルのトレーニングに接続できるトレーニングされていない ResNet モデル。

次のステップ

Azure Machine Learning で使用できる一連のコンポーネントを参照してください。