AIoT for Beginner — Introduce
1. 前言
筆者曾經擔任關於AIoT通識課程的講者,此門課是開放給所有科系的人選修的,來上課的大部分學生都只知道 AI 卻不知道 IoT,或是知道這兩者卻不知道如何入門,於是這邊會簡單介紹一下什麼是AIoT。
2. AIoT = AI +IoT
AIoT從字面上來看便是AI (人工智慧) 與IoT (物聯網) 的疊加。
2–1. AI
AI 也就是大家熟知的人工智慧(Artificial Intelligence) ,通指由人製造出來的智慧,現今人工智慧大部分著重於 機器視覺 (Computer Version )與語音 (Speech) 兩種
這兩種又代表了兩個很大的學門 捲積神經網路 (CNN) 以及循環神經網路 (RNN) 兩種 當然這其中也有很多混用的方式,筆者建議大家初學者不要侷限在某一種,因為是初學者,我們只要先知道如何去使用它就好。
2–2. IoT
IoT (Internet of Things)又指物聯網,最簡單的概念就是萬物互聯,將所有終端設備都連接上網。
而物聯網的物例如:感測器,一些終端裝置如家電或是微電腦等
連接上網又有甚麼好處呢?
我們便可以透過網路就取用到這些終端裝置提供的資訊,像是獲取你使用電風扇的時間,或是車子輪胎的胎壓等等,便可以透過數據來使生活更加便利。
這些終端裝置將會收集大量的數據,我們便需要進行處理甚至是預測便會達到,在產業面上,自駕車,智慧音箱,無人車等大多屬於AIoT範疇
AI +IoT =AIoT
3. AIoT 的生態以及挑戰
以往的AIoT通常通過網路傳送至遠端主機以進行分析,但是在科技的日新月異下,傳送至終端會有許多問題,例如:封包遺失,時間過長,不具有即時性以及頻寬不夠等等的問題。
而最大一部分的問題是目前網路不是覆蓋至所有地區,任何情況,還是會被阻擋,有些具有即時性的裝置不能有這種疑慮。
於是為了解決這個問題現今的AIoT逐漸向所謂的邊緣運算也就是所謂的edge computing靠攏,邊緣運算也就是在邊緣裝置(也就是終端裝置)進行處理,並且即時進行運算,這很大一部分也要歸功於硬體能力的增長。
而相較於傳統回傳至伺服器的做法,現在的AIoT更強調:
a. 低運算量
畢竟終端裝置通常都要具有微型化且耗電量要低,無法像一般電腦那樣處理大量數據,所以設計的程式便是需要低運算量的特點,讓系統能正常運行。
b. 合理的準確度
在低運算量的要求下,準確度便不能達到使用高強度伺服器運算過後的結果,所以會focus在盡量讓準確度不要下降太多且又符合使用需求的情況,而不是一昧地強調超高準確率。
c. 速度
由於終端裝置的大小需求,硬體效能也不會過高,速度便也需要應付運算要求,如果終端裝置運算速度低於回傳至伺服器再回傳回來,那其效益性也會降低
AIoT =速度+合理的準確度+低運算量
整體相較於目前運用強大硬體暴力破解的AI技術,更容易打入產業鏈。
4. 入門開發板
現今市面已經有不少得開發板or其它相關套件供大家選擇,例如:
(1) Raspberry pi
(2) Jetson Nano
(3) Edge TPU
(4) Intel Movidius
由於筆者手上只有 Raspberry Pi 跟 Jetson Nano,所以之後的教學會以此兩種板子為主,如果想跟筆者一起探索AIoT世界的讀者們,希望也能準備好此兩種板子之一喔~
下一篇將會帶大家了解如何做一個自己的語音裝置,敬請期待!
PS: 如果想做圖片or影像辨識裝置的讀者們不要急喔,講完語音裝置後就會進入辨識裝置囉。