在线日韩女同,久久久久久久久久爽,欧美日高啪在线精视频,国产av美女被我操,玖玖视频在线观看免费,日韩乱人伦Av,九色高潮视频在线播放,青青re在线视频,大鸡巴在线视频网

MCU集成人工智能,要靠它了
作者 | 半導(dǎo)體行業(yè)觀察2022-03-07

對(duì)于TinyML來說,他們面臨的主要挑戰(zhàn)是如何采用相對(duì)較大的神經(jīng)網(wǎng)絡(luò)(有時(shí)為數(shù)百兆字節(jié)),使其適合并在資源受限的微控制器上運(yùn)行,同時(shí)保持最小的功率預(yù)算。為此,最有效的技術(shù)稱為量化(quantization)。

本文將提供對(duì)量化的基本理解,它是什么,它是如何使用的,以及為什么它很重要。

微型機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的內(nèi)存約束

在理解量化之前,重要的是要討論為什么神經(jīng)網(wǎng)絡(luò)通常會(huì)占用如此多的內(nèi)存。

神經(jīng)網(wǎng)絡(luò)由一系列層中的一系列相互連接的神經(jīng)元組成。如圖 1 所示,標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)由相互連接的神經(jīng)元層組成,每個(gè)神經(jīng)元都有自己的權(quán)重(weights)、偏差(biases)和與之相關(guān)的激活函數(shù)。

神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元示例

圖 1. 神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元示例。神經(jīng)元之間的每個(gè)連接都有自己的權(quán)重,而每個(gè)神經(jīng)元都有自己的偏置和激活函數(shù) 這些權(quán)重和偏差通常被稱為神經(jīng)網(wǎng)絡(luò)的“參數(shù)”。

每個(gè)神經(jīng)元也有自己的“激活”(activation),這個(gè)數(shù)字決定了該神經(jīng)元的活躍程度。神經(jīng)元的激活基于其權(quán)重和偏差值,以及使用的激活函數(shù)。

權(quán)重和偏差是在訓(xùn)練期間調(diào)整的參數(shù),并且通過擴(kuò)展,神經(jīng)元的激活也是如此。

這些值、權(quán)重、偏差和激活值是神經(jīng)網(wǎng)絡(luò)物理存儲(chǔ)在內(nèi)存中的大部分內(nèi)容。標(biāo)準(zhǔn)是將這些數(shù)字表示為 32 位浮點(diǎn)值,這樣可以實(shí)現(xiàn)高水平的精度,并最終提高神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確性。

這種準(zhǔn)確性是神經(jīng)網(wǎng)絡(luò)傾向于占用如此多內(nèi)存的原因。對(duì)于具有數(shù)百萬個(gè)參數(shù)和激活的網(wǎng)絡(luò),每個(gè)都存儲(chǔ)為一個(gè) 32 位值,內(nèi)存使用量很快就會(huì)增加。

例如,50 層的 ResNet 架構(gòu)包含大約 2600 萬個(gè)權(quán)重和 1600 萬個(gè)激活。通過使用 32 位浮點(diǎn)值來表示權(quán)重和激活值,整個(gè)架構(gòu)將需要 168 MB 的存儲(chǔ)空間。

什么是神經(jīng)網(wǎng)絡(luò)的量化?

量化是降低權(quán)重、偏差和激活的精度的過程,以使它們消耗更少的內(nèi)存。

換句話說,量化的過程就是取一個(gè)神經(jīng)網(wǎng)絡(luò)的過程,它一般使用 32 位浮點(diǎn)數(shù)來表示參數(shù),而是將其轉(zhuǎn)換為使用更小的表示,例如 8 位整數(shù)。

例如,從 32 位到 8 位,模型大小會(huì)減少 4 倍,因此量化的一個(gè)明顯好處是顯著減少內(nèi)存。

圖 2 顯示了一個(gè)示例。

量化通過降低權(quán)重、偏差和激活的精度來縮小神經(jīng)網(wǎng)絡(luò)

圖 2.量化通過降低權(quán)重、偏差和激活的精度來縮小神經(jīng)網(wǎng)絡(luò)

量化的另一個(gè)好處是它可以降低網(wǎng)絡(luò)延遲和提高電源效率。

由于可以使用整數(shù)而不是浮點(diǎn)數(shù)據(jù)類型執(zhí)行操作,因此提高了網(wǎng)絡(luò)速度。這些整數(shù)運(yùn)算需要在大多數(shù)處理器內(nèi)核(包括微控制器)上進(jìn)行較少的計(jì)算。

總體而言,由于減少了計(jì)算和減少了內(nèi)存訪問,因此功率效率得到了提高。

盡管有這些好處,但與量化的權(quán)衡是神經(jīng)網(wǎng)絡(luò)可能會(huì)失去準(zhǔn)確性,因?yàn)樗鼈儾荒芫_地表示信息。然而,根據(jù)精度損失的多少、網(wǎng)絡(luò)架構(gòu)和網(wǎng)絡(luò)訓(xùn)練/量化方案,已經(jīng)表明量化通常會(huì)導(dǎo)致非常小的精度損失,尤其是在權(quán)衡延遲、內(nèi)存使用方面的改進(jìn)時(shí),和權(quán)力。

如何量化機(jī)器學(xué)習(xí)模型

在實(shí)踐中,有兩種主要的量化方式: 1.訓(xùn)練后量化 2.量化感知訓(xùn)練

顧名思義,訓(xùn)練后量化是一種技術(shù),其中神經(jīng)網(wǎng)絡(luò)完全使用浮點(diǎn)計(jì)算進(jìn)行訓(xùn)練,然后進(jìn)行量化。

為此,一旦訓(xùn)練結(jié)束,神經(jīng)網(wǎng)絡(luò)就會(huì)被凍結(jié),這意味著它的參數(shù)不能再更新,然后參數(shù)就會(huì)被量化。量化模型最終被部署并用于執(zhí)行推理,而無需對(duì)訓(xùn)練后參數(shù)進(jìn)行任何更改。

雖然這種方法很簡(jiǎn)單,但由于所有與量化相關(guān)的誤差都發(fā)生在訓(xùn)練完成后,因此無法補(bǔ)償,因此會(huì)導(dǎo)致更高的精度損失。

如圖 3 所示,量化感知訓(xùn)練通過在訓(xùn)練期間使用前向傳遞中的量化版本訓(xùn)練神經(jīng)網(wǎng)絡(luò)來補(bǔ)償與量化相關(guān)的誤差。

量化感知訓(xùn)練流程圖

圖3.量化感知訓(xùn)練流程圖 這個(gè)想法是量化相關(guān)的誤差會(huì)在訓(xùn)練過程中累積在模型的總損失中,訓(xùn)練優(yōu)化器將相應(yīng)地調(diào)整參數(shù)并整體減少誤差。

量化感知訓(xùn)練的好處是損失比訓(xùn)練后量化低得多。

有關(guān)量化背后的數(shù)學(xué)的更深入的技術(shù)討論,建議閱讀Gholami 等人的這篇論文。

TinyML 的量化

對(duì)于 TinyML,量化是一個(gè)非常寶貴的工具,是整個(gè)領(lǐng)域的核心。

總而言之,量化是必要的,主要有以下三個(gè)原因:

1.量化顯著減小了模型大小——這使得在內(nèi)存受限的設(shè)備(如微控制器)上運(yùn)行 ML 更加可行。

2.量化允許 ML 模型在需要較少處理能力的情況下運(yùn)行——TinyML 中使用的 MCU 的處理單元的性能往往低于標(biāo)準(zhǔn) CPU 或 GPU。

3.量化可以降低功耗——TinyML 的最初目標(biāo)是以低于 1mW 的功率預(yù)算執(zhí)行 ML 任務(wù)。這是在由紐扣電池等小型電池供電的設(shè)備上部署 ML 所必需的。


熱門文章
當(dāng)您將模擬計(jì)算的優(yōu)點(diǎn)應(yīng)用于ML時(shí)會(huì)發(fā)生什么?據(jù)Aspinity稱,這種芯片可將系統(tǒng)功耗降低多達(dá)95%...
2022-03-07
X
鄢陵县| 柳江县| 红河县| 鹤山市| 康平县| 赤峰市| 霍州市| 桐乡市| 肃南| 玉树县| 伊吾县| 鄂托克旗| 泰来县| 贵港市| 大化| 甘肃省| 蚌埠市| 永顺县| 民勤县| 青河县| 淮南市| 会昌县| 襄樊市| 屯昌县| 盐池县| 锡林浩特市| 蒲江县| 革吉县| 板桥市| 安顺市| 循化| 岳普湖县| 射阳县| 盘山县| 乌拉特中旗| 尼木县| 海门市| 阜城县| 凤冈县| 赣榆县| 松滋市|