DAFL 無資料網路壓縮演算法之通俗易懂小白教程

2021-09-29 03:00:32 字數 1231 閱讀 7608

理解此圖就算理解一半了。。。。。。。

1.總體3個大網路:

2.random signal是什麼呢?這時候可能就要去了解cnn了,學術表達為高斯雜訊,換句話來說,就是用來生成用的乙個輸入值,這裡的g可以理解為乙個反向的cnn,輸入為隨機值,輸出為。

知識蒸餾(teacher network+student network)來壓縮teacher network得到student network。

這裡一定要注意要壓縮teacher network,故而與傳統的gan有些不同,這裡判別網路d不需要調參和修改,不然怎麼做到壓縮?又不是動態壓縮。。。。。

gan生成對抗網路

通俗易懂的話:道高一尺,魔高一丈,道更高,魔更高。

g用來作假,d用來辨別真偽,傳統的gan是這樣的:g做的越來越逼真,d辨別能力越來越強,結果g變成了偽造大師,d變成了辨偽大師,最後趨於穩定,均只有50%的機會能打敗對方。

此演算法將g固定為teacher network,同時d輸出不再是真假,而是teacher network的輸出,這裡就要修改gan的損失函式了,因此本演算法的第二個重點圖:

α,β為固定值,為調節幾個loss中的比重,第乙個loss是交叉熵為了讓更真實,第二個是啟用損失函式為了讓生成的能啟用teacher network的提取器,第三個是為了讓生成的更加接近原始資料集的分布(為什麼?和知識蒸餾有關)

知識蒸餾

通俗解釋:學生在老師的引導下去爬老師曾經爬過無數次的山,而且這個山的道路上還留有各種老師留下的記號。

這裡可能要先了解softmax函式才更好深入了解蒸餾。

此演算法給出蒸餾時訓練student network的loss,如下圖:

目的:為了讓學生網路的輸出ys和教師網路的輸出yt更加接近。

演算法流程

最後,在這裡訓練gan中的生成網路和蒸餾中的學生網路均是通過loss函式通過反向傳播(bp演算法)來更新網路引數的。

注:筆者也是菜雞,如有錯誤,望各位大神指正!!

無資料線 debug

當你沒有資料線的時候也想debug,怎麼辦?還有就是測試串列埠的時候,那個插口要被占用,無法跟電腦保持adb連線,怎麼辦?話不多說。官方文件 connect the android powered device via usb to your computer.from your sdkplatfo...

當GridView無資料時顯示表頭

public class ugridview grd.prerender new eventhandler grd prerender void grd prerender object sender,eventargs e private void grd rowdatabound object ...

element table元件某列無資料顯示佔位符

之前用過table元件的formatter用來格式化內容,是直接用其中row引數去每列定義乙個formatter函式,也是瓜西西咧,該function row,column,cellvalue,index 有三個引數,其中cellvalue就是我們每列對應的內容,直接對齊格式化內容就可以table元...