Neural-Networks

Yolo v3 損失函數

  • October 23, 2018

原始的損失函數可以在這裡看到,在Yolo Loss 函數解釋中或多或少有解釋:

$$ \begin{align} &\lambda_{coord} \sum_{i=0}^{S^2}\sum_{j=0}^B \mathbb{1}{ij}^{obj}[(x_i-\hat{x}i)^2 + (y_i-\hat{y}i)^2 ] \&+ \lambda{coord} \sum{i=0}^{S^2}\sum{j=0}^B \mathbb{1}{ij}^{obj}[(\sqrt{w_i}-\sqrt{\hat{w}i})^2 +(\sqrt{h_i}-\sqrt{\hat{h}i})^2 ]\ &+ \sum{i=0}^{S^2}\sum{j=0}^B \mathbb{1}{ij}^{obj}(C_i - \hat{C}i)^2 + \lambda{noobj}\sum_{i=0}^{S^2}\sum_{j=0}^B \mathbb{1}{ij}^{noobj}(C_i - \hat{C}i)^2 \ &+ \sum{i=0}^{S^2} \mathbb{1}{i}^{obj}\sum_{c \in classes}(p_i(c) - \hat{p}_i(c))^2 \ \end{align} $$

但是,我仍然有一些與上述等式有關的問題,以及 YOLOv3 中的損失如何(或是否)發生變化。首先,在 YOLOv3 中,輸出是 $ S\times S\times B\times (4+1+C) $ 與 $ S\times S\times (B\times (4+1)+C) $ ,這意味著最後一項將是 $ \mathbb{1}^{obj}_{ij} $ .

對於剩下的問題,考慮 YOLOv3 輸出的最後一個維度的前 5 個項為: $$ \begin{align} b_x &= \sigma(t_x) + c_x \ b_y &= \sigma(t_y) + c_y \ b_w &= p_w\exp(t_w) \ b_h &= p_h\exp(t_h) \ Pr(object) &= \sigma(t_o) \end{align} $$ 有關這些方程的完整解釋,請參見此處,但它們僅描述 x 和 y 的坐標、寬度和高度,最後是對像出現在單元格中的概率。

  • 我最大的問題是關於什麼 $ C_i $ 在第 3 和第 4 學期。假設 $ \hat{C_i} $ 是估計和 $ C_i $ 是真正的價值。根據原始論文(v1)“我們將置信度定義為 $ Pr(object)\times IOU^{truth}_{pred} $ “。所以有 3 種方式可以解釋第三個損失項:

    1. $ C_i=1 $ 和 $ \hat{C_i} = \sigma(t_o) \times IOU $ ,其中 IOU 取決於前 4 個方程描述的邊界框。
    2. 根據此代碼和我見過的其他實現,似乎 $ C_i=IOU $ 和 $ \hat{C_i} = \sigma(t_o) $ .
    3. 最後,對我來說最直觀的是 $ C_i=1 $ 和 $ \hat{C_i} = \sigma(t_o) $ . 為什麼要在這裡介紹IOU?無論如何,前兩個術語有效地嘗試最大化 IOU?
  • 最後,對於 YOLOv3,論文指出:

“在訓練期間,我們使用平方誤差損失的總和。如果某些坐標預測的基本事實是 $ \hat{t}* $ 我們的梯度是地面實況值(從地面實況框計算)減去我們的預測: $ \hat{t}* − t_* $ . 這個真實值可以很容易地通過反轉上面的方程來計算”。

那麼這是否意味著我可以忽略上面損失函數的前兩項並將其替換為平方誤差?

希望對此提供任何意見,包括僅回答兩個問題之一。

好問題。對於第一個問題,YOLOv1 和 YOLOv3 的分數定義不同。根據yolov1論文

這些置信度分數反映了模型對盒子包含對象的信心以及它認為盒子預測的準確度。

如果該單元格中不存在對象,則置信度分數應為零。否則,我們希望置信度分數等於預測框和地面實況之間的交集(IOU)。

這與您的第二次互穿相同。然而在yolov3 論文中

YOLOv3 使用邏輯回歸預測每個邊界框的對象度得分。如果邊界框先驗與地面實況對象的重疊比任何其他邊界框先驗多,則該值應為 1。

這和你的第三次互穿是一樣的。實際上,這兩個選項都在您提到的代碼中實現,我猜它們都在實踐中工作。

第二個問題,是的,只是不要忘記先將反函數應用於地面實況坐標。源代碼供參考。

引用自:https://stats.stackexchange.com/questions/373266

comments powered by Disqus