論文まとめ「Soft Labels for Ordinal Regression」
URL
メタ情報
- 学会
- CVPR2019採択
- 著者
- Raul Diaz, Amit Marathe
- HP Inc.
モチベーション
- どのようにlossや目的変数を変換しているかに興味がある
背景
- Ordinal classification(ordinal regression)
- 順序付きの分類問題
- 例
- 映画の評価(1 ~ 5)の予測
- 正解が4の時、推論結果が3と1では、明らかに3の方が近い外し方
- 映画の評価(1 ~ 5)の予測
- 先行研究
- K-rank method[14]
- 各クラスを複数のバイナリ1-hot ベクトルにハードコードし、複数の二値分類器を用いて推論
- Soft methods[41, 45, 39]
- Image ranking.
- Monocular depth estimation.
- 省略
- Horizon estimation.
- 省略
- K-rank method[14]
課題
- Ordinal classificationの一般的な方法は、K-rank method
- しかし、各データラベルを順序カテゴリまたはランクのいずれかにハードに割り当てることで、ラベルが連続ドメインに属しているという重要な情報を失う。
目的
- 従来の分類問題として、順序回帰をフレームワーク化した、シンプルで直感的な方法を提案
手法
- soft target encodingを用いて、順序回帰の問題を分類の問題へと変換する
- 順序情報をground truthへ埋め込む、非常に直感的な方法
Soft Ordinal vectors (or SORD)
$$ y_i = \frac{e^{-\phi(r_t, r_i)}}{\sum_{k=1}^{K} e^{-\phi(r_t, r_k)}} \quad \forall r_i \in Y (1) $$
- $Y = {r_1, r_2, ..., r_K}$: $K$ 個の順序付きカテゴリ
- $y_i$ : 特定のインスタンスがランク $r_i$ であるときの、エンコードされたベクトル $y$ の成分。
$ϕ(r_t,r_i)$ : 任意の距離(または損失)関数で、真のランク$r_t$と各ランク $r_i$ との「距離」を測定する。
近傍のカテゴリは、真のクラスから遠ざかるにつれて、より小さい値を持つようになる(ただし、必ずしも0ではない)
- $ϕ$ は解く問題に依存
- 絶対誤差や2乗誤差、など
- ground truthを確率分布としてエンコードすることは、cross-entropyやKullback-Leibler divergenceのようなソフトマックス出力を使用する一般的な分類損失関数とも相性が良い。
- cross-entropyやKullback-Leibler divergenceは、出力と真のラベルのベクトル表現との間の「面積」(厳密には確率分布の間の差異)を最小化することを目指すため
Backpropagation of Metrics
- 順序情報(ordinal information)をSORDでエンコードすることにより、カテゴリ損失関数の勾配(gradient)が簡単に計算可能
前提として、cross-entropyは下記のように勾配を計算可能
$$ \frac{\partial L}{\partial p_i} = -\frac{y_i}{p_i} $$
- 証明
- cross-entropyは以下のように定義される
$$ L = -\sum_{i=1}^{K} y_i \log(p_i) $$
- この損失関数$L$に対して、各$p_i$で偏微分すると
$$ \frac{\partial L}{\partial p_i} = -\frac{y_i}{p_i} $$
- 証明
cross-entropyを損失関数とし、SORD((1)式)を利用すると勾配は以下となる
- 証明
- まず、下記が成り立つような$C( > 0)$を定義
Cは、Softmaxの分母と、SORDの分母を定数項をかけて一致させるもの。
あとは、式変形
- 証明
SORDの特性
- 2行で実現可能
- $ϕ(r_t,r_i)$を全ての$r_i \in Y$に対して計算
- 全ての、$-ϕ(r_t,r_i)$に対し、Softmaxを計算し、soft labelを求める
- 特定のlayerを変更する必要がないため、有名なアーキテクチャをそのまま利用可能
- K-rank methodは複数の二値分類器を用意するためパラメータも増加したが、SORDは元と同じパラメータを維持可能
- ドメインを目的変数に反映させやすい
- 例
- 単眼深度推定問題で、正解が2.3mだった場合
- $ϕ$をそのまま計算できるのであれば、計算する
- $r_i = 2m$と$r_{(i+1)} = 3m$というカテゴリが存在するならば、SORDをなめらかにバランスさせる
- 単眼深度推定問題で、正解が2.3mだった場合
- 例
結果
実験設定
タスク
- Image aesthetics(画像品質)
- 画像は、Nature、Animal、Urban、Peopleの4つの区分
5段階の美的カテゴリーで評価
評価 意味 unacceptable 許容できない flawed 欠陥がある ordinary 焦点は合っているが、芸術的価値がなく普通 professional 欠陥がない、フレーム・焦点・光よし exceptional 例外的に魅力的な画像
- 年齢推定
- 2,284人、26kの顔画像
- レンジ
- 0-2、4-6、8-13、15-20、25-32、38-43、48-53、60歳以上
- Monocular Depth Estimation
- 省略
- Horizon Estimation
- 省略
実験結果
設定したソフトラベル
思うところ
- ドメイン特化型のlossにすることができそう
- 例えば、年齢推定では、8-13を当てる問題よりも、38-43を当てる問題の方が難しいはず、この年代の方は顔で判別しづらいと思うため
- $ϕ$を与えられたデータに基づいて決める方法が有効そう
- future taskを書いておいて欲しかった