999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于K210開(kāi)發(fā)板的卷積神經(jīng)網(wǎng)絡(luò)教學(xué)設(shè)計(jì)*

2022-06-25 17:52:06穆明
中國(guó)教育技術(shù)裝備 2022年17期
關(guān)鍵詞:機(jī)器學(xué)習(xí)人工智能

摘? 要? 以人工智能課程中的卷積神經(jīng)網(wǎng)絡(luò)算法為例,設(shè)計(jì)基于人工智能開(kāi)發(fā)板的應(yīng)用案例進(jìn)行實(shí)驗(yàn)教學(xué),在幫助學(xué)生掌握算法理論的同時(shí),有效培養(yǎng)其工程實(shí)踐能力。

關(guān)鍵詞? 人工智能;卷積神經(jīng)網(wǎng)絡(luò);K210開(kāi)發(fā)板;機(jī)器學(xué)習(xí);邊緣智能

中圖分類(lèi)號(hào):G633.67? ? 文獻(xiàn)標(biāo)識(shí)碼:B

文章編號(hào):1671-489X(2022)17-0031-03

0? 引言

目前,人工智能課程教學(xué)已在中小學(xué)普遍實(shí)施,因課程專(zhuān)業(yè)理論體系涉及數(shù)學(xué)、計(jì)算機(jī)軟硬件等課程基礎(chǔ),給課程的有效落地實(shí)施帶來(lái)一定難度。日常教學(xué)如單純等同于一般計(jì)算機(jī)語(yǔ)言教學(xué),則會(huì)使學(xué)生感覺(jué)枯燥乏味;在教學(xué)實(shí)踐中如恰當(dāng)引入開(kāi)源硬件單片機(jī)實(shí)驗(yàn)教學(xué),則會(huì)使課程實(shí)施達(dá)到事半功倍的效果。機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練通常在電源充足和計(jì)算性能強(qiáng)勁的遠(yuǎn)程服務(wù)器中及云端進(jìn)行,當(dāng)訓(xùn)練完成后,機(jī)器學(xué)習(xí)系統(tǒng)就可以依據(jù)經(jīng)驗(yàn)自動(dòng)分析新的數(shù)據(jù)即推演。機(jī)器學(xué)習(xí)系統(tǒng)的推演過(guò)程通常在本地即在邊緣設(shè)備完成。為此,為增強(qiáng)機(jī)器學(xué)習(xí)課程教學(xué)實(shí)效,突出工程實(shí)踐性教學(xué),教學(xué)中在通俗講解機(jī)器學(xué)習(xí)課程算法基礎(chǔ)和模型實(shí)現(xiàn)的基礎(chǔ)上,增設(shè)邊緣智能實(shí)驗(yàn)的教學(xué)設(shè)計(jì)環(huán)節(jié),從而極大對(duì)提高學(xué)生學(xué)習(xí)的興趣和課堂教學(xué)質(zhì)量。以下從經(jīng)典的深度學(xué)習(xí)模型卷積神經(jīng)網(wǎng)絡(luò)算法分析入手,基于K210開(kāi)發(fā)板進(jìn)行邊緣智能實(shí)驗(yàn)設(shè)計(jì)。

1? 卷積神經(jīng)網(wǎng)絡(luò)算法分析

通常數(shù)學(xué)卷積的卷積核需要翻轉(zhuǎn),而卷積神經(jīng)網(wǎng)絡(luò)的卷積是提取圖像特征進(jìn)行加權(quán)求和,不翻轉(zhuǎn),稱(chēng)為互相關(guān),也稱(chēng)為不翻轉(zhuǎn)卷積,其卷積核是根據(jù)數(shù)據(jù)訓(xùn)練學(xué)習(xí)的參數(shù),不是給定的,無(wú)論翻轉(zhuǎn)與否,對(duì)應(yīng)的都是待學(xué)習(xí)的未知參數(shù)。卷積神經(jīng)網(wǎng)絡(luò)(CNN)與全連接神經(jīng)網(wǎng)絡(luò)(DNN)都屬于前饋神經(jīng)網(wǎng)絡(luò),其正向傳播的算法原理大致相同,整個(gè)網(wǎng)絡(luò)可看作一個(gè)復(fù)合函數(shù)。按照現(xiàn)有經(jīng)典著作講解卷積神經(jīng)網(wǎng)絡(luò)計(jì)算損失函數(shù)關(guān)于權(quán)重參數(shù)梯度的常規(guī)算法非常煩瑣。為此,借鑒計(jì)算機(jī)進(jìn)行矩陣運(yùn)算轉(zhuǎn)為向量運(yùn)算這一思想,將卷積核和卷積層矩陣平鋪拼接為向量形式,就得到類(lèi)似全連接神經(jīng)網(wǎng)絡(luò)的前向傳播公式,相應(yīng)的反向傳播求導(dǎo)就可以簡(jiǎn)化。

1.1? 卷積圖像轉(zhuǎn)為列向量(求傳播誤差)

1.1.1? 前向傳播

將待卷積圖像矩陣(按行向量?jī)?yōu)先)轉(zhuǎn)為列向量X(活性值)、卷積核W(按行向量?jī)?yōu)先)拼接為行向量(與待卷積圖像矩陣元素不相關(guān)的對(duì)應(yīng)位置處以0為間隔拼接),以卷積子圖像數(shù)為矩陣行數(shù)轉(zhuǎn)換成新矩陣A,由矩陣相乘再加偏置向量b得到卷積后列向量Y(凈活性值),等價(jià)于卷積圖像與卷積核W做互相關(guān)運(yùn)算(特稱(chēng)為正向卷積,為窄卷積)。卷積神經(jīng)網(wǎng)絡(luò)l層的前向傳播公式變?yōu)椋篩=AXl+b,Xl=f(Yl-1)。

1.1.2? 反向傳播

卷積操作通過(guò)仿射變換(Y=AX)可實(shí)現(xiàn)由高維特征到低維特征的轉(zhuǎn)換,也可以轉(zhuǎn)置A實(shí)現(xiàn)低維到高維的反向映射。如果對(duì)上述卷積核經(jīng)鋪開(kāi)拼接得到的矩陣A進(jìn)行轉(zhuǎn)置,然后與低維輸入向量Y做矩陣乘法即反向映射,得到高維輸出向量X,等價(jià)于卷積核W與正向卷積的輸出圖像做數(shù)學(xué)卷積運(yùn)算(稱(chēng)為轉(zhuǎn)置卷積或反卷積,為寬卷積)[1]。

1.2? 卷積核轉(zhuǎn)為列向量(求參數(shù)梯度)

1.2.1? 前向傳播? 將卷積核矩陣所有行拼接為一個(gè)列向量(W),將輸入圖像X每個(gè)卷積子圖像(按照行優(yōu)先)拼接為一個(gè)行向量,所有卷積子圖像形成的行向量按原定的卷積順序組合形成矩陣A(矩陣行數(shù)為卷積子圖像數(shù)),前向傳播公式等價(jià)為:Y=AW+b。

1.2.2? 反向傳播

同樣可以借助轉(zhuǎn)置卷積,此轉(zhuǎn)置卷積等價(jià)于輸入卷積圖像與卷積輸出圖像做互相關(guān)運(yùn)算(為窄卷積)。根據(jù)卷積核或卷積圖像轉(zhuǎn)為列向量的前向傳播公式對(duì)偏置向量求導(dǎo),為便于與對(duì)W求偏導(dǎo)數(shù)相統(tǒng)一,借助將卷積核轉(zhuǎn)為列向量的前向傳播公式Y(jié)=AW+b求導(dǎo)。

1.3? 匯聚層求導(dǎo)

因匯聚層為下采樣操作,當(dāng)?shù)趌層為匯聚層時(shí),采取上采樣由l層的損失函數(shù)誤差得到第l-1層的損失函數(shù)誤差。上采樣之后,由于匯聚是一個(gè)線性函數(shù)的過(guò)程,因此要求針對(duì)上一層的Yl-1的梯度,中間只有一個(gè)上一層的Yl-1到Xl的激活函數(shù)。匯聚層下采樣有平均匯聚和最大匯聚兩種方法。

2? 邊緣智能實(shí)驗(yàn)設(shè)計(jì)

剖析卷積神經(jīng)網(wǎng)絡(luò)模型算法原理后,便可以借助TensorFlow等深度學(xué)習(xí)開(kāi)發(fā)框架進(jìn)行模型訓(xùn)練和測(cè)試,通常將由TensorFlow保存的HDF5模型轉(zhuǎn)換為T(mén)FLite格式,在正式進(jìn)入邊緣智能實(shí)驗(yàn)之前,由于NNC模型量化工具對(duì)TFLite格式支持較好,故需在電腦上將訓(xùn)練完成的模型轉(zhuǎn)換為T(mén)FLite格式后再進(jìn)行量化,生成KModel格式模型(由NNCase

工具轉(zhuǎn)換)供K210單片機(jī)調(diào)用。K210芯片架構(gòu)包含一個(gè)自研的神經(jīng)網(wǎng)絡(luò)硬件加速器KPU以便進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)運(yùn)算。KPU支持主流訓(xùn)練框架按照特定限制規(guī)則訓(xùn)練出來(lái)的定點(diǎn)化模型。教學(xué)實(shí)踐中以亞博智能K210開(kāi)發(fā)板為載體,下載已在外部設(shè)備訓(xùn)練好的普適模型,基于開(kāi)發(fā)板自帶傳感設(shè)備采集的數(shù)據(jù)進(jìn)行測(cè)試預(yù)測(cè),從而實(shí)現(xiàn)一定功能。以下以亞博智能K210開(kāi)發(fā)板(技術(shù)資料參考亞博智能K210開(kāi)發(fā)板套件)為例,搭建基于C(亞博智能K210開(kāi)發(fā)板隨機(jī)資料只提供C語(yǔ)言學(xué)習(xí)代碼)和Python兩種嵌入式開(kāi)發(fā)環(huán)境系統(tǒng),調(diào)用卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)人臉識(shí)別案例進(jìn)行實(shí)驗(yàn)設(shè)計(jì)教學(xué)。

2.1? 基于C語(yǔ)言的環(huán)境搭建

人臉檢測(cè)技術(shù),一是判斷圖片中是否包含人臉區(qū)域;二是如果圖片中存在人臉,將人臉的位置預(yù)測(cè)出來(lái)。推薦在Win10系統(tǒng)下通過(guò)VSCode編輯器搭建K210的開(kāi)發(fā)環(huán)境。

2.1.1? 人臉檢測(cè)技術(shù)代碼流程及代碼

1)系統(tǒng)內(nèi)部初始化:①系統(tǒng)時(shí)鐘初始化;②串口初始化;③硬件引腳初始化;④IO電壓設(shè)置; ⑤系統(tǒng)中斷初始化;⑥Flash初始化。

2)外部硬件初始化:①LCD初始化;②OV2640(攝像頭)初始化。

3)人臉檢測(cè)初始化:①模型加載;②人臉檢測(cè)層配置初始化。

4)人臉檢測(cè)業(yè)務(wù)邏輯層:①等待攝像頭采集完成;②傳入攝像頭采集的圖像到KPU運(yùn)行模型;③等待KPU處理完成;④獲取KPU最終處理的結(jié)果;⑤把KPU處理的結(jié)果帶入?yún)^(qū)域?qū)佑?jì)算最終

位置;⑥根據(jù)獲取的人臉個(gè)數(shù)進(jìn)行逐一標(biāo)記。

核心代碼:

int main(void)

{

sysclock_init();? ?/*系統(tǒng)時(shí)鐘初始化*/

uarths_init();? ? ?/*串口初始化*/

hardware_init();? ?/*硬件引腳初始化*/

io_set_power();? ? /*設(shè)置IO口電壓*/

plic_init();? ? ? ?/*系統(tǒng)中斷初始化*/

printf(“flash init\n”);

w25qxx_init(3, 0);? ? ? ? ? ?/*Flash init*/

w25qxx_enable_quad_mode();? ?/*Flash 四

倍模式開(kāi)啟*/

/*KModel加載方式:1.分開(kāi)燒錄模式;

2.直接與代碼合并編譯*/

#if LOAD_KMODEL_FROM_FLASH

model_data = (uint8_t*)malloc(KMODEL_

SIZE + 255);

uint8_t *model_data_align(uint8_t*)(((uintptr_t)model_data+255)&(~255));

#else

uint8_t *model_data_align = model_data;

#endif

ov2640_init();

/*加載KModel,需要與NNCase配合使用*/

if (kpu_load_kmodel(&face_detect_task, model_

data_align) != 0)

{

printf(“\nmodel init error\n”);

while (1);

}

2.1.2? 代碼編譯? 把K210隨機(jī)資料中的 face_

detection文件夾復(fù)制到SDK中的src目錄下,然后進(jìn)入build目錄,刪除build目錄下所有文件,最后運(yùn)行以下命令編譯:

cmake .. -DPROJ=face_detection -G “MinGW Makefiles”?make

編譯完成后在build文件夾下生成對(duì)應(yīng)文件名的待燒寫(xiě)二進(jìn)制文件。

2.1.3? 代碼燒錄

打開(kāi)kflash下載程序?qū)⑸傻拇裏龑?xiě)二進(jìn)制文件燒錄到K210開(kāi)發(fā)板。

2.2? 基于MicroPython的環(huán)境搭建

下載MaixPy固件到K210開(kāi)發(fā)板(相當(dāng)于給開(kāi)發(fā)板燒錄系統(tǒng)),MaixPy使用MicroPython腳本語(yǔ)法[2],不像C語(yǔ)言一樣需要編譯,要使用MaixPy IDE,開(kāi)發(fā)板固件必須是V0.3.1版本以上,否則MaixPy IDE連接不上開(kāi)發(fā)板,使用前盡量都更新到最新版以保障能正常使用。通常一個(gè)固件文件中至少有四個(gè)文件,以“maixpy_v0.5.0_31_gd3e71c0”固件為例,具體說(shuō)明如下。

1)eif_maixpy_v0.5.0_31_gd3e71c0.7z:普通用戶(hù)不用關(guān)心,用于死機(jī)調(diào)試。

2)maixpy_v0.5.0_31_gd3e71c0_m5stickv:M5STACK環(huán)境。

3)maixpy_v0.5.0_31_gd3e71c0_minimum:MaixPy固件最小集合,不支持MaixPy IDE,不包含OpenMV的相關(guān)算法。

4)maixpy_v0.5.0_31_gd3e71c0.bin:完整版的MaixPy固件。

正常使用的完整版MaixPy固件,搭建步驟如下所示。

1)確定開(kāi)發(fā)板:工具—選擇開(kāi)發(fā)板—kendryte?KD233。

2)安裝驅(qū)動(dòng),選擇端口:工具—打開(kāi)終端—串行端口—COM3—115200。

3)連接:圖標(biāo)綠色變紅色表示已連接。

主要代碼為:

import sensor

import image

import lcd

import KPU as kpu

import time

from Maix import FPIOA, GPIO

import gc

from fpioa_manager import fm

from board import board_info

import utime

task_fd = kpu.load(0x300000)

task_ld = kpu.load(0x400000)

task_fe = kpu.load(0x500000)

lcd.init()

sensor.reset()

sensor.set_pixformat(sensor.RGB565)

sensor.set_framesize(sensor.QVGA)

sensor.set_hmirror(0)

sensor.set_vflip(0)

sensor.skip_frames()? ? /*跳過(guò)一些幀數(shù),因?yàn)閿z像頭啟動(dòng)時(shí)圖像沒(méi)穩(wěn)定*/

lcd.init(invert=1)

sensor.run(1)

3? 結(jié)束語(yǔ)

在機(jī)器學(xué)習(xí)課程中引入邊緣智能實(shí)驗(yàn)教學(xué),可以彌補(bǔ)教學(xué)實(shí)施“重軟輕硬”(即重視基礎(chǔ)理論教學(xué),忽視實(shí)踐應(yīng)用教學(xué))的不足,引導(dǎo)一線教師重視邊緣智能實(shí)踐應(yīng)用教學(xué),有效提升人工智能課程的教學(xué)效益,為培養(yǎng)軟硬能力兼?zhèn)涞募夹g(shù)應(yīng)用人才奠定基礎(chǔ)。

參考文獻(xiàn)

[1] 邱錫鵬.神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)[M].北京:機(jī)械工業(yè)出版社,2020:115-129.

[2] 邵子揚(yáng).MicroPython入門(mén)指南[M].北京:電子工業(yè)出版社,2018:6-22.

*項(xiàng)目來(lái)源:2021年度山東省教育教學(xué)研究一般課題“中小學(xué)人工智能課程內(nèi)容設(shè)計(jì)與實(shí)施范例研究”(課題編號(hào):2021JXY383)。

作者:穆明,淄博市基礎(chǔ)教育研究院,高級(jí)教師,研究方向?yàn)闄C(jī)器學(xué)習(xí)算法(255033)。

猜你喜歡
機(jī)器學(xué)習(xí)人工智能
我校新增“人工智能”本科專(zhuān)業(yè)
2019:人工智能
商界(2019年12期)2019-01-03 06:59:05
人工智能與就業(yè)
數(shù)讀人工智能
小康(2017年16期)2017-06-07 09:00:59
基于詞典與機(jī)器學(xué)習(xí)的中文微博情感分析
基于網(wǎng)絡(luò)搜索數(shù)據(jù)的平遙旅游客流量預(yù)測(cè)分析
前綴字母為特征在維吾爾語(yǔ)文本情感分類(lèi)中的研究
基于支持向量機(jī)的金融數(shù)據(jù)分析研究
下一幕,人工智能!
下一幕,人工智能!
主站蜘蛛池模板: 婷婷五月在线视频| 国产精品无码一区二区桃花视频| 亚洲开心婷婷中文字幕| 日韩精品一区二区深田咏美| AV色爱天堂网| 伊人久综合| 国产亚洲视频中文字幕视频 | 91精品久久久无码中文字幕vr| 精品少妇人妻无码久久| 免费看的一级毛片| 老熟妇喷水一区二区三区| 久久亚洲天堂| 青青青国产视频手机| 日韩精品无码一级毛片免费| 色婷婷亚洲综合五月| 国产91无毒不卡在线观看| 欧美啪啪网| AⅤ色综合久久天堂AV色综合| 精品视频第一页| 国产亚洲精品97在线观看| 中文字幕首页系列人妻| 欧美成人精品一级在线观看| 国产欧美视频综合二区| 日韩欧美中文字幕在线精品| 玖玖精品视频在线观看| 国产网站免费| 成人免费视频一区二区三区| 亚洲精品福利网站| 国产精品女在线观看| 国产永久免费视频m3u8| 国产情侣一区二区三区| 国产在线高清一级毛片| 视频在线观看一区二区| 91精品综合| 国产欧美中文字幕| 亚洲视频无码| 久久免费视频6| 99视频免费观看| 久久亚洲AⅤ无码精品午夜麻豆| 国产一在线| 黄色三级毛片网站| 91精品小视频| 好吊日免费视频| 深夜福利视频一区二区| 亚洲国产日韩在线观看| 91一级片| 在线观看视频一区二区| 四虎国产精品永久一区| 国产在线精彩视频二区| 一本大道香蕉高清久久| 国产精品偷伦在线观看| 内射人妻无码色AV天堂| 婷婷亚洲综合五月天在线| 亚洲av日韩av制服丝袜| 国产精品原创不卡在线| 日日拍夜夜嗷嗷叫国产| 亚洲浓毛av| 91久久国产综合精品女同我| 亚洲视频三级| 91网站国产| 国产成人a在线观看视频| 国产麻豆精品久久一二三| 国产午夜在线观看视频| 亚洲国产精品日韩欧美一区| 中文字幕无码av专区久久| 久久永久免费人妻精品| 亚洲妓女综合网995久久| 国产极品美女在线观看| 高清无码一本到东京热| 国产在线精品香蕉麻豆| 亚洲综合色在线| 91青青草视频在线观看的| 一级毛片在线播放| 欧美性精品| 亚洲无码高清一区二区| 亚洲啪啪网| 91麻豆国产视频| 一本二本三本不卡无码| 久久婷婷综合色一区二区| 午夜激情婷婷| 一本大道东京热无码av| 国产亚洲欧美日韩在线观看一区二区|