
突如其來的人工智慧風潮,席捲著全世界,或許當你注意到 AI 這個詞時,科技新聞的版面已經被它所占滿,大大小小的報導似乎都要跟人工智慧沾到邊,好像少了這個詞就會與現代脫節。不少學者投入更多時間研究人工智慧,提出了新的論文,也有些科技業界的知名人士,開始敘說自己對於這個新領域的看法,甚至有預言家大膽猜測未來的生活會如何被影響,總之三句不離 AI 已經成為科技界的常態,看來這波風潮無疑地在改變著整個世界。
到底 AI 是不是真的這麼厲害? 那它可以為創客界帶來新氣象嗎? 如何把 AI 導入創客呢?本文就來探討如何將 AI 應用於創客,打造充滿智慧的作品,首先我們先從 AI 人工智慧談起。
AI 人工智慧的發展
AI 是人工智慧 (Artificial Intelligence) 的縮寫,這個名詞來自於達特矛斯會議,主要的意思是:
「讓機器的行為,看起來像是人所表現的智慧行為一樣」
開創與侷限
早在電腦發明前,就有不少人想用機器來解決問題,自從電腦被發明後,大家就更著手在讓電腦解決複雜的問題,而使用電腦來模擬人類的智慧便成為了我們最大的夢想。一直以來要教會電腦做一件事,就要使用程式語言,許多學者都在這個領域投入不少研究時間,例如 : 解方程式、讓機器走迷宮、自動化控制...,很快的,電腦可以處理的問題越來越多,大多問題,都能靠著分析、轉換成程式語言,再輸入進電腦,有了大家的努力,電腦也越來越有智慧。
然而眾人逐漸發現一個問題,每次要教會電腦一個技能,就要花很多的時間與力氣,將我們熟知的解法翻譯成複雜的程式語言,而且如果今天我們不知道問題的解法,那麼就意味著電腦也不可能學會了。
革命
這種一個口令,一個動作的方法,顯然不能長久,於是有人提出了新的看法,與其告訴電腦每個對應的指令,何不建造一個大腦給它,讓它有能力自我學習,這樣一來,只要給它足夠的學習資料和學習時間,它就會自己找到解決的方法,這個方法就稱為機器學習。
神經網路的出現
為了幫電腦建造一個能學習的大腦,有人想到可以利用程式來模擬神經元,神經元是生物用來傳遞訊號的構造,又稱為神經細胞,正是因為有它的存在,我們才可以感覺到周遭的環境、做出動作。神經元主要是由樹突、軸突、突觸所構成的,樹突負責接收訊號,軸突負責傳送,突觸則是將訊號傳向下一個目的地。

科學家利用這個原理,設計出一個模型來模擬神經元的運作,讓電腦也有如同生物般的神經細胞,這就稱為類神經網路。

感知器有幾個重要的參數,分別是:輸入、輸出、權重及偏值,輸入就是指輸入問題,感知器中可以放入很多輸入,輸入的數量要依問題來決定 ; 輸出就是解答 ; 而權重和偏值就是要訓練的參數,其中權重會與輸入的數量一致,偏值則只有 1 個。
感知器的運作原理是把所有的輸入項分別乘上權重後再傳入神經節,偏值會直接傳入神經節,神經節會把所有傳入的值相加後,通過啟動方程式再傳給輸出,用數學式子可以表示成:
輸出 = 啟動方程式(輸入0 × 權重0 + 輸入 1 × 權重 1 + … + 輸入 n × 權重 n + 偏值)
簡單來說你只要給它足夠的資料,它就能找到輸入與輸出間的對應關係,這個過程就叫做 "訓練模型",訓練完畢後,你就能把未知輸出的資料輸入進神經網路,接著它就會輸出答案,這個過程我們稱之為 "預測"。
神經網路能做什麼
基本上只要能將資料轉換成數字,並把要解決的問題定義明確,就能讓神經網路進行訓練和預測。舉例來說,我們可以蒐集一些貓貓狗狗的影像,然後定義數字 1 代表貓、數字 2 代表狗,接著把所有影像當成輸入給神經網路 (電腦中的影像就是一堆數字),此外還要告訴它每張照片對應的是 1 還是 2 (把輸出對應上輸入的過程也稱為 "標記"),然後讓它進行訓練,訓練結束後,你只要輸入任何一張狗或貓的照片,它就會跟你說是 1 還是 2,也就是貓還是狗。
目前最普遍的應用有:
- 影像辨識 : 如上所說,就是一種影像辨識,而現在被廣泛地應用在各種地方,例如 : 公司或學校的門禁系統、停車場的車牌辨識系統...。
- 語音辨識 : 輸入語音後,輸出文字,讓電腦可以繼續做後續的判讀,例如 : 現在每支智慧型手機都有搭載的智慧助理、居家的語音助理...。
- 資料預測 : 訓練神經網路學習兩組資料間的關係,讓它能用來預測未來或是建立關聯性,例如 : 天氣預報、房價預測、車流量預測...。
以上關於神經網路的知識就介紹到這裡,有興趣的讀者可以持續關注我們,往後會有專門解講神經網路前世今生的文章,各位敬請期待。
結合 AI 與創客
在了解 AI 過後,我們可以開始想想,這樣的技術是否有辦法融入創客,簡化你的工作流程,或是為你的作品增加一些亮點呢? 當然可以! 這裡就簡單提一個例子吧!
假想一下,你要設計一個低成本的即時溫度測量、紀錄裝置,因此你可能會想用熱敏電阻做為材料,設計一個分壓電路後,把分壓值輸入進 Arduino 或其它微處理器中,然而問題來了,這個分壓值怎麼轉換成我們要的溫度呢?
首先你需要知道該微處理器的類比解析度是多少,接著計算出電壓值,然後用歐姆定律求出電阻值,再查一下該熱敏電阻的 Datasheet,看看電阻溫度係數是多少,等等,你說你忘記那顆電阻的型號了!? 這怎麼辦呢? 沒關係! 有了 AI 的幫忙,你可以把上面的流程全部忘光光,聽聽以下的新方法會不會比較吸引你。
首先準備一個可做為參考的溫度計,接著拿一杯熱水,把溫度計和熱敏電阻都丟進熱水中,開始記錄熱敏電阻的分壓值和熱水溫度,隔一段時間後再紀錄一次,紀錄越多筆資料,之後的精度也會更高,然後把收集到的數值丟給神經網路進行訓練,最後就得到一個可以直接用分壓值預測當前即時溫度的神經網路了。
以上的方法相對簡單多了,可以說完全不需要碰到嚇人的數學,而且網路和社群中也有不少人提供在 Arduino 等微處理器上,訓練這種簡單一對一的輸出入神經網路要怎麼實現,例如旗標公司推出的開源 Arduino 積木開發環境 : Flag’sBlock 甚至能用積木程式組出神經網路 :

想下載的讀者,可以點擊此連結進入後,在網頁上方的軟體下載,點選適合自己電腦的版本進行下載 :

關於 Flag’s block 這套軟體,我們後續會出一系列的介紹和教學文章,有興趣的讀者歡迎持續關注我們。
當然,這只是其中一個應用,如果你有單板電腦和攝影機,你甚至能組出一個影像辨識系統,而且不必做惱人的人工特徵工程。如果你想做平衡車,可以改用機器學習的強化學習來取代 PID 控制器,總之只要你有想法,就能讓 AI 發揮它的力量。
實際上要將 AI 應用於創客有很多不同的做法,以下介紹兩種在創客領域常見的實現方法。
兩種在創客加入 AI 的方法
1. 雲端運算:
將 AI 佈署到雲端裝置,感測器收到資料後會將資料送到雲端主機,計算出結果後再回傳到個人的裝置上。
這種做法的好處是,由於雲端主機通常有強大的運算能力,所以可以放入複雜的人工智慧程式,做到更精確的判斷,但缺點是因為要傳輸資料和運算結果,所以一定會有延遲時間,且聯不上網就無法運作。這是目前較為普遍的做法。
以下影片就是使用了微軟 Azure 提供的人臉辨識線上服務打造的臉部表情辨識、身分識別應用 :
2. 邊緣運算:
將 AI 直接與感測裝置整合,也就是感測器收到資料後,便藉由其處理晶片完成運算,並可將結果直接呈現,或是再傳送到其它的裝置上。
這種做法的好處是,延遲時間短,且不用擔心雲端主機發生意外,因為所有運算都在各個周邊裝置上完成,缺點是周邊裝置的運算能力較差,且記憶體空間也較小,所以勢必得將人工智慧程式進行輕量化處理,因此難度不低,當然判斷能力也不及雲端計算。
上述提及的即時溫度測量裝置便是屬於邊緣運算,以下的影片是實際成果:
總結
以上大多內容都僅是理論介紹和探討,而目的也是為了讓讀者知道,AI 在創客的可行性,它不僅能將過去一些工作進行簡化,也能打造許多神奇的應用。阿基米德說過一句話:「給我一個支點,我可以舉起整個地球」,現在我們也可以來說一句話:
「給我足夠的硬體和資料,我可以生成萬物方程式」
在 AI 這麼猖狂的現代,不把它加進創客玩點新花樣,那就真的太可惜了,至於有沒有更具體的實驗教學呢? 這就是另一個故事了! 還是那句話,持續關注我們吧,謝謝! 下次見。