通向未來:物聯(lián)網(wǎng)+人工智能將成為人類的進化方向
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。
世界正處于變革時代,這一時期的重要性可比肩文藝復興和工業(yè)革命。人們相信,AI和IoT就是具有前景的兩個領(lǐng)域,它們將使世界現(xiàn)代化,這兩大支柱在未來有著巨大的發(fā)展空間。
本文將通過分析AI和IoT這兩個概念來了解我們可以對其抱有什么期待;還會討論如何利用這些集成技術(shù)來開發(fā)創(chuàng)新性和創(chuàng)造性的項目;最后,本文將分析一種使代碼更緊湊、更有效地部署在嵌入式設(shè)備中的方法。
什么是物聯(lián)網(wǎng)(IoT)?
圖源:unsplash
物聯(lián)網(wǎng)是描述嵌入傳感器、軟件和其他技術(shù)的物理實體網(wǎng)絡(luò),目的是通過互聯(lián)網(wǎng)和其他設(shè)備與系統(tǒng)連接并交換數(shù)據(jù)。物聯(lián)網(wǎng)的定義因多種技術(shù)、實時分析、機器學習、商品傳感器和嵌入式系統(tǒng)的融合不斷發(fā)展。嵌入式系統(tǒng)、無線傳感器網(wǎng)絡(luò)、控制系統(tǒng)、自動化等傳統(tǒng)領(lǐng)域都有助于實現(xiàn)物聯(lián)網(wǎng)。
在消費市場,物聯(lián)網(wǎng)技術(shù)與“智能家居”產(chǎn)品同義,包括支持一個或多個公共生態(tài)系統(tǒng)的設(shè)備和電器,并且可以通過與該生態(tài)系統(tǒng)相關(guān)的其他設(shè)備進行控制。
什么是人工智能和AIOT?
人工智能是一個廣泛的領(lǐng)域,包含許多子類,如自然語言處理(NLP)、人工神經(jīng)網(wǎng)絡(luò)、計算機視覺、機器學習、深度學習、機器人學等。人工智能的官方定義是:能夠執(zhí)行通常需要人類智能才能執(zhí)行的任務(wù)的計算機系統(tǒng)的理論和發(fā)展,例如視覺感知、語音識別、決策和語言間翻譯。
麥肯錫全球研究所的一項研究表明,到2030年,人工智能預計每年將額外創(chuàng)收13萬億美元。即使在今天,人工智能技術(shù)也創(chuàng)造了巨額收入,但主要是在軟件領(lǐng)域。等到2030年,人工智能創(chuàng)收領(lǐng)域?qū)⒉恢痪窒拊谲浖袠I(yè),還有零售、旅游、運輸、汽車、材料、制造等行業(yè)。
人工智能與物聯(lián)網(wǎng)結(jié)合形成了一個全新、有趣且獨特的研究分支,人工物聯(lián)網(wǎng)或AIOT。搭載人工智能的物聯(lián)網(wǎng)能夠創(chuàng)建智能機器,這些機器可以模擬智能行為,同時提高決策能力,幾乎很少甚至沒有人為干擾。
通過將人工智能集成到raspberry pi和Nvidia Jetson Nano等嵌入式物聯(lián)網(wǎng)設(shè)備中,我們可以開發(fā)出一些杰作,利潤高且有益于整個社會。像Alexa、Siri或Google AI這樣的虛擬助手的一些示例展示了高級智能和未來的可能性。
如何入門?
1. Arduino
Arduino是一個由ATmega微控制器組成的開發(fā)板。這是開始機器人和物聯(lián)網(wǎng)項目的最佳方式之一。
Arduino是一家開源軟硬件公司,業(yè)余愛好者、修補者和專業(yè)人士都可以用它來構(gòu)建令人驚嘆的創(chuàng)新項目。根據(jù)我的經(jīng)驗,Arduino絕對是你實現(xiàn)機器人夢想的最佳方法之一,因為它比其他微控制器更容易操作。
Arduino有多種規(guī)格和尺寸,分別是Arduino Nano、Arduino Uno和Arduino mega。Nano是一種尺寸較小的板,可用于更簡單、更獨特的項目;Uno中等大小,非常適合試用以及業(yè)余愛好者級別的項目;Mega更大一點,可用于稍微復雜一點的項目和場景。
筆者認為,Arduino是開始任何類型的物聯(lián)網(wǎng)項目的最佳方法。使用Arduino進行傳感器控制和學習設(shè)備等一些基礎(chǔ)項目的管理,對于在該領(lǐng)域追求更具創(chuàng)意的想法非常有利。
剛開始學習很簡單,因為它主要是C和C++等編程語言的混合。作為初學者,主要需要擔心兩個代碼塊,即設(shè)置和循環(huán)功能塊。因此,初步建議先試用Arduino Uno開發(fā)板,然后再使用更復雜的嵌入式設(shè)備。
圖源:unsplash
2. Raspberry Pi
Raspberry Pi是單板計算機,這是開始計算和編程的絕佳方式。Raspberry Pi提供了許多在分支機構(gòu)中創(chuàng)建極酷項目的機會,例如計算機視覺、游戲、物聯(lián)網(wǎng)項目等等。
借助攝像機,Raspberry Pi甚至可以用于物體檢測、面部識別和監(jiān)視之類的任務(wù)。如果你想開始學習編程、編碼,那么Raspberry Pi是最便宜、最好的方法。中級業(yè)余愛好者或?qū)<乙部梢杂盟瓿筛呒壍捻椖俊?/p>
使用Raspberry Pi和Raspbian OS之類的操作系統(tǒng)進行編程的最大好處在于你可以使用多種編程語言,包括python。Thony編輯器是OS操作系統(tǒng)中的預裝程序,你可以在這里編寫python代碼。
Raspberry Pi中編碼的所有程序,包括機器學習和深度學習程序,都可以輕松部署。外部附件,如照相機、音頻設(shè)備等也可以添加到Raspberry Pi和控制執(zhí)行實時計算機視覺任務(wù),如視頻監(jiān)控,人臉識別等。
3. Nvidia Jetson Nano
NVIDIA Jetson Nano是機器人學中人工智能相關(guān)操作的最佳工具之一,比Raspberry Pi稍貴,但計算能力更強。NVIDIA稱:NVIDIA Jetson Nano支持開發(fā)數(shù)百萬個新型小型低功耗人工智能系統(tǒng),開啟了嵌入式物聯(lián)網(wǎng)應(yīng)用程序的新世界,包括入門級網(wǎng)絡(luò)錄像機、家用機器人和具有完整分析能力的智能網(wǎng)關(guān)。
NVIDIA開發(fā)套件允許用戶運行許多神經(jīng)網(wǎng)絡(luò)操作,包括圖像分類、分段、對象檢測、語音處理等。
雖然Nvidia Jetson Nano比Raspberry Pi貴一點,但它有相對更好的功能,也是開發(fā)中高級項目的一個很好的起點。如前所述,它功能強大,可以執(zhí)行多種任務(wù)。
在我看來,這些是使用AIOT的最好的設(shè)備。當然,還有許多其他非常棒的選項和嵌入式設(shè)備選擇來開發(fā)有效的模型。
本文談到的最后一個話題至關(guān)重要,將介紹機器學習和深度學習模型的訓練后量化,以在嵌入式設(shè)備上運行GPU容量較小的復雜程序。
訓練后量化

在你的系統(tǒng)上有效運行的模型可能無法在低端設(shè)備上有效運行同一程序/模型。這可能是因為目標設(shè)備有硬件限制。對此,訓練后量化可以幫助改善目標設(shè)備的算法和模型的優(yōu)化。
訓練后量化是一種轉(zhuǎn)換技術(shù),可以減少模型大小,同時還可以改善CPU和硬件加速器的延遲,而模型精度幾乎不會下降。使用TensorFlow Lite轉(zhuǎn)換器將已訓練的float TensorFlow模型轉(zhuǎn)換為TensorFlow Lite格式時,你可以對其進行量化。
TensorFlow Lite轉(zhuǎn)換器在Raspberry Pi之類的設(shè)備上非常有用,可優(yōu)化對象檢測模型、人臉識別模型等。使用TensorFlow Lite可以優(yōu)化對象檢測項目,同時在安卓或蘋果系統(tǒng)設(shè)備上也有很好的效果。
在探索這些模型時,如果你確實希望將其轉(zhuǎn)換為可以惠及眾人的實際使用案例,那么模型的訓練后分析和訓練后量化對于提高效率、質(zhì)量和緊湊性以將項目部署到更廣泛的受眾就變得極其重要。訓練后量化還使我們能夠在量化模型上實現(xiàn)幾乎與原始模型相同的精度,讓我們的生活變得輕松多了!
AIoT在未來幾年的影響將是令人震驚的,未來將出現(xiàn)的新發(fā)明讓我興奮不已。你打算建立什么樣的項目來迎接這樣的未來呢?