<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 智能計(jì)算 > 設(shè)計(jì)應(yīng)用 > 工程師工具箱內(nèi)的秘密武器:AI與模擬的交集

          工程師工具箱內(nèi)的秘密武器:AI與模擬的交集

          作者: 時(shí)間:2022-06-27 來源:CTIMES 收藏

          隨著科技復(fù)雜度逐漸增加,工程師開始尋求新方法來開發(fā)更有效的模型,本文將探索與仿真的結(jié)合如何幫助工程師解決時(shí)間、模型可靠度、數(shù)據(jù)質(zhì)量等諸多挑戰(zhàn)。

          隨著現(xiàn)今科技復(fù)雜度的增加,人工智能(artificial intelligence;)的能力和涉及范圍也不斷在擴(kuò)大。因此,工程師在被交付任務(wù)要將AI整合于系統(tǒng)之中時(shí)將面臨新的挑戰(zhàn)。這些復(fù)雜性的一部分,源自于使用在模型訓(xùn)練的數(shù)據(jù)幾乎可決定AI模型效果的認(rèn)知?如果數(shù)據(jù)不足、不夠精確、或者存在偏差,模型的計(jì)算結(jié)果就會(huì)受到影響。

          以較高的層級(jí)來說,AI與有三種主要的合流方法。

          一、與解決資料不足的挑戰(zhàn)有關(guān),因?yàn)榉抡婺P涂梢员皇褂脕砗铣煽赡茈y以收集、或收集成本昂貴的資料。

          二、將AI模型作為計(jì)算起來復(fù)雜且昂貴的高度逼真的近似值,也被稱為降級(jí)建模(reduced-order modelling)。

          三、在如控制、訊號(hào)處理、嵌入式視覺等應(yīng)用的嵌入式系統(tǒng)上使用AI模型,仿真已成為這類系統(tǒng)設(shè)計(jì)流程當(dāng)中關(guān)鍵的一環(huán)。

          工程師開始找到新的方法來開發(fā)更有效的AI模型,本文將探索仿真與AI的結(jié)合可如何幫助工程師解決時(shí)間、模型可靠度、數(shù)據(jù)質(zhì)量等挑戰(zhàn)。

          挑戰(zhàn)1 使用于訓(xùn)練和檢驗(yàn)AI模型的數(shù)據(jù)
          收集真實(shí)世界數(shù)據(jù)和建立良好、干凈且經(jīng)過分類的數(shù)據(jù)的過程相當(dāng)艱難,還需要耗費(fèi)大量時(shí)間。工程師也必須留意大部分AI模型屬于靜態(tài)的事實(shí)(模型是使用固定的參數(shù)值來執(zhí)行),雖然模型持續(xù)地暴露在新的數(shù)據(jù)下,但這些資料卻不見得會(huì)被納入訓(xùn)練數(shù)據(jù)集之中。

          如果沒有健全的數(shù)據(jù)來協(xié)助訓(xùn)練模型,項(xiàng)目失敗的可能性便提高,因此數(shù)據(jù)準(zhǔn)備成為AI工作流程中一項(xiàng)至關(guān)重要的步驟?!覆缓玫摹箶?shù)據(jù)可能讓工程師花費(fèi)好幾個(gè)小時(shí)嘗試找出模型未正常運(yùn)作的原因,而且還不保證能夠得到具有實(shí)質(zhì)意義的結(jié)果。

          仿真可以協(xié)助工程師克服這些挑戰(zhàn)。在最近幾年,以資料為中心的AI將AI社群的焦點(diǎn)轉(zhuǎn)向訓(xùn)練數(shù)據(jù)的重要性。與其將一項(xiàng)項(xiàng)目全部的時(shí)間投注在煩惱AI模型的架構(gòu)和參數(shù),證據(jù)顯示把時(shí)間花在改善訓(xùn)練數(shù)據(jù),通常可以為模型精確度帶來更大的改善。

          使用仿真來擴(kuò)充現(xiàn)有的訓(xùn)練數(shù)據(jù)有許多好處,包括:

           計(jì)算通常比物理實(shí)驗(yàn)的成本降低許多

           工程師對(duì)于環(huán)境能夠完全的掌控,并且可以模擬在現(xiàn)實(shí)世界中難以建立或太危險(xiǎn)的場(chǎng)景

            模擬提供了一條途徑來窺探難以透過設(shè)置實(shí)驗(yàn)來測(cè)量的內(nèi)部狀態(tài),這在為AI模型特定情況下的表現(xiàn)不佳進(jìn)行除錯(cuò)時(shí)有很大的用處

          當(dāng)模型的表現(xiàn)高度取決于訓(xùn)練數(shù)據(jù)的質(zhì)量,工程師可以透過幾種流程迭代來改善結(jié)果,包含仿真數(shù)據(jù)、更新AI模型、觀察在哪一些條件下模型預(yù)測(cè)結(jié)果不佳,并且為那些條件收集更多仿真資料等。

          透過Simulink和Simscape等商用工具,工程師可以產(chǎn)生反映了真實(shí)世界情境的仿真數(shù)據(jù)。Simulink 和 MATLAB 的結(jié)合,使得工程師能夠以和進(jìn)行AI模型建立的相同環(huán)境來仿真他們的資料,這代表他們可以將更多的流程自動(dòng)化,而不必?fù)?dān)心工具鏈的切換。

          挑戰(zhàn)2 透過AI取得復(fù)雜系統(tǒng)的近似值
          在設(shè)計(jì)像是控制液壓閥的算法等需與實(shí)體物理系統(tǒng)互動(dòng)的算法時(shí),以仿真為基礎(chǔ)的系統(tǒng)模型是促成算法的快速設(shè)計(jì)迭代的要件。

          在控制領(lǐng)域,這類通稱為「受控體模型(plant model)」的模型,在無線領(lǐng)域可能被稱作「信道模型」,在強(qiáng)化學(xué)習(xí)(reinforcement learning)領(lǐng)域被稱為「環(huán)境模型」。不論是哪一種稱呼,其中的概念是共通的:建立一個(gè)以仿真為基礎(chǔ)的模型,它可以提供必要的精確性,再次建立和算法互動(dòng)的物理系統(tǒng)。

          這種方法有一個(gè)難題,就是要達(dá)到工程師一直以來依據(jù)第一原理建立的高度逼真模型的「必要的精確性」。若是在復(fù)雜的系統(tǒng),可能會(huì)需要花費(fèi)相當(dāng)可觀的時(shí)間,來建立和模擬以達(dá)到如此的精確性。執(zhí)行冗長(zhǎng)的模擬,也有可能會(huì)壓縮到設(shè)計(jì)迭代的次數(shù),意味著沒有充裕的時(shí)間來評(píng)估其他或許更合適的設(shè)計(jì)替代方案。

          AI在此時(shí)出現(xiàn)了,工程師可以采用他們已經(jīng)建立好的高度逼真物理系統(tǒng)模型,并且透過AI模型(一個(gè)降級(jí)模型)來取得近似值。在其他的情況,他們可能只需要從實(shí)驗(yàn)數(shù)據(jù)訓(xùn)練AI模型,完全略過建立以物理為基礎(chǔ)的模型。

          這么做的好處是,降級(jí)模型計(jì)算起來比第一原理模型經(jīng)濟(jì)許多,代表工程師可以執(zhí)行更多的設(shè)計(jì)空間探索。而且若是真的已經(jīng)有現(xiàn)成的以物理為基礎(chǔ)的模型,工程師還可以在流程的后期隨時(shí)使用該模型來檢驗(yàn)以AI模型進(jìn)行判定的設(shè)計(jì)。

          比如神經(jīng)微分方程(Neural Ordinary Differential Equations)等近期AI領(lǐng)域的進(jìn)展,即結(jié)合了AI訓(xùn)練技巧與嵌入了以物理原理為基礎(chǔ)的模型。當(dāng)工程師希望保留物理系統(tǒng)的特定部分,又希望以更接近數(shù)據(jù)中心的方法所取得的近似值,來組成系統(tǒng)的其余部分時(shí),這類模型就可以給予很大的幫助。

          挑戰(zhàn)3 AI于算法開發(fā)
          開發(fā)如控制系統(tǒng)等應(yīng)用的工程師在設(shè)計(jì)算法時(shí),對(duì)于仿真的依賴程度越來越高。有許多情況下,這些工程師開發(fā)虛擬的傳感器、以及試圖計(jì)算無法直接透過傳感器量測(cè)來取得數(shù)值的觀測(cè)器。使用的方法有好幾種,包含線性模型(linear models)和卡爾曼濾波器(Kalman filters)。

          但是這些方法在真實(shí)世界系統(tǒng)捕捉非線性行為的能力展現(xiàn)相當(dāng)有限,工程師因此轉(zhuǎn)而采取以AI為基礎(chǔ)的方法,以更靈活地建立這些復(fù)雜的模型。他們使用測(cè)量或仿真而來的數(shù)據(jù),訓(xùn)練一個(gè)能夠從已觀測(cè)到的狀態(tài)預(yù)測(cè)尚未觀察到的狀態(tài)的AI模型,然后再將該AI模型與系統(tǒng)整合。

          在這個(gè)案例,AI模型屬于控制算法的一部分,之后會(huì)被放在實(shí)際硬件上執(zhí)行。這個(gè)硬件的性能/內(nèi)存可能有某種程度的限制,通常需要使用 C/C++ 等較低階的語言來進(jìn)行編程。這些要求可能會(huì)限制某些應(yīng)用所適合的機(jī)器學(xué)習(xí)模型種類時(shí)的選擇,因此工程師可能需要嘗試多種模型,并且比較準(zhǔn)確度和實(shí)際運(yùn)行在裝置上的表現(xiàn)來做權(quán)衡。

          在這項(xiàng)領(lǐng)域研究的最前端,可透過強(qiáng)化學(xué)習(xí)使這種方式再更進(jìn)一步。強(qiáng)化學(xué)習(xí)所學(xué)習(xí)的不只是估計(jì)器,而是學(xué)習(xí)整個(gè)控制策略。在像是機(jī)器人和自主系統(tǒng)等一些具有挑戰(zhàn)性的應(yīng)用中,強(qiáng)化學(xué)習(xí)是一項(xiàng)已被證明認(rèn)可的強(qiáng)大技術(shù),但建立這樣的模型需要有一個(gè)精確的環(huán)境模型,這類的環(huán)境模型、以及運(yùn)行大量仿真的計(jì)算能力,可能并不容易從現(xiàn)有資源取得。

          除了虛擬的傳感器和強(qiáng)化學(xué)習(xí),AI算法使用在嵌入式視覺、音頻和訊號(hào)處理、以及無線通信應(yīng)用的情況也愈來愈多。舉例來說,在配備自動(dòng)駕駛功能的車輛中,AI算法可以偵測(cè)路面上的車道標(biāo)線來幫助車子維持在車道中間位置。

          在助聽裝置,AI算法可以協(xié)助加強(qiáng)說話聲音并且抑制噪聲。在無線通信應(yīng)用,AI算法可以運(yùn)用數(shù)字預(yù)失真(digital predistortion)來抵銷功率放大器的非線性效應(yīng)。在這所有的應(yīng)用,AI算法只擔(dān)當(dāng)了大型系統(tǒng)之中的一部分。模擬會(huì)被使用在整合測(cè)試來確保整體設(shè)計(jì)符合標(biāo)準(zhǔn)。

          將AI帶入模擬的未來
          一般來說,當(dāng)增加了模型規(guī)模和復(fù)雜性來因應(yīng)更復(fù)雜的應(yīng)用,AI與仿真將成為工程 師口袋中更不可或缺的工具。使用如Simulink和MATLAB等商用工具,可賦予工程師優(yōu)化其工作流程的能力,并且透過與產(chǎn)生合成數(shù)據(jù)、降級(jí)建模等技巧來縮短他們的開發(fā)時(shí)間,并且將AI算法嵌入到控制、訊號(hào)處理、嵌入式視覺、無線通信等應(yīng)用。

          這些方法具備了強(qiáng)大能力,在硬件階段之前,就透過精確且可負(fù)擔(dān)的方式來開發(fā)、測(cè)試和檢驗(yàn)?zāi)P?,因此,使用需求將?huì)再持續(xù)增長(zhǎng)。
          (本文由鈦思科技提供;作者Seth DeLand為MathWorks 數(shù)據(jù)分析產(chǎn)品營(yíng)銷經(jīng)理)

          本文引用地址:http://www.ex-cimer.com/article/202206/435605.htm


          關(guān)鍵詞: 工具箱 AI 模擬

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();