您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)TensorFlow中的剪枝優(yōu)化指的是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
一直以來,AI模型的壓縮算法都是門高深的學(xué)問,之前國內(nèi)深鑒科技也憑借著高效率的壓縮算法,讓更多輕量的計(jì)算終端也能享受AI的好處。
目前主流AI所使用的人工神經(jīng)網(wǎng)絡(luò)顧名思義,就是個(gè)非常復(fù)雜,互相牽連的網(wǎng)絡(luò)結(jié)構(gòu),由于圖像、語言、文字等不同類型的樣本,會(huì)以不同的方式進(jìn)行切割、存儲(chǔ),形成最基礎(chǔ)的神經(jīng)元,而機(jī)器學(xué)習(xí)或深度學(xué)習(xí),就是要想辦法在這些看似不相干的神經(jīng)元中找出關(guān)連,并形成綿密的網(wǎng)狀邏輯。
然而神經(jīng)元越多,網(wǎng)絡(luò)越龐大,需要用來儲(chǔ)存神經(jīng)網(wǎng)絡(luò)的空間需求也越高,但存儲(chǔ)空間在某些終端,尤其是移動(dòng)智能設(shè)備中,是非常稀有的資源,因此如果要讓這些儲(chǔ)存空間有限的智能終端也能形成AI處理能力,那么神經(jīng)網(wǎng)絡(luò)模型就不能太大。
很有趣的是,其實(shí)我們大腦在成長過程中,也會(huì)經(jīng)歷類似的過程,這個(gè)過程叫做synaptic pruning,也就是神經(jīng)突觸修剪。而如果大腦沒有在發(fā)育過程中經(jīng)過有效的修剪,最終可能會(huì)發(fā)展成自閉癥。而自閉癥大腦前額葉的神經(jīng)連結(jié)遠(yuǎn)比正常人多。
補(bǔ)充TensorFlow模型優(yōu)化工具的不足
為了解決這個(gè)問題,包括深鑒在內(nèi)的很多開發(fā)者,都提出過不同的壓縮方式與邏輯,而其中,剪枝法已經(jīng)被證明是效率最高的其中一種。剪枝法其實(shí)就是把神經(jīng)網(wǎng)絡(luò)中,對(duì)整體邏輯影響層面小,甚至是不需要的分支修剪掉,讓模型的大小可以更有效的控制,然而剪枝法最重要的關(guān)鍵在于要剪在對(duì)的地方,才能在提升效率、降低存儲(chǔ)空間需求的同時(shí),又要能兼顧模型邏輯的正確性。
Google在2018年曾發(fā)表了模型優(yōu)化工具,通過使用訓(xùn)練后量化的機(jī)制,能夠大幅降低機(jī)器學(xué)習(xí)模型的存儲(chǔ)空間需求,以及提升執(zhí)行效率。
最初,該量化方法是采用降低參數(shù)的精度來達(dá)成,簡(jiǎn)單來說,就是原本使用32bit浮點(diǎn)的模型,使用8bit整數(shù)來重新存儲(chǔ)和計(jì)算。當(dāng)然,優(yōu)化過程中還是需要經(jīng)過比對(duì)和校準(zhǔn),借以避免嚴(yán)重失真的狀況。
而才剛推出的剪枝API,則是在之前的模型優(yōu)化工具中心增的優(yōu)化工具。其功能就是前面所提到的,通過算法,修剪掉在權(quán)重張量(Weight Tensor)中的非必要數(shù)值,讓神經(jīng)網(wǎng)絡(luò)中不必要的連接降到最低。
而剪枝API可以和前一版本的量化優(yōu)化兼容,換句話說,開發(fā)者可以在其模型中同時(shí)使用兩種優(yōu)化方式,借以取得更好的優(yōu)化效率。
Google也在工具說明中示范了如何把MNIST的90%稀疏模型從12MB壓縮到2MB。
而在更多的模型壓縮實(shí)驗(yàn)中,在不同稀疏準(zhǔn)確率條件的設(shè)定下,剪枝API的壓縮效率表現(xiàn)從50%到90%,表現(xiàn)相當(dāng)不錯(cuò)。
工作原理
這個(gè)新的壓縮優(yōu)化工具是基于Keras的權(quán)重修剪API,使用簡(jiǎn)單但廣泛適用的算法,并根據(jù)訓(xùn)練期間的大小迭代刪除連接。
開發(fā)者指定最終目標(biāo)稀疏度(例如90%),以及執(zhí)行修剪的計(jì)劃(例如,在步驟2,000開始修剪,在步驟10,000停止,并且每100步執(zhí)行一次),以及修剪的可選配置結(jié)構(gòu)(例如,應(yīng)用于某些形狀的單個(gè)值或值塊)。
隨著訓(xùn)練的進(jìn)行,修剪流程將被安排執(zhí)行,消除那些具有最低幅度值(即最接近零的那些)的權(quán)重,直到達(dá)到指定的稀疏度目標(biāo)。 每次修剪流程被安排執(zhí)行時(shí),便會(huì)重新計(jì)算當(dāng)前稀疏度目標(biāo),從0%開始,直到它在修剪計(jì)劃結(jié)束時(shí)達(dá)到最終目標(biāo)稀疏度為止。
看完上述內(nèi)容,你們對(duì)TensorFlow中的剪枝優(yōu)化指的是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。