オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】YOLO R

yhayato1320.hatenablog.com

Index

YOLO R とは

Explicit Knowledge / 形式知 と Implicit Knowledge / 暗黙知 を併用したネットワークを表現.

人間の普段の学習を「形式知」といい、無意識で行っている学習を「暗黙知」と呼んでいる.

You Only Learn One Representation

人間の学習とCNNの学習

人間は、同じデータを様々な角度から分析できる.

一方、CNN (Machine Learning / Deep Learning) では、学習した一つのタスクした実行できない.



さらに正確にいうと、あるタスクで学習したことで得られる特徴は、
他のタスクでは、うまく適応できない.

暗黙知の利用

この問題に、対抗するために、「入力された情報」と「あるタスクの学習済みモデル」以外の情報である
Implicit Knowledge / 暗黙知 を利用する.

Implicit Knowledge / 暗黙知 の定義

ニューラルネットワークでの定義では、

  • Explicit Knowledge / 形式知 : 浅い層から得られる特徴
  • Implicit Knowledge / 暗黙知 : 深い層から得られる特徴

とされることが多いが、ここでは、以下のように定義する.

  • Explicit Knowledge / 形式知 : 実行するタスクに直接関係する知識 (入力データ、実行するタスクのモデル等)
  • Implicit Knowledge / 暗黙知 : 実行するタスクと関係ない知識

暗黙知の導入の概要

では、どのように、暗黙知を利用するのか.



暗黙知の導入の詳細

暗黙知を効果的に導入するには、どうすかを考えたい.

まずは、暗黙知 k 個のテンソルとして考える.

 Z\ =\ \{z_{1},\ \cdots,\ z_{k}\}

ネットワークへの適合

CNN の定式化

従来の CNN を定式化すると

 y\ =\ f_{\theta} (x)\ +\ \epsilon,\ \ minimuze\ \epsilon




と考えられる.



これは、入力空間から、タスクを実行するための部分空間へ写像され、
その写像は、誤差関数が最小になるように、写像されるということである.

 f_{\theta} (x)\ =\ T\ =\ \{t_1,\ \cdots,\ t_{n}\}

緩和を考える

上のような、誤差関数の設計では、変換した空間の情報では、ある一つのタスクのみに適合しているだけで、 複数の多数に適合できない.

そこで、複数のタスクに適合できるような空間への変換を目的とするために、緩和 / Relax を考慮したい.

緩和を考慮するために

誤差関数をモデル化することで、緩和を加え、複数のタスクに対応できるようにする.



 y\ =\ f_{\theta} (x)\ +\ \epsilon\ +\ g_{\phi}\ (\epsilon_{ex}\ (x),\ \epsilon_{im}\ (Z)\ )

 minimuze\ \epsilon\ +\ g_{\phi}\ (\epsilon_{ex}\ (x),\ \epsilon_{im}\ (Z)\ )


  •  \epsilon_{ex} : 形式知による誤差
  •  \epsilon_{im} : 暗黙知による誤差
  •  g_{\phi} : タスク固有の処理を行う関数 (誤差を足し合わせるなど)



形式知を定式化する方法はいくつか考えられる.

 y\ =\ f_{\theta} (x)\ \star\ g_{\phi}(z)


 \starf_{\theta} g_{\phi} の関数を使って新たな関数を表現する.
(形式知に、暗黙知の情報を追加する)

この操作は、

  • 加算
  • 乗算
  • 連結
等の方法が考えられる.

暗黙知のモデル化

 g_{\phi} はどのような関数になるのか?

学習

暗黙知  Z は、最初は無いものと考え、タスクに影響がでないようにする.

推定

ネットワークアーキテクチャ

YOLO v4-CSP をベースに暗黙知を導入し、マルチタスクで学習する.

暗黙知の導入箇所

  • Feature Alignment
  • Prediction Refinement
  • Multi Task Learning

タスク

  • Object Detection
  • Multi Label Image Classification
  • Feature Embedding

参考

  • You Only Learn One Representation: Unified Network for Multiple Tasks
    • [2021]
    • Abstract
    • 1 Introduction
    • 3 How implicit knowledge works?
    • 4 Implicit knowledge in our unified networks
      • 4.1 Formulation of implicit knowledge
      • 4.2 Modeling implicit knowledge
      • 4.3 Training
      • 4.4 Inference
    • 5 Experiments
      • 5.1 Experimental setup
    • arxiv.org

Web サイト