Learning Multiple Dense Prediction Tasks from Partially Annotated Data
https://scrapbox.io/files/6443b969f0c211001bd8be5e.png
日付
2023/4/23
論文リンク
文献情報
Learning Multiple Dense Prediction Tasks from Partially Annotated Data
Wei-Hong Li, Xialei Liu, Hakan Bilen
CVPR2022
要は何?
Dense prediction tasks(深度推定,セマンティックセグメンテーション)において,どちらか片方しかラベルがないデータセットを用いて学習を行う方法(Multi-task partially supervised learning)を確立.
問題意識と解決策
マルチタスク学習は複数の関連するタスクを同時に学習することによって,より効率的に対象の特徴抽出を行うことができる.特にタスクが似ている場合には強力なアプローチとなりうる
しかし,マルチタスク学習の場合,統合させる全てのタスクのラベルが必要 ⇔ 現実的には一度に各タスク間でConsistentなラベルを作るのが難しい
-> そこで,全てのタスクのラベルがない場合(各データ少なくとも一つのタスクのラベルが付与)にも用いることのできるmulti-task partially supervised learning (MTPSL)を提案
関連手法
マルチタスク学習 with ラベルなしデータ
ラベルなしタスクではloss計算をしない -> この方法ではそのタスクに有用な特徴を十分に捕捉できない
半教師ありマルチタスク学習
ラベルなしタスクに対しては入力Perturbationをかけた時とかけてない時の推定値を一致させる正則化を施す(Mean Teacher, VAT等)
タスク間の一貫性までは保証していない
Cross task relation
両方のタスクの推定結果の一貫性をとる -> 片方のラベルがない,あるいはタスク間のラベルをマッピング可能でないと適用不可能
yamamoto.icon 今回の場合,セマンティックセグメンテーションは深度情報を失っているので,深度推定ラベルとの直接計算不可能.加えてタスクペア間の学習を行う方法も,片方のラベルがないので学習がそもそもできない.
手法
概要図
https://scrapbox.io/files/6443b94b5c0f7a001c57eefc.png
特徴抽出器のシェア$ f_\phiと,ラベルなしタスクの推定出力とラベルありタスクのラベル間の関係をモデル化するJoint spaceによって実現
工夫点
自明なマッピングをしてしまう可能性がある(e.g., 全てのデータで0を出力してしまう,等) -> 特徴抽出器による正則化を加え,この出力が元の特徴の情報を保持した状態にしておく
一つの拡張として,あらゆるタスク等を用いて使える方法としたうが,この方法をそのまま適用すると必要なタスクjoint spaceが指数的に増えてしまう.-> タスクのペア情報をエンコードするネットワークを用意する
実装の詳細
Feature learning
CNN(NYU-v2ではSegnet, PASCALではResnet)
ロス
https://scrapbox.io/files/6443d2dace3a5b001b11894b.png
教師ありロス:ラベルありタスクに対するロス(赤)
普通に計算
教師なしロス:ラベルありタスクとラベルなしタスクの一貫性ロス(青)
両タスクの出力を同じ次元のベクトルに変換(マッピング$ m_{{v}_{s}^{st}}と$ m_{{v}_{t}^{st}})し,類似度を最小化するように学習
yamamoto.icon 2項目. L_ctとして,コサイン類似度を用いていた.(1項目は教師ありロス)
タスク間関係のマッピングの工夫(m)
https://scrapbox.io/files/6443cf2d08a4ea001c77e52f.png
共通特徴空間へのマッピングネットワーク$ \bar{m_v}と,
タスクペア情報をConditionするための補助エンコーダ$ a_\theta及びFiLM layerを導入
どのタスクをどのタスクにマッピングさせるかのワンホット行列(タスク数Kとすると, K x Kの行列.asymmetric. (s->tとt->sは別扱い))を入力し,その出力をFiLMに入力
FiLMは$ \bar{m_v}の中間出力に対し,$ a_\thetaから受け取った出力($ {a_{\theta}^{b}}と$ {a_{\theta}^{c}})をもとに,アフィン変換を行うことによりConditioningを行う
特徴による正則化ロス(緑)
$ f_\phiからの特徴量との距離($ R, 本研究ではコサイン距離を利用)をそれぞれのタスクのベクトルで最小化する
実験とその結果
1.比較実験
データセット
Cityscapes: 7クラスのセマンティックセグメンテーションと深度推定
NYU-V2: 13クラスのセマンティックセグメンテーションと深度推定と法線推定
PASCAL: セマンティックセグメンテーション,human-part セグメンテーション,エッジ推定
セッティング
random: K個のタスクの中からタスクありラベルを1〜K-1個選ぶ
one: タスクを1つだけ選ぶ
比較手法
Supervised learning:ラベルなしタスクに対してロスを計算しない
Semi-supervised learning:ラベルなしタスクに対しては摂動に対する一貫性に関するロスを施す
Direct-map:直にラベルなしタスクの推定をラベルありタスクのものに変換
Perceptual-map:ラベルありタスクのみの特徴空間にマップして距離最小化
Contrastive-loss:同じ画像なら近づけ異なる画像なら離す
Discriminator-loss:ペア-ペアじゃないを識別するDiscriminatorを導入し,敵対的学習
Cityscapes
https://scrapbox.io/files/644426e8318cd3001cbdd889.png
なんと通常のマルチタスク学習より高性能
NYU-v2
https://scrapbox.io/files/6444cb9eb83347001be54a12.png
ラベルありマルチタスク学習の性能よりは劣ったものの,他のpartially labeled learningよりも性能を上回る
PASCAL
https://scrapbox.io/files/6444cc5fa274c4001cffcb2c.png
Competitiveな結果
2. タスクによって利用可能なラベルに偏りがあるときは?
Cityscapesで,タスクごとに使用可能なラベル比を9:1にして実験
セマンティックセグメンテーション,深度推定=(1:9),(9:1)で比較
https://scrapbox.io/files/6444cea7a045fd001c5d2cc1.png
他の手法よりも精度の低下を防げており,むしろラベルが9割しか使えない場合はフルより精度が上がっている.
このことから9割しか使えてなくても,残り1割の別タスクのラベルから効率的に情報を得ていることが示唆されている.
3. 他のCross-task consistency learningとの比較(全てラベルあり)
https://scrapbox.io/files/6444cfc088fe06001ba0112f.png
4. ablation study
w/o cond -> $ a_\thetaなし(マッピングエンコーダのコンディションをしない)
w/o reg -> 特徴量の正則化なし
https://scrapbox.io/files/6444d269cc80c2001ca72f66.png
ablationをしてもSupervised learningより性能は上がるが,全て加えた場合がベスト -> やはりどちらも必須と言える
yamamoto.icon regressionなしの場合のマッピングの解析はしてあるんだろうか (心配していた自明なマッピングをしているかどうか)
5. example
https://scrapbox.io/files/6444d368cf4e9e001c5a64bb.png
コメント
CVPRでBest paper finalistに入っているだけある.実用性が高いと思った.
画像以外でも試せそう.
完全にどのタスクのラベルがなくても学習できたりはしないのだろうか?たとえば画像再構成の枠組みも取り入れたりとか(エンコードはできてもデコードが難しい?)
全てのタスクの間の関係をマッピングするのは難しいらしい.
↑に関連して...タスクごとの難易度を意識して組み込める可能性はあるのかも?あまり法線推定では成功していない印象を受けた.(それで論文の価値が下がることにはならないけど)joint mappingに埋め込むencoderにタスクの難しさに応じて何らかの重み付けをするとか.(知らんけど)
比較実験がかなり緻密に組まれていて,CVPRは一筋縄ではいかんのだな,という感想をもった