YOLOシリーズ ターゲット検出アルゴリズム - YOLOR

YOLOシリーズ ターゲット検出アルゴリズムカタログ -記事リンク


この記事の概要は次のとおりです。

  1. 独自の視点で問題を分析する。人間は通常の学習によって物事を理解すること(形式知と呼ばれる)または潜在意識(暗黙知と呼ばれる)で理解することができ、問題を多角的に分析することができるため、モデルにも形式知と暗黙知を一緒にエンコードさせることを検討してください。人々;
  2. さまざまなタスクを完了できる統合ネットワークが提案されています。このネットワークは、形式知と暗黙知を統合することによって一般表現を学習し、この一般表現を通じてさまざまなタスクを完了できます。
  3. 暗黙知学習のプロセスにカーネル空間の調整、予測の改良、マルチタスク学習を導入しました。
  4. ベクトル、ニューラルネットワーク、または行列分解をツールとして使用して暗黙知をモデル化する方法がそれぞれ議論され、同時にその有効性が検証されます。
  5. 提案された暗黙的表現は特定の物理的特徴に正確に対応でき、それを視覚的に表現することもできることが確認されています。
  6. 操作がターゲットの物理的意味に適合する場合、それを使用して形式知と暗黙知を統合し、相乗効果をもたらすことが実証されました。
  7. 最先端の手法と組み合わせることで、この論文で提案する統合ネットワークは、物体検出において Scaled-YOLO4-P7 と同等の精度を達成し、推論速度が 88% 向上しました。

ディープラーニングのナレッジポイントのまとめ

コラムリンク:
https://blog.csdn.net/qq_39707285/article/details/124005405

此专栏主要总结深度学习中的知识点,从各大数据集比赛开始,介绍历年冠军算法;同时总结深度学习中重要的知识点,包括损失函数、优化器、各种经典算法、各种算法的优化策略Bag of Freebies (BoF)等。



YOLOシリーズ ターゲット検出アルゴリズム - YOLOR

2021.5.10 YOLOR: "YOLOR: You Only Learn One Representation: Unified Network for Multiple Tasks" (学習する表現は 1 つだけです: 複数のタスクのための統合ネットワーク)

1 はじめに

  人は視覚、聴覚、触覚、そして過去の経験を通じて世界を「理解」します。人間の経験は、通常の学習(形式知と呼ばれる)または潜在意識(暗黙知と呼ばれます)を通じて学ぶことができます。【暗黙知とは人間の脳の中に存在し、人間が長期にわたる実践の中で蓄積してきた個人の経験と密接に関係した知識であり、言葉で表現しにくく、習得が容易ではない技能であることが多い。形式知は、口頭教育、教科書、参考資料、定期刊行物、特許文書、視聴覚メディア、ソフトウェア、データベースなどを通じて取得できるほか、言語、書籍、テキスト、データベースなどを通じて伝達されることもあります。これらは通常の学習を通じて、あるいは無意識のうちに学習された経験が暗号化されて脳内に保存され、これらの豊かな経験を巨大なデータベースとして利用することで、人間は事前に目にしていなくてもデータを効率的に処理することができます。

  この論文では、人間の脳が通常の学習と潜在意識の学習から知識を学習できるのと同じように、明示的知識と暗黙的知識を一緒にエンコードするための統合ネットワークが提案されています。統合ネットワークは、さまざまなタスクを処理しながら、統合された表現を生成できます。カーネルの空間アライメント、予測の改良、およびマルチタスク学習は、畳み込みニューラル ネットワークで実行できます。

  この結果は、暗黙知をニューラル ネットワークに導入すると、すべてのタスクのパフォーマンスに利益がもたらされることを示しています。提案された統合ネットワークから学習された潜在表現はさらに分析され、さまざまなタスクの物理的意味を捕捉できることが実証されます。

1.1 問題分析

ここに画像の説明を挿入

  上の図に示すように、人間は同じデータをさまざまな角度から分析できます。ただし、トレーニングされた畳み込みニューラル ネットワーク (CNN) モデルは通常、1 つの目的のみを満たすことができます。

  一般に、トレーニングされた CNN から抽出された特徴は、他の種類の問題に適応することが難しいことがよくあります。上記の問題の主な理由は、CNN の豊富な暗黙の知識を使用せずにニューロンから特徴だけを抽出することです。実際の人間の脳が働いているとき、前述の暗黙知は脳がさまざまなタスクを実行するのに効果的に役立ちます。

  暗黙知とは潜在意識の状態で学習される知識を指しますが、暗黙学習の仕組みや暗黙知の獲得方法について体系的な定義はありません。ニューラル ネットワークの一般的な定義では、浅い層から得られる特徴は形式知と呼ばれ、深い層から得られる特徴は暗黙的知識と呼ばれることがよくあります。本稿では、観察に直接対応する知識を形式知と呼ぶ。モデルに暗黙的に存在し、観察とは関係のない知識を暗黙知と呼びます。

  本論文では、暗黙的知識と形式的知識を統合し、学習モデルに一般表現を含ませ、この一般表現によりサブ表現をさまざまなタスクに適したものにする統合ネットワークを提案します。図 2.© は、提案されている統合ネットワーク アーキテクチャを示しています。統合ネットワークを構築する方法は、圧縮センシングとディープ ラーニングを組み合わせることです。
ここに画像の説明を挿入

2. 関連知識

  このペーパーのアルゴリズムの設計を完了するには、いくつかの知識が必要です。知識は主に 3 つの側面に分かれています。

  • 明示的深層学習: 入力データに基づいて特徴を自動的に調整または選択できるいくつかのメソッドをカバーします。
  • 暗黙的な深層学習: 暗黙的な深層知識学習と暗黙的な微分導関数をカバーします。
  • 知識モデリング: 形式知と暗黙知を統合するために使用できるいくつかのアプローチをリストします。

2.1 明示的深層学習

  明示的深層学習は次の方法で実行できます。

  • Transformer は、主にクエリ、キー、または値を使用してセルフアテンションを取得する方法です。
  • 非ローカル ネットワークは注意を得るもう 1 つの方法であり、主に時間と空間のペアの注意を抽出します。
  • もう 1 つの一般的な明示的深層学習方法は、入力データを通じて適切なカーネルを自動的に選択することです。

2.2 暗黙的深層学習

  暗黙的深層学習のカテゴリーに属する手法は、主に暗黙的ニューラル表現とディープバランスモデルであり、前者は主に離散入力のパラメータ化された連続マッピング表現を取得してさまざまなタスクを実行するのに対し、後者は主に暗黙的学習を残差に変換するニューラルネットワークです。形状を測定し、その平衡点を計算します。

2.3 知識モデリング

  知識モデリングのカテゴリに属する​​手法としては、主にスパース表現とメモリ ネットワークが含まれます。前者は、イグザンプラ、事前定義された完全な辞書、または学習された辞書を使用してモデリングを実行しますが、後者は、さまざまな埋め込みモダリティの組み合わせに依存してメモリを形成し、メモリを動的に追加または変更できるようにします。

3. 暗黙知の仕組み

  この論文の研究の主な目的は、暗黙知を効果的に訓練できる統合ネットワークを構築することであるため、最初に暗黙知を迅速に訓練し推論する方法に焦点を当てます。暗黙的な表現zi z_iがあるため、z私はそれは観測とは何の関係もないので、定数テンソルの集合z = z 1 , z 2 , ⋅ ⋅ ⋅ , zkz={z_1,z_2, · · ·,z_k} とみなすことができます。z=z1z2、⋅⋅⋅z、以下では、暗黙知を定数テンソルとしてさまざまなタスクに適用する方法について説明します。

3.1 マニホールドスペースの削減

ここに画像の説明を挿入

  優れた表現は、それが属する多様体空間内で適切な射影を見つけ、その後のターゲット タスクの成功を促進できる必要があります。たとえば、図 3 に示すように、投影された空間内の超平面がターゲット クラスを正常に分類できれば、最良の結果になります。上の例では、射影ベクトルと陰的表現の内積を利用して多様体空間の次元削減を実現し、さまざまなタスクの目標を効果的に達成できます。

3.2 カーネル空間の調整

ここに画像の説明を挿入

  カーネルの空間的不整合は、マルチタスクおよびマルチヘッド ニューラル ネットワークでよく見られる問題です。図 4.(a) は、マルチタスクおよびマルチヘッド ニューラル ネットワークにおけるカーネルの空間的不整合の例を示しています。この問題を解決するには、図 4(b) に示すように、出力特徴と暗黙的表現を追加および乗算して、カーネル空間を移動、回転、スケーリングして、ニューラル ネットワークの各出力カーネル空間を揃えることができます。上記の操作モードは、Feature Pyramid Network (FPN) におけるフィーチャの大きなオブジェクトと小さなオブジェクトの配置、知識蒸留を使用した大きなモデルと小さなモデルの統合、ゼロショット ドメインの処理など、さまざまな分野で広く使用できます。移転やその他の問題。

3.3 その他の機能

ここに画像の説明を挿入
  さまざまなタスクに適用できる機能に加えて、暗黙的知識はさらに多くの機能に拡張できます。図 5 に示すように、加算を導入することにより、ニューラル ネットワークによって中心座標のオフセットを予測できます。乗算を導入して、アンカーのハイパーパラメータのセットを自動的に検索することもできます。これは、多くの場合、アンカーベースのオブジェクト検出器で必要となります。さらに、点乗算と接続方法をそれぞれ使用して、マルチタスクの特徴選択を実行し、後続の計算の前提条件を設定することができます。

4 暗黙知

  このセクションでは、従来のネットワークと提案された統合ネットワークの目的関数を比較し、多目的ネットワークの学習に暗黙知の導入が重要である理由を説明します。一方、この論文で提案された方法の詳細についても詳しく説明します。

4.1 式の表現

  • 畳み込みニューラル ネットワークにおいて

  従来のネットワーク トレーニングの目的関数の場合、(1) は次のように表すことができます。
ここに画像の説明を挿入
  ここで、x は観測値、θ はニューラル ネットワークのパラメーター セット、fθ はニューラル ネットワークの動作、ϵ \epsilonを表します。ϵは誤差項、y は特定のタスクのターゲットです。
  従来のニューラル ネットワークの学習プロセスでは、通常ϵ \epsilonϵ は、 fθ(x) が可能な限りターゲットに近づくように最小化されます。これは、図 6(a) に示すように、同じターゲットでの異なる観測が fθ によって得られる部分空間内の単一点であると予想されることを意味します。言い換えれば、取得すると期待される解空間は現在のタスクti t_it私はさまざまな潜在的なタスク以外のタスクとは異なり、不変です。T ∖ ti T\setminus t_iTt私は,その中T = { t 1 , t 2​​ , . , tn } T=\{t_1,t_2,...,t_n\}T={ t1t2... t}
ここに画像の説明を挿入

  汎用ニューラル ネットワークの場合、結果として得られる表現がTTに役立つことを期待しています。したがって、 Tのすべてのタスクはϵ \epsilonϵ を使用すると、図 6(b) に示すように、多様体空間上で各タスクの解を同時に見つけることができます。ただし、上記の要件により、ワンホット ベクトルの最大値やユークリッド距離のしきい値などの単純な数学的手法を使用してti t_it私は解決。この問題を解決するには、誤差項ϵ \epsilonを変更する必要があります。図 6(c) に示すように、 ϵ はさまざまなタスクの解決策を見つけるためにモデル化されます。

  • 統合ネットワーク

  提案された統合ネットワークをトレーニングするには、明示的知識と暗黙的知識の両方を使用して誤差項をモデル化し、それを多目的ネットワークのトレーニング プロセスのガイドに使用します。対応するトレーニング公式は次のとおりです。
ここに画像の説明を挿入

  ここで、ϵ ex \epsilon_{ex}ϵエックス_ϵ im \epsilon_{im}ϵ私はは、それぞれ観測値 x と潜在コード z の明示的エラーと暗黙的エラーをモデル化する操作です。g ϕ g_\phigϕここでは、形式知と暗黙知の情報を組み合わせたり、選択したりするために使用されるタスク固有の操作を示します。

  形式知をf θに統合する既存の方法がいくつかあります。fなので、(2) は (3) のように書き換えることができます。
ここに画像の説明を挿入

  ⋆ \スター⋆ はf θ f_θのいくつかの組み合わせを示しますfg φ g_φgfに使用できる演算子。この記事では、加算、乗算、連結演算が使用されます。

誤差項の導出プロセスを複数のタスクを処理できるように拡張すると、次の式が得られます。
ここに画像の説明を挿入

  その中Z = { z 1 , z 2 , ⋅ ⋅ ⋅ , z T } Z=\{z_1,z_2,···,z_T\}Z={ z1z2、⋅⋅⋅、zT}は T 個の異なるタスクに対する暗黙的な潜在コードのセットであり、Φ は Z から暗黙的な表現を生成するために使用できるパラメーターです。Ψ は、明示的表現と暗黙的表現のさまざまな組み合わせに対する最終出力パラメーターを計算するために使用されます。
  さまざまなタスクについて、すべての z ∈ Z の予測は次の式を使用して取得できます。
ここに画像の説明を挿入
  すべてのタスクについて、共通の統一表現f θ ( x ) f_θ(x)f( x )、タスク固有の暗黙的表現g Φ ( z ) g_Φ(z)gF( z )、最後にタスク固有の識別子d Ψ d_Ψd追伸さまざまなタスクを完了します。

4.2 暗黙知のモデル化

  この論文で提案されている暗黙知は、次の方法でモデル化できます。

  • ベクトル/行列/テンソル: zzz は
    、ベクトル z を暗黙的知識の事前分布として、また暗黙的表現として直接使用します。この時点で、各次元は互いに独立していると仮定する必要があります。
  • ニューラルネットワーク: W z W_zWz
    ベクトル z を暗黙的知識の事前分布として使用し、重み行列 W を使用して線形結合または非線形化を実行すると、陰的表現になります。この時点で、各次元は相互依存していると想定する必要があります。より複雑なニューラル ネットワークを使用して暗黙的表現を生成することも可能です。または、マルコフ連鎖を使用して、異なるタスク間の暗黙的に表現された依存関係をモデル化します。
  • 行列分解: Z c TZ^T_cZcT
    暗黙的知識の事前分布として複数のベクトルを使用すると、これらの暗黙的な事前分布の基底 Z と係数 c によって暗黙的な表現が形成されます。さらに c にスパース制約を課し、それをスパース表現に変換することもできます。さらに、Z と c に非負の制約を課して、それらを非負の行列因数分解 (NMF) 形式に変換することもできます。

4.3 トレーニング

私たちのモデルは事前の暗黙的な知識なしで開始すると仮定します。つまり、明示的な表現f θ ( x ) f_θ(x)  についての事前知識がありません。f( x )は効果がありません。演算を組み合わせる場合⋆ ∈ { 加算 , 連結 } \star∈ \{加算, 連結\}{ 追加, _ _ _ _ _ _con c a t e na t i o n }、初期の暗黙的な事前z 〜 N ( 0 , σ ) z 〜 N(0, σ)zN ( 0 , σ )、組み合わせ演算⋆ が乗算の場合、 z 〜 N ( 1 , σ ) } \star は乗算、 z〜N(1, σ)\}複数アプリケーション存在ます_ _ _ _ _ _ _zN ( 1 , σ )} . ここで、σはゼロに近い非常に小さな値です。z と φ については、両方ともトレーニング プロセス中にバックプロパゲーション アルゴリズムを使用してトレーニングされます。

4.4 推論

暗黙の知識は、暗黙のモデルg ϕ g_\phi  に関係なく、観測値 x とは何の関係もないので、gϕそれがどれほど複雑であっても、推論段階で実行する前に定数テンソルのセットに還元することができます。言い換えれば、暗黙的な情報の形成はアルゴリズムの計算の複雑さにほとんど影響を与えません。また、上記演算子が乗算の場合、次の層が畳み込み層であれば、次の式(9)を用いて積分する。加算演算子に遭遇したとき、前の層が畳み込み層であり、活性化関数がない場合は、以下に示す式 (10) を使用して積分を行うことができます。
ここに画像の説明を挿入

5. モデルと実験の比較

5.1 モデル構成

ここに画像の説明を挿入

  1) FPN 特徴の調整、2) 予測の改良、3) 単一モデルでのマルチタスク学習を含む 3 つの側面に暗黙的知識を適用することを選択します。マルチタスク学習でカバーされるタスクには、1) オブジェクト検出、2) マルチラベル画像分類、3) 特徴埋め込みが含まれます。この論文では、ベースライン モデルとして YOLOv4-CSP を選択し、図 8 の矢印で示された位置に暗黙的知識をモデルに導入します。すべてのトレーニング ハイパーパラメータは、ScaledYOLOv4 のデフォルト設定と比較されます。

5.2 FPN 機能の調整

  特徴アライメントのために各 FPN の特徴マップに暗黙的表現が追加され、対応する実験結果が表 1 に示されています。表1に示される結果から、特徴空間アライメントに暗黙的表現を使用した後、AP、APm、およびAP1を含むすべてのパフォーマンスが約0.5%改善されることが分かる。
ここに画像の説明を挿入

5.3 ターゲット検出予測の改良

  予測を改良するために、暗黙的表現を YOLO 出力層に追加します。表 2 に示すように、ほぼすべての指標スコアが向上していることがわかります。
ここに画像の説明を挿入
  図 9 は、暗黙的表現の導入が検出結果にどのような影響を与えるかを示しています。オブジェクト検出の場合、暗黙的表現に関する事前知識を提供しなくても、提案された学習メカニズムは (x, y)、(w, h)、(obj)、および (classes) モードを自動的に学習できます。
ここに画像の説明を挿入

5.4 マルチタスクの正規表記法

6 結論

  この論文では、形式知と暗黙知を統合する統合ネットワークを構築する方法を示し、単一モデル アーキテクチャの下でのマルチタスク学習が依然として非常に効果的であることを証明します。

おすすめ

転載: blog.csdn.net/qq_39707285/article/details/128325450