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í);邊緣智能

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

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

0? 引言

目前,人工智能課程教學(xué)已在中小學(xué)普遍實(shí)施,因課程專業(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),稱為互相關(guān),也稱為不翻轉(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)算這一思想,將卷積核和卷積層矩陣平鋪拼接為向量形式,就得到類似全連接神經(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)算(特稱為正向卷積,為窄卷積)。卷積神經(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)算(稱為轉(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)換為TFLite格式,在正式進(jìn)入邊緣智能實(shí)驗(yàn)之前,由于NNC模型量化工具對(duì)TFLite格式支持較好,故需在電腦上將訓(xùn)練完成的模型轉(zhuǎn)換為TFLite格式后再進(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:普通用戶不用關(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].北京:電子工業(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í)人工智能
我校新增“人工智能”本科專業(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ǔ)文本情感分類中的研究
基于支持向量機(jī)的金融數(shù)據(jù)分析研究
下一幕,人工智能!
下一幕,人工智能!
主站蜘蛛池模板: 97国产在线视频| 国产成人夜色91| 国产白浆一区二区三区视频在线| 亚洲第一av网站| 亚洲精品中文字幕无乱码| 欧美成人第一页| 亚洲国产成人无码AV在线影院L| 成人精品亚洲| 日本a∨在线观看| 成年人久久黄色网站| 国产va在线观看免费| 欧美黄网在线| 国产高清在线丝袜精品一区| 午夜久久影院| 久久性妇女精品免费| 免费毛片网站在线观看| 精品色综合| 国产精品深爱在线| 国产综合网站| 国产在线麻豆波多野结衣| 日韩国产亚洲一区二区在线观看| 国产区网址| 成人免费一级片| 98超碰在线观看| 2020国产在线视精品在| a亚洲天堂| 国产凹凸一区在线观看视频| 亚洲国产中文精品va在线播放 | 国产成人资源| 亚洲精品高清视频| 国产白浆视频| 亚洲国产成人在线| 91美女视频在线| 国产日韩精品一区在线不卡| 啪啪国产视频| 伊人成色综合网| 国产免费羞羞视频| 97超爽成人免费视频在线播放| 99久久婷婷国产综合精| 亚洲男人的天堂在线观看| 91丝袜美腿高跟国产极品老师| 99国产精品国产高清一区二区| 欧美一级在线看| 在线视频亚洲色图| 亚洲男人天堂久久| 欧美日韩亚洲综合在线观看| 香蕉精品在线| 亚洲精品色AV无码看| 国产精品手机视频| 亚洲精品爱草草视频在线| 久久国产精品波多野结衣| 欧美日韩激情在线| 欧美成人a∨视频免费观看| 天天操精品| 亚洲视频三级| 69精品在线观看| 91无码人妻精品一区二区蜜桃| AV天堂资源福利在线观看| 国产高清在线观看| 亚洲婷婷丁香| 国产午夜精品一区二区三| 国产三级韩国三级理| 国产亚洲精品自在线| 欧洲高清无码在线| 久久精品无码专区免费| 国产日韩欧美在线播放| 中文字幕丝袜一区二区| 免费va国产在线观看| 成人午夜网址| 91久久偷偷做嫩草影院| 日本成人不卡视频| 亚洲丝袜中文字幕| 中文字幕天无码久久精品视频免费 | 少妇露出福利视频| 伊人久久福利中文字幕| 久久黄色视频影| 伊人久久福利中文字幕| 中文字幕永久在线观看| 无码一区二区波多野结衣播放搜索| 欧美一区二区三区不卡免费| 国产成人综合在线观看| 精品1区2区3区|