序文
コンピュータ ビジョンを初めて使用する場合、さまざまなタスクの区別やネットワーク アーキテクチャの選択について混乱する可能性があるため、関連する基本知識をここにまとめます。このホワイトペーパーでは、次の 2 つの質問に答えようとします。
- 実行すべきさまざまなタスクと研究範囲は何ですか?
- さまざまなタスクにはどのタイプのネットワークを選択する必要がありますか?
分類、検出 (位置特定)、セグメンテーション (意味論とインスタンス)
コンピュータ ビジョンのタスクは 4 つまたは 3 つのカテゴリに分類できますが、この記事では個人的な理解に基づいて 3 つのカテゴリに分類します。タスクの複雑さと難易度: インスタンス セグメンテーション > セマンティック セグメンテーション > オブジェクト検出 > 分類。
まずは、絵からさまざまなタスクの違いやつながりを直観的に感じて理解してみましょう。
分類タスク (分類)
分類タスク:画像を情報の特定のカテゴリに構造化し、所定のカテゴリまたはインスタンス ID を使用して画像を記述します。分類タスクは、二項分類タスクと多分類タスクに分類できます。分類タスクでは、画像全体の内容の説明により注意が払われます。
二値分類タスク: ターゲット クラスはポジティブまたはネガティブの 2 種類のみです。各入力写真にはポジティブなものが含まれており、ネガティブなものは何もありません。出力層は1ニューロン、判定する活性化関数としてsigmod関数、損失関数としてクロスエントロピーを使用します。
多分類タスク: 二値分類タスクとは対照的に、マウス、ネコ、イヌ、オオカミ、トラ、ゾウ、その他のラベルなど、n 種類のターゲット クラスがあります。多分類タスクの出力層には、n 個のカテゴリに対応する n 個のニューロンがあります。ソフトマックス関数は各クラスの確率を与え、クロスエントロピーは損失関数として使用されます。
位置特定と検出タスク (位置特定と検出)
検出タスクは、特定のオブジェクト ターゲットにさらに注意を払い、このターゲットのカテゴリ情報と位置情報を必要とします。物体検出には 2 つの問題が含まれており、1 つは特定のクラスに属する物体が画像内に現れるかどうかを判断することであり、もう 1 つは物体の位置を特定することであり、位置決めは物体の境界ボックスを表すために使用され、通常は次のように表されます。長方形の検出ボックスの座標。
セマンティックセグメンテーション
セマンティック セグメンテーション: 画像をピクセルごとに特定のオブジェクト カテゴリとしてラベル付けする必要がありますが、同じオブジェクトの異なるインスタンスを個別にセグメント化する必要はありません。図 1c に示すように、図には 1 つのボトル、1 つのカップ、および 3 つの立方体がありますが、マークを付ける必要があるのはボトル、カップ、および立方体のみであり、cube1、cube2、および cube3 をマークする必要はありません。
インスタンスのセグメンテーション
インスタンス セグメンテーションは、オブジェクト検出とセマンティック セグメンテーションを組み合わせたものです。(1) オブジェクト検出の長方形の検出フレームと比較して、インスタンス セグメンテーションはオブジェクトの端まで正確にマークできます; (2) セマンティック セグメンテーションと比較して、インスタンス セグメンテーションは、cube1、cube2、cube2 など、同じオブジェクトの異なるインスタンスをマークできます。そしてキューブ3。
ネットワークアーキテクチャの選択
古典的な畳み込みニューラル ネットワークの開発
LeNet-5 (Yann LeCun、1989 年): 最も初期にリリースされた畳み込みニューラル ネットワークの 1 つで、その効果はサポート ベクター マシンに匹敵します。
AlexNet (Alex Krizhevsky、2012): 最初の現代 (21 世紀) の深層畳み込みニューラル ネットワーク。
AlexNet の重要なポイント: (1). ReLU活性化関数を使用して、勾配特性を改善し、トレーニングを高速化します。(2).ランダムな不活性化 (ドロップアウト)が使用されます。(3).データ拡張技術の広範な使用。AlexNet の重要性は、同年の ILSVRC コンテストで 2 位より 10% 高いパフォーマンスで優勝し、畳み込みニューラル ネットワークの利点を人々に認識させたことです。さらに、AlexNet は、畳み込みニューラル ネットワークのトレーニングを高速化するために GPU を使用できることを人々に認識させました。
VGG ( Simonyan & Zisserman、2014 ): VGG ブロックのアイデアを紹介します。
VGG のポイント: (1) 構造がシンプルで、構成は 3×3 コンボリューションと 2×2 コンフルエンスの 2 つだけで、同じモジュールの組み合わせを繰り返しスタックします。畳み込み層では空間のサイズは変化せず、合流層を通過するたびに空間のサイズは半分になります。(2). パラメータの量が多く、ほとんどのパラメータが全結合層に集中しています。ネットワーク名の 16 は、16 個の conv/fc レイヤーがあることを意味します。(3). 適切なネットワーク初期化とバッチ正規化層の使用は、深いネットワークをトレーニングするために重要です。
NiN [ Lin et al., 2013 ]: ネットワークのネットワーク。
GoogLeNet [ Szegedy et al.、2015 ]: 並列接続を持つネットワーク、インセプション ブロック。
GoogLeNet の重要な点は次のとおりです: (1) 複数の分岐が個別に処理され、結果がカスケードされます。(2). 計算量を削減するために、 1×1 畳み込みを使用して次元削減を行います。GoogLeNet は、完全接続層の代わりにグローバル平均コンバージェンスを使用するため、ネットワーク パラメータが大幅に削減されます。
インセプションの名前は、インセプションの「もっと深く行く必要がある」という茎に由来しています。
ResNet [ He et al., 2016a ]: ResNet は、残留接続を使用して、ネットワークが深くなるとトレーニングの難易度が増加する現象を解決することを目的としています。
ResNet の重要なポイントは次のとおりです: (1).短絡接続を使用して、深いネットワークをトレーニングし、モジュールの同じ組み合わせを繰り返しスタックすることを容易にします。(2). ResNet はバッチ正規化を多量に使用します。(3). 非常に深いネットワーク (50 層以上) の場合、ResNet はより効率的なボトルネック構造を使用します。
DenseNet [ Huang et al., 2017 ]: ResNet の論理拡張であり、その目的は勾配消失を回避することでもあります。
さまざまなタスクに応じたネットワーク アーキテクチャの選択
"つづく"