小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

大小僅17KB!這個(gè)微型風(fēng)格遷移模型太好玩了 | 代碼 教程

 長(zhǎng)沙7喜 2018-11-30

一個(gè)風(fēng)格遷移模型可以有多???

17KB足矣。

事實(shí)證明,你可以用1.7M的參數(shù)訓(xùn)練出風(fēng)格遷移模型,然后只留下11868個(gè)參數(shù),生成遷移圖像。將模型量化后,原本7M的模型壓縮到只有17KB,而遷移效果和原本模型差別不大:

 遷移效果對(duì)比 | 從左到右分別為原圖,小模型效果,大模型效果

17KB是什么概念?一個(gè)模糊得不行的小頭像,word中的10個(gè)文字,迅雷0.01秒內(nèi)下載的文件……

整波操作效果明顯——

原始模型

  • 大?。?M

  • 權(quán)重?cái)?shù)量:1.7M

  • iPhoneX上的運(yùn)行速度:18 FPS

縮減后的模型

  • 大小:17KB

  • 權(quán)重?cái)?shù)量:11868

  • iPhoneX上的運(yùn)行速度:29 FPS

這到底怎么做到的?

只需兩步

這項(xiàng)研究的作者、AI部署解決方案Fritz的聯(lián)合創(chuàng)始人Jameson Toole在博客中表示,縮小模型真的“pretty easy”,只要你:

一是要毫不留情地修剪層數(shù)和權(quán)重,二是要通過(guò)量化的方式,將32位的浮點(diǎn)權(quán)重轉(zhuǎn)換成8位整數(shù)。下面分別細(xì)講。

修剪策略

神經(jīng)網(wǎng)絡(luò)的訓(xùn)練期間需要調(diào)整數(shù)百萬(wàn)甚至數(shù)億個(gè)權(quán)重,一般來(lái)講更多的權(quán)重意味著更高的準(zhǔn)確性,但非常低效。

假設(shè)一個(gè)神經(jīng)網(wǎng)絡(luò)可以大多數(shù)權(quán)重都沒(méi)那么有用,可以刪除,應(yīng)該在什么層面去刪?Toole認(rèn)為主要有三種選擇:修剪單個(gè)權(quán)重、層和模塊等。

權(quán)重方面:指一些網(wǎng)絡(luò)中絕大多數(shù)(可能會(huì)>95%)訓(xùn)練過(guò)的權(quán)重對(duì)結(jié)果沒(méi)有幫助,確定哪些權(quán)重能提升網(wǎng)絡(luò)準(zhǔn)確性,將無(wú)用權(quán)重刪去。

層級(jí)方面:每個(gè)層中都有權(quán)重,2D的卷積層具有的權(quán)重張量被稱(chēng)為一個(gè)卷積核(kernel),包含寬度、高度和深度信息,縮小卷積核也是縮小模型的一種方法。

模塊方面:層通常會(huì)被組合在一起,形成可重復(fù)使用的子圖,也就是一個(gè)模塊。在這個(gè)層面的修剪會(huì)一次刪除多個(gè)層,從而減小模型體積。

具體操作

作者引入了寬度乘數(shù)(width multiplier)當(dāng)作超參數(shù),這種方法是谷歌首次在論文MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications中提出的。

論文地址:
https:///abs/1704.04861

寬度乘數(shù)能調(diào)整每個(gè)卷積層中濾波器的數(shù)量。如果層和寬度乘數(shù)alpha已經(jīng)給定,那將濾波器的數(shù)量F改成F×alpha即可。

通過(guò)這個(gè)超參數(shù),我們能夠利用李飛飛團(tuán)隊(duì)曾經(jīng)發(fā)表的方法,生成架構(gòu)相同但權(quán)重?cái)?shù)量不同的連續(xù)網(wǎng)絡(luò),就像下面這樣:

李飛飛論文Perceptual Losses for Real-Time Style Transfer and Super-Resolution:
https:///abs/1603.08155

當(dāng)alpha=1.0時(shí),生成網(wǎng)絡(luò)的權(quán)重為1.7M,當(dāng)alpha=0.5時(shí),得到權(quán)重?cái)?shù)量為424102個(gè)的一個(gè)網(wǎng)絡(luò)。

此時(shí)可以使用低寬度乘數(shù)制作構(gòu)建一些小網(wǎng)絡(luò),但里面也有很多重復(fù)模塊。

作者發(fā)現(xiàn),沒(méi)有辦法大刀闊斧地修剪這些重復(fù)模塊,參數(shù)數(shù)量固定時(shí),更深的網(wǎng)絡(luò)產(chǎn)生的結(jié)果更好。作者最終將五個(gè)殘差塊中刪去了兩個(gè),并將每層的默認(rèn)濾波器減少到32個(gè)。

看起來(lái)是這樣的:

用上述架構(gòu),作者在反復(fù)試驗(yàn)后將寬度乘數(shù)調(diào)整到了0.3,每層中有9個(gè)濾波器,最終生成一個(gè)只有11868個(gè)權(quán)重的神經(jīng)網(wǎng)絡(luò)。

量化

神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成后進(jìn)入最后的壓縮環(huán)節(jié)。

通常大家會(huì)將網(wǎng)絡(luò)權(quán)重存儲(chǔ)成64位或32位的浮點(diǎn)數(shù),所謂量化,就是將每一個(gè)浮點(diǎn)權(quán)重映射成位寬較低的整數(shù)。

從32位到8位的映射能將存儲(chǔ)空間減少4倍,并且目前每個(gè)主流移動(dòng)端框架都支持量化,包括TensorFlow Mobile、TensorFlow Lite、Core ML和Caffe2Go。

結(jié)果展示

最終,用11868個(gè)參數(shù)構(gòu)建的這個(gè)微型網(wǎng)絡(luò)架構(gòu)原始大小為1.7M,當(dāng)用Google的移動(dòng)端框架CoreML量化后,最終大小為17KB,僅為原始大小的0.25%。

這個(gè)超小型的遷移模型,可以將所見(jiàn)場(chǎng)景轉(zhuǎn)化成梵高名畫(huà)《星空》的風(fēng)格。

作者還發(fā)現(xiàn),盡管模型大小縮小了400倍,但在iPhoneX上的運(yùn)行速度只提高了50%,原因尚不明確。

用簡(jiǎn)單兩步操作將風(fēng)格遷移模型大小減少99.75%的方法,這次你學(xué)會(huì)了嗎?

傳送門(mén)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多