Structured Knowledge Distillation for Semantic Segmentation網絡
2019/03/13 Author:Yu ZHang優化
2019cvpr中的一篇文章,是我見到的第一個在分割上使用知識蒸餾的,可見實時的分割已是如今研究的熱門了,做者作的事情就是:用PSPNet或OCNet等做爲老師網絡,來指導學生網絡,如最近看的ESPNet,MobileNet,ShuffleNet等,讓這些小的網絡擁有更高的準確率。下圖是整個蒸餾的過程:spa
整個蒸餾分爲三個部分:1)Pixle-wise distillation 2)Pair-wise distillation 3)Holistic distillationblog
首先教師網絡是不進行優化的,其是已經訓好的且好使的分割網絡。按前後順序來講咱們先講Pair-wise distillation,這一個部分做者是受馬爾科夫隨機場(條件隨機場)的啓發,做者想要找兩兩像素之間的相關性以提升網絡的效果。At表示教師網絡特徵圖第i個像素與第j個像素之間的相關性,As表示學生網絡ij之間相關性,經過下式(平方差)來計算蒸餾loss,讓學生網絡逼近教師網絡:
而計算兩點之間類似性公式以下:rem
這個蒸餾模塊就是正常蒸餾的思路,咱們把教師網絡輸出的機率拿過來,與學生網絡輸出的機率作loss,讓學生網絡逼近教師網絡,在圖中直觀的看就是兩個分割圖作loss,但實際上是機率作loss,loss公式以下:get
這裏做者利用了GAN的思想,學生網絡被看做是爲生成器,其輸入就是數據集中的RGB圖像,輸出的是分割圖(fake),而教師網絡輸出的分割圖爲真實圖,分割圖與RGB圖送入Discriminator net作一個嵌入,這個網絡至關於GAN中的判別器會輸出一個得分,得分表示RGB與分割圖是否匹配,真實分佈與錯誤分佈之間計算Wasserstein距離。it
最終共有4個loss(還有一個loss是學生網絡輸出與真實label作普通的loss),最終loss公式以下:io
採用此蒸餾方法,做者將許多小網絡的準確率都提高了很是多,實驗結果以下圖:class