人工智能,不止于模型:四步實(shí)現(xiàn)完整工作流

AI通常只是一個(gè)較大的系統(tǒng)中較小的組成部分,它必須能夠在各種場(chǎng)景下正常地與最終產(chǎn)品的其他所有組成部分協(xié)同工作,包括其他傳感器和算法,例如控制、信號(hào)處理和傳感器融合。

作者:Johanna Pingel,MathWorks產(chǎn)品經(jīng)理,主要負(fù)責(zé)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)應(yīng)用,致力于讓AI更實(shí)用、更有趣、更可行。她于2013年加入公司,擅長(zhǎng)MATLAB圖像處理和計(jì)算機(jī)視覺(jué)應(yīng)用。

工程師越來(lái)越多地致力于將人工智能(AI)集成到自己的項(xiàng)目和應(yīng)用中,同時(shí)不斷著力提升自己的AI技能。

面對(duì)AI問(wèn)題,工程師首先要了解什么是AI,以及如何將它納入當(dāng)前工作流,這看似簡(jiǎn)單,實(shí)則未必容易。

在Google中搜索“什么是AI?”會(huì)得到數(shù)百萬(wàn)條結(jié)果,包括不同程度的技術(shù)和相關(guān)信息。

那么,對(duì)工程師而言,AI意味著什么?

人們對(duì)AI的關(guān)注主要集中在AI模型上,受此影響,工程師會(huì)迅速投入AI建模的研究。

但經(jīng)歷了最初幾個(gè)項(xiàng)目后,工程師很快會(huì)意識(shí)到,AI不僅僅是建模,它實(shí)際上涵蓋一整套步驟,包括數(shù)據(jù)準(zhǔn)備、建模、仿真和測(cè)試以及部署。

1.png

圖1.工程師實(shí)現(xiàn)AI驅(qū)動(dòng)的完整工作流的四個(gè)步驟。©1984–2020 The MathWorks,Inc.

使用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的工程師通常要花大量時(shí)間開(kāi)發(fā)和微調(diào)AI模型。

建模的確是工作流中的一個(gè)重要步驟,但工作流并不止于模型。

要在實(shí)踐中成功實(shí)現(xiàn)AI,關(guān)鍵是提前發(fā)現(xiàn)問(wèn)題,了解在工作流的哪些方面重點(diǎn)投入時(shí)間和資源才能實(shí)現(xiàn)最佳結(jié)果。

這些步驟往往不是那么直接。

在深入研究完整工作流之前,還需要考慮以下兩個(gè)事項(xiàng):

1.AI通常只是一個(gè)較大的系統(tǒng)中較小的組成部分,它必須能夠在各種場(chǎng)景下正常地與最終產(chǎn)品的其他所有組成部分協(xié)同工作,包括其他傳感器和算法,例如控制、信號(hào)處理和傳感器融合。

2.在此場(chǎng)景下,工程師已掌握實(shí)現(xiàn)AI集成所需的技能。他們對(duì)問(wèn)題已具備充分的了解,在數(shù)據(jù)準(zhǔn)備和設(shè)計(jì)模型工具的幫助下,即便并非AI專(zhuān)家,也能充分運(yùn)用已有的專(zhuān)業(yè)知識(shí)。

AI驅(qū)動(dòng)的工作流

現(xiàn)在,我們可以深入探討實(shí)現(xiàn)AI驅(qū)動(dòng)的完整工作流的四個(gè)步驟,更好地了解每個(gè)步驟在項(xiàng)目AI集成中發(fā)揮的關(guān)鍵作用。

步驟1:數(shù)據(jù)準(zhǔn)備

數(shù)據(jù)準(zhǔn)備可以說(shuō)是AI工作流中的首要步驟:沒(méi)有準(zhǔn)確可靠的數(shù)據(jù)輸入來(lái)訓(xùn)練模型,項(xiàng)目失敗的可能性會(huì)大大增加。

如果工程師為模型提供的是“壞”數(shù)據(jù),他們就無(wú)法獲得深度結(jié)果,而且可能需要花大量時(shí)間來(lái)尋找模型失敗的原因。

要訓(xùn)練模型,應(yīng)該首先盡量收集經(jīng)過(guò)清理且已標(biāo)注的數(shù)據(jù)。這也可能是此工作流中最耗時(shí)的一個(gè)步驟。

如果深度學(xué)習(xí)模型效果不如預(yù)期,人們往往會(huì)關(guān)注如何改進(jìn)模型:調(diào)整參數(shù)、微調(diào)模型以及執(zhí)行多次訓(xùn)練迭代。

然而,對(duì)工程師來(lái)說(shuō),更可取的做法是將重點(diǎn)放在輸入的數(shù)據(jù)上:在將數(shù)據(jù)導(dǎo)入模型之前,先進(jìn)行數(shù)據(jù)預(yù)處理,保證數(shù)據(jù)的準(zhǔn)確標(biāo)注,從而確保模型能夠理解數(shù)據(jù)。

來(lái)自工程機(jī)械設(shè)備公司卡特彼勒的示例反映了數(shù)據(jù)準(zhǔn)備的重要性。該公司從各類(lèi)機(jī)械設(shè)備中收集了大量現(xiàn)場(chǎng)數(shù)據(jù)。這樣的海量數(shù)據(jù)對(duì)準(zhǔn)確進(jìn)行AI建模十分必要,但龐大的數(shù)據(jù)規(guī)??赡茏寯?shù)據(jù)清理和標(biāo)注過(guò)程異常耗時(shí)。

為了精簡(jiǎn)流程,卡特彼勒采用自動(dòng)標(biāo)注并集成MATLAB,快速提煉出經(jīng)過(guò)清理的已標(biāo)注數(shù)據(jù)來(lái)輸入機(jī)器學(xué)習(xí)模型,從而根據(jù)現(xiàn)場(chǎng)機(jī)械數(shù)據(jù)提供更有價(jià)值的深度信息。

這一過(guò)程具備可擴(kuò)展性,并讓用戶(hù)得以靈活運(yùn)用自己的專(zhuān)業(yè)知識(shí),而無(wú)需成為AI領(lǐng)域的專(zhuān)家。

觀看這個(gè)視頻,了解卡特彼勒是如何有效地利用龐大的數(shù)據(jù):

https://ww2.mathworks.cn/videos/big-data-data-analytics-and-machine-deep-learning-infrastructure-at-caterpillar-1497292968613.html

2.png

步驟2:AI建模

清理并正確標(biāo)注數(shù)據(jù)后,即進(jìn)入工作流的建模階段,在此階段會(huì)將數(shù)據(jù)作為輸入,然后模型基于這些數(shù)據(jù)進(jìn)行學(xué)習(xí)。

建模階段成功的標(biāo)志是創(chuàng)建準(zhǔn)確穩(wěn)健的模型,該模型可以基于數(shù)據(jù)作出明智決策。

在建模階段,為得到最為準(zhǔn)確、穩(wěn)健的結(jié)果,工程師會(huì)將深度學(xué)習(xí)、機(jī)器學(xué)習(xí)或兩者結(jié)合納入工作流。

在這個(gè)階段,無(wú)論是選擇深度學(xué)習(xí)模型(神經(jīng)網(wǎng)絡(luò))還是機(jī)器學(xué)習(xí)模型(SVM、決策樹(shù)等),很重要的一點(diǎn)是能夠直接獲取AI工作流所用的多種算法,如分類(lèi)、預(yù)測(cè)和回歸。您可能還希望從更為廣大的社區(qū)獲取社區(qū)開(kāi)發(fā)的各種預(yù)置模型,將其用作起點(diǎn)或作為比較。

MATLAB和Simulink等靈活的工具為工程師提供了迭代環(huán)境中所需的支持。盡管算法和預(yù)置模型可作為良好的開(kāi)端,但這還不是全部。

借助示例,工程師可以學(xué)習(xí)如何運(yùn)用這些算法,并找到解決其具體問(wèn)題的最佳方法,而MATLAB提供了數(shù)百個(gè)這樣的AI建模示例,涵蓋多個(gè)領(lǐng)域。

在整個(gè)工作流中,AI建模是一個(gè)迭代步驟,工程師必須在此步驟全程跟蹤他們對(duì)模型所做的更改。

使用試驗(yàn)管理器等工具跟蹤變更和記錄訓(xùn)練迭代至關(guān)重要:這有助于解釋那些促成最準(zhǔn)確模型的參數(shù),并產(chǎn)生可重現(xiàn)的結(jié)果。

步驟3:仿真和測(cè)試

AI模型是一個(gè)較大系統(tǒng)的組成部分,必須與系統(tǒng)中的其他各個(gè)部分協(xié)同工作。

以自動(dòng)駕駛場(chǎng)景為例:您不僅要有檢測(cè)目標(biāo)(行人、車(chē)輛、停車(chē)標(biāo)志)的感知系統(tǒng),該系統(tǒng)還必須與其他系統(tǒng)相集成,以進(jìn)行定位、路徑規(guī)劃、控制等。

在將AI模型部署到實(shí)際應(yīng)用之前,需要通過(guò)仿真和準(zhǔn)確性測(cè)試來(lái)驗(yàn)證模型本身是否正常工作,能否與其他系統(tǒng)良好地協(xié)同工作。

要在部署前實(shí)現(xiàn)上述程度的準(zhǔn)確性和穩(wěn)健性,工程師必須確保模型在任何情況下都能以預(yù)期方式作出響應(yīng)。在此階段應(yīng)提出的問(wèn)題包括:

模型的整體準(zhǔn)確度如何?

模型在每種場(chǎng)景下的表現(xiàn)是否符合預(yù)期?

模型是否已涵蓋各種邊緣情形?

如果成功對(duì)模型預(yù)期會(huì)遇到的各種情形進(jìn)行了仿真和測(cè)試,并且驗(yàn)證了模型能夠按目標(biāo)執(zhí)行,就能建立對(duì)模型的信任。

借助Simulink等工具,工程師可以驗(yàn)證模型能否適當(dāng)處理所有預(yù)期用例,從而避免了重新設(shè)計(jì),節(jié)省了資金和時(shí)間。

3.jpg

步驟4:部署

在做好部署準(zhǔn)備后,下一步是確定目標(biāo)硬件,換言之,以最終實(shí)現(xiàn)模型所用的語(yǔ)言來(lái)準(zhǔn)備模型。此步驟通常要求設(shè)計(jì)工程師共享已準(zhǔn)備好實(shí)現(xiàn)的模型,以將該模型納入指定的硬件環(huán)境。

指定的硬件環(huán)境可以是桌面、云端甚至FPGA,而MATLAB可以處理各種場(chǎng)景下的最終代碼生成。借助這些靈活的工具,工程師可輕松將模型部署到各種環(huán)境,而無(wú)需重寫(xiě)原始代碼。

以直接將模型部署到GPU為例:自動(dòng)代碼生成消除了手動(dòng)轉(zhuǎn)換可能引入的編碼錯(cuò)誤,并可生成高度優(yōu)化的CUDA代碼,支持在GPU上高效運(yùn)行。

強(qiáng)強(qiáng)聯(lián)合

工程師無(wú)需成為數(shù)據(jù)科學(xué)家乃至AI專(zhuān)家,即可成功運(yùn)用AI。

要幫助工程師做好準(zhǔn)備、構(gòu)建AI模型、最終實(shí)現(xiàn)項(xiàng)目成功,這些資源都至關(guān)重要:專(zhuān)為工程師和科學(xué)家打造的工具、將AI集成到工作流的函數(shù)和App,以及解答AI集成相關(guān)問(wèn)題的專(zhuān)家。

這有助于工程師最大程度地發(fā)揮其才能:在專(zhuān)注于優(yōu)勢(shì)領(lǐng)域的同時(shí),他們能夠基于自己的專(zhuān)長(zhǎng)運(yùn)用適當(dāng)?shù)馁Y源,將AI納入業(yè)務(wù)版圖。

THEEND

最新評(píng)論(評(píng)論僅代表用戶(hù)觀點(diǎn))

更多
暫無(wú)評(píng)論