2019-01-14 16:23:14分類:硬件開發(fā)7525
比算法更難得是算法的思想,比編程工具更難的是編程的思維,比做產(chǎn)品更難的是產(chǎn)品的夢(mèng)想。本文主要詳細(xì)闡述AI產(chǎn)品開發(fā)運(yùn)營必知的軟硬件技術(shù)。
在AI產(chǎn)品里沒有純粹單獨(dú)的軟件和硬件,應(yīng)該系統(tǒng)來看,把軟件和硬件看成是AI賦能的智能軟硬件。
算法和數(shù)據(jù)是魚和水的關(guān)系。AI時(shí)代里算法跟傳統(tǒng)算法的區(qū)別在于AI的算法是對(duì)人腦的模擬,是一種智能。AI是在大量的樣本數(shù)據(jù)基礎(chǔ)上,通過神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練數(shù)據(jù),建立了輸入數(shù)據(jù)和輸出數(shù)據(jù)之間的映射關(guān)系,其最直接的應(yīng)用是在分類識(shí)別方面。
AI算法使得解決問題的步驟智能,數(shù)據(jù)使得算法得到訓(xùn)練從而實(shí)現(xiàn)算法所構(gòu)建的商業(yè)模式!
服務(wù)端和應(yīng)用端是相對(duì)的。
開發(fā)應(yīng)程序調(diào)操作系統(tǒng)的API, 操作系統(tǒng)的API有(創(chuàng)建線程、 讀寫文件【讀、寫、偏移到指定地址】、 網(wǎng)絡(luò)通信、 圖形渲染),那么操作系統(tǒng)就是應(yīng)用程序的服務(wù)端。
而寫一個(gè)常規(guī)的小程序或者APP,前端用戶界面上需要的數(shù)據(jù)就是分別通過WEB程序調(diào)用瀏覽器功能接口然后OS向后臺(tái)服務(wù)端發(fā)請(qǐng)求傳數(shù)據(jù)。
另外web程序員,和底層嵌入式程序員理解的服務(wù)端和應(yīng)用端還有差別,這里產(chǎn)品經(jīng)理明了這種關(guān)系即可。服務(wù)端即底層就是功能的實(shí)現(xiàn)者, 應(yīng)用端上層就是功能的使用者,這一關(guān)系利于產(chǎn)品開發(fā)過程中需求時(shí)間安排規(guī)劃。
智能軟硬件是指通過將硬件和軟件相結(jié)合,對(duì)設(shè)備進(jìn)行智能化創(chuàng)造或者改造。而智能軟硬件移動(dòng)應(yīng)用端則是軟件,通過應(yīng)用連接智能硬件,操作簡(jiǎn)單、開發(fā)簡(jiǎn)便,各式應(yīng)用層出不窮,也是企業(yè)獲取用戶的重要入口。例如:新零售的店鋪,智能販賣機(jī)等!
創(chuàng)造和改造對(duì)象可能是電子設(shè)備,例如:手表、電視和其他電器;也可能是以前沒有電子化的設(shè)備,例如:門鎖、茶杯、汽車甚至房子。
智能軟硬件已經(jīng)從可穿戴設(shè)備延伸到智能電視、智能家居、智能汽車、醫(yī)療健康、智能玩具、機(jī)器人等領(lǐng)域。比較典型的智能軟硬件包括Google Glass、三星Gear、FitBit、麥開水杯、咕咚手環(huán)、Tesla、無屏電視等。
信息的獲取和交互智能軟硬結(jié)合
傳感器是一種檢測(cè)裝置,能感受到被測(cè)量的信息,并能將感受到的信息,按一定規(guī)律變換成為電信號(hào)或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲(chǔ)、顯示、記錄和控制等要求。
控制器是指按照預(yù)定順序改變主電路或控制電路的接線和改變電路中電阻值,來控制電動(dòng)機(jī)的啟動(dòng)、調(diào)速、制動(dòng)和反向的主令裝置。
由程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序產(chǎn)生器和操作控制器組成,它是發(fā)布命令的“決策機(jī)構(gòu)”,即完成協(xié)調(diào)和指揮整個(gè)計(jì)算機(jī)系統(tǒng)的操作。例如:一般功能的叫MCU單片機(jī),復(fù)合功能的叫操作系統(tǒng)OS!
首先,控制器在智能硬件中一般叫做芯片,AI與CPU比較在架構(gòu)和功能特點(diǎn)上有著非常大的區(qū)別。
傳統(tǒng)的CPU運(yùn)行的所有的軟件是由程序員編寫,完成的固化的功能操作,其計(jì)算過程主要體現(xiàn)在執(zhí)行指令這個(gè)環(huán)節(jié)。但與傳統(tǒng)的計(jì)算模式不同,人工智能要模仿的是人腦的神經(jīng)網(wǎng)絡(luò),從最基本的單元上模擬了人類大腦的運(yùn)行機(jī)制。它不需要人為的提取所需解決問題的特征,或者總結(jié)規(guī)律來進(jìn)行編程。
AI一般包含機(jī)器學(xué)習(xí)和深度學(xué)習(xí),但不管是機(jī)器學(xué)習(xí)還是深度學(xué)習(xí)都需要構(gòu)建算法和模式,以實(shí)現(xiàn)對(duì)數(shù)據(jù)樣本的反復(fù)運(yùn)算和訓(xùn)練,降低對(duì)人工理解功能原理的要求。
因此,AI芯片需要具備高性能的并行計(jì)算能力,同時(shí)要能支持當(dāng)前的各種人工神經(jīng)網(wǎng)絡(luò)算法。傳統(tǒng)CPU由于計(jì)算能力弱,支撐深度學(xué)習(xí)的海量數(shù)據(jù)并行運(yùn)算,且串行的內(nèi)部結(jié)構(gòu)設(shè)計(jì)架構(gòu)為的是以軟件編程的方式實(shí)現(xiàn)設(shè)定的功能,并不適合應(yīng)用于人工神經(jīng)網(wǎng)絡(luò)算法的自主迭代運(yùn)算。
傳統(tǒng)CPU架構(gòu)往往需要數(shù)百甚至上千條指令才能完成一個(gè)神經(jīng)元的處理,在AI芯片上可能只需要一條指令就能完成。
其次,解讀主流的人工智能芯片。
AI的高級(jí)階段是深度學(xué)習(xí),而對(duì)于深度學(xué)習(xí)過程則可分為:訓(xùn)練和推斷兩個(gè)環(huán)節(jié)。
訓(xùn)練環(huán)節(jié)通常需要通過大量的數(shù)據(jù)輸入或采取增強(qiáng)學(xué)習(xí)等非監(jiān)督學(xué)習(xí)方法,訓(xùn)練出一個(gè)復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)模型。訓(xùn)練過程由于涉及海量的訓(xùn)練數(shù)據(jù)和復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),需要的計(jì)算規(guī)模非常龐大,通常需要GPU集群訓(xùn)練幾天甚至數(shù)周的時(shí)間,在訓(xùn)練環(huán)節(jié)GPU目前暫時(shí)扮演著難以輕易替代的角色。
推斷環(huán)節(jié)指利用訓(xùn)練好的模型,使用新的數(shù)據(jù)去“推斷”出各種結(jié)論,如視頻監(jiān)控設(shè)備通過后臺(tái)的深度神經(jīng)網(wǎng)絡(luò)模型,判斷一張抓拍到的人臉是否屬于黑名單。雖然推斷環(huán)節(jié)的計(jì)算量相比訓(xùn)練環(huán)節(jié)少,但仍然涉及大量的矩陣運(yùn)算。
在推斷環(huán)節(jié),除了使用CPU或GPU進(jìn)行運(yùn)算外,F(xiàn)PGA以及ASIC均能發(fā)揮重大作用。目前,主流的人工智能芯片基本都是以GPU、FPGA、ASIC以及類腦芯片為主。
FPGA:即專用集成電路,一種集成大量基本門電路及存儲(chǔ)器的芯片,可通過燒入FPGA配置文件來來定義這些門電路及存儲(chǔ)器間的連線,從而實(shí)現(xiàn)特定的功能。而且燒入的內(nèi)容是可配置的,通過配置特定的文件可將FPGA轉(zhuǎn)變?yōu)椴煌奶幚砥鳎腿缫粔K可重復(fù)刷寫的白板一樣。
FPGA有低延遲的特點(diǎn),非常適合在推斷環(huán)節(jié)支撐海量的用戶實(shí)時(shí)計(jì)算請(qǐng)求,如語音識(shí)別如LineLian2017年打造的裸眼3D試衣鏡所采用的芯片。
ASIC:即專用集成電路,不可配置的高度定制專用芯片。特點(diǎn)是需要大量的研發(fā)投入,如果不能保證出貨量其單顆成本難以下降,而且芯片的功能一旦流片后則無更改余地,若市場(chǎng)深度學(xué)習(xí)方向一旦改變,ASIC前期投入將無法回收,意味著ASIC具有較大的市場(chǎng)風(fēng)險(xiǎn)。但ASIC作為專用芯片性能高于FPGA,如能實(shí)現(xiàn)高出貨量,其單顆成本可做到遠(yuǎn)低于FPGA。
GPU:即圖形處理器。最初是用在個(gè)人電腦、工作站、游戲機(jī)和一些移動(dòng)設(shè)備上運(yùn)行繪圖運(yùn)算工作的微處理器,可以快速地處理圖像上的每一個(gè)像素點(diǎn)。后來科學(xué)家發(fā)現(xiàn),其海量數(shù)據(jù)并行運(yùn)算的能力與深度學(xué)習(xí)需求不謀而合,因此,被最先引入深度學(xué)習(xí)。
GPU之所以會(huì)被選為超算的硬件,是因?yàn)槟壳耙笞罡叩挠?jì)算問題正好非常適合并行執(zhí)行。一個(gè)主要的例子就是深度學(xué)習(xí),這是人工智能(AI)最先進(jìn)的領(lǐng)域。
智能軟硬件的開發(fā)流程介紹
凡是開發(fā)產(chǎn)品類的,都需要進(jìn)行完成的市場(chǎng)調(diào)研,智能硬件也是一樣,通過面向群體來收集有用的價(jià)值,從而對(duì)產(chǎn)品開發(fā)的導(dǎo)向及功能要求有明確的方向。
對(duì)于該產(chǎn)品的硬件、原件、結(jié)構(gòu)進(jìn)行開發(fā),完成后進(jìn)行聯(lián)調(diào)測(cè)試,如果中途出現(xiàn)問題,需要重新設(shè)計(jì),若通過進(jìn)行組裝及測(cè)試。
小批量的進(jìn)行產(chǎn)品試產(chǎn),進(jìn)行產(chǎn)品認(rèn)證。
一般情況下,需要等到一些認(rèn)證做完,接到正式訂單才會(huì)開始大規(guī)模生產(chǎn)。
Linux嵌入式技術(shù)作為硬件開發(fā)的一個(gè)技術(shù),是執(zhí)行專用功能并被內(nèi)部計(jì)算機(jī)控制的設(shè)備或者系統(tǒng).
2019-01-16
物聯(lián)網(wǎng)生態(tài)系統(tǒng)的核心組成部分是連接和通信。常見的物聯(lián)網(wǎng)硬件開發(fā)技術(shù)通訊協(xié)議,兼容的藍(lán)牙IoT傳感器非常適合需要短距離連接和低功率通信的應(yīng)用。
2018-12-31
在開發(fā)嵌入式物聯(lián)網(wǎng)設(shè)備時(shí),硬件設(shè)計(jì)被視為物聯(lián)網(wǎng)產(chǎn)品能否取得成功的關(guān)鍵。為確保嵌入式物聯(lián)網(wǎng)產(chǎn)品滿足所需功能,功耗低,安全可靠,嵌入式物聯(lián)網(wǎng)設(shè)備制造商在這些設(shè)備的硬件設(shè)計(jì)階段面臨著諸多挑戰(zhàn)。
2018-12-29
智能硬件是繼智能手機(jī)之后的一個(gè)科技概念,通過軟硬件結(jié)合的方式,對(duì)傳統(tǒng)設(shè)備進(jìn)行改造,進(jìn)而讓其擁有智能化的功能。而智能硬件移動(dòng)應(yīng)用則是軟件,通過應(yīng)用連接智能硬件,操作簡(jiǎn)單,開發(fā)簡(jiǎn)便,各式應(yīng)用層出不窮。
2018-11-07