2019-08-07是農曆七夕情人節,四筒老師很少在慶祝節日,這天卻與眾不同跟機器人約會一天,這個機器女友是PlayAI PiBB Car,想看照片就往下:
PlayAI PiBB Car
一門從玩Python(PiBB Car)開始,直通AI 的實務互動機器人課程,台灣與美國Parallax Boe-Bot 融合,搭配PCP for Python 全球首發Python 國際證照實務認證的課程,全球經典機器人教育再進化。
本教材以Raspberry Pi為核心,Python 教學 + 證照、 AI 競賽+應用 四大面向一次搞定,適合在高中職及大專的學生,若您曾經覺得樹莓派很難,AI 茫茫然,那是因為您沒遇見我,快進來看看這革命性的互動教材吧,讓Arduino 望塵莫及。
- 課程之目標為:
- 發展學生整合應用Python 程式設計之運算思維與機器人運用之能力。
- 培養學生探索AI 資訊科技新知之能力。
- 發展學生善用AI 資訊科技知能、創新思考以及解決問題的能力。
- 培養學生整合資訊、計畫管理、有效溝通與團隊合作之能力。
- 培養學生正確的資訊科技觀念,並啟發對資訊科技研究與發展的興趣。
- 提供學生試探與發展新興資訊科技專業知能之機會。
哈哈!!資訊鬼才都會對硬體相關的東西都會有樂趣,例如:電腦、遊樂器和機器人,四筒老師也是不例外,最近都有研習非軟體的研習營,所以我的學習是無止盡的黑洞,我能力以內學習比較快,非能力內的學習較慢,可是不會尚失超越自己的心態。
- 活動類別:研習營
- 主辦單位:飆機器人_普特企業有限公司
- 協辦單位:國立勤益科技大學 電機系、美國 Parallax Inc. , NICERC
- 舉辦目的:
- 融合「程式設計」、「機器人程式設計」及「資訊科技專題_AI實務應用」等資訊科技三大方向,實現國家AIoT人才教學培育計畫,搶佔全球制高點。
- 提升Python 程式語言教學與整合應用之人才實力。
- 實習革命性互動式之Python實務教學課程,迎接AI 時代的到來。
- 體驗台、美教育教學認證,輔導學習者具備更完整的履歷證明,創造教學特色與國際競爭力。
AIoT校訂智慧機器人
A. 智慧機器人訴求?
「程式設計」、「IoT機器人機電整合」及「AI實務應用」。
課程內容力求讓學生有互動、教學有成效。
1. 智慧機器人跟AI有什麼關係? 打破AI是純粹的數學演算之理念
上面裝了含機器學習的系統(X事實上,單純的AI根本不需要硬體介質,是純粹軟體的工作。然而在不使用硬體展現的狀況下,純粹的數字運算以及評估,是相當枯燥且無趣的東西──在研究所看到的現象就是大家死成一片,如果在初學階段連興趣都無法提起,那就不用談後續的學習了。智慧型機器人是我們設計給高中學習AI的入門平台,而其中包含的就是不要讓AI成為純粹的數學課之理念。
會玩了,再開始用,用熟了,再開始學,學成了,就有延伸出的無限可能。
口號不是喊喊就算了,這台車本身就是很好的Linux學習平台。
至於為什麼選擇車型……主要因素是它比較好組裝,我們的教學主體是軟體和硬體控制,並不是機構組裝,且車型使用的場域相對好想像。
2. AI會不會很難學? 循序漸進式學習
這要看你的學是指什麼意思了,如果指的是有辦法清楚的決定使用哪種機器學習、使用神經網路時能清楚知道該問題要怎麼定義模型,那確實很難。
但如果只是想體驗或者使用的話,並不是這麼困難的事情──和你執行別人寫好的函式難度差不多。事實上,我們針對語音辨識打包了一個簡單的 PlayRobot AI函式庫,讓使用者可以專注在理解自然語言處理的概念,而不用去研究那一些音訊流等等的專業知識。這某方面來說大大降低了學習門檻,在教師研習的反映也不錯。
如果是想要知道神經網路的參數調整、自訂不同的神經元層的話,那可能留給研究所的專業課程才適合學習了。
3. 能否速成AI? 依階段程度,調整學習時程。
這個問題和AI難不難學我認為是同質的問題,如果不難學當然可以速成,難學還能速成這應該有邏輯上的悖論。
既然是同質問題,答案也會給的一樣:如果指的是有辦法清楚的決定使用哪種機器學習、使用神經網路時能清楚知道該問題要怎麼定義模型,那確實很難。但如果只是想體驗或者使用的話,並不是這麼困難的事情。所謂的速成、XX 小時學AI 大概都是這種狀況。這種狀況的教學會以資料收集為主要的目標,AI──或說機器學習,僅僅只把資料丟進去嘗試觀察結果。這個做法我認為是相當正確的,而在此做法底下,我會更為強調我們的目標是教導資料處理。畢竟AI 工程師的大多數時間會花在處理資料跟等它訓練上,這麼重要的事情不該草率。
那如果是要學到足以調整參數優化模型,或者設計更複雜的網路,這個要速成……不大可能。或許有一天會有神奇的工程師弄出可以自動設計模型或者優化訓練的方法,但那和個人能力的速成完全不掛勾。
結論還是跟開頭說的一樣,要體驗或使用並不難,若是這階段都很難,請問我們如何啟動AI 學習。
4. 為何選擇Python程式語言? 有各種為了機器學習打造資源。
事實上,大多數公司使用Linux 作為公司系統,除了他免費(這是重點)這個誘因之外,對硬體的效能要求並沒有高階Windows 這麼高──這也是嵌入式系統需要的特性。
而樹莓派本身使用的語言是C 和python,C 本身在IoT 裝置上的重要性毋庸置疑,Python 身為一個社群資源巨大的語言,在教學上明顯有足夠優勢──相信諸位不會希望發生一個問題,找答案卻像海底撈針一樣困難,教學一開始最重要的是能引用資源,舉一反三。並且當前即使有各種為了機器學習打造的語言,但使用的大宗依然還是在Python 上,而Python 大量的函式庫,使接入IoT 的障礙降低很多,因此在考慮AI + IoT 的教學時,才會毫不猶豫選擇樹莓派(Python)+ Arduino(C)的架構。
5. 學習後能做甚麼? 學以致用,專題(成果展示)、證照、比賽、銜接未來教育學程,一把罩!
當然可以,請務必這麼做。可以點上方資訊卡去看智慧機器人的相關應用。
我們提倡的原本就是它的擴充性和可變性。先從語音系統說起,我們提供的編輯介面原本就接受透過樹莓派的各種IO輸出訊號的方法──即使預設未提供,你也可以透過執行自訂程式的方式送出,因此對外部控制的支援是相當足夠的。而若不使用介面,我們也包裝了方便的函式庫可以使用,在自己的系統中嵌入語音系統不過幾行的事情而已。
而影像部分使用了神經網路,我們從取樣>訓練>預測端三個程式皆完整提供,並且對於各種層的說明和參數皆有詳細說明──當然這部分我們歸類為大專的課程,故收錄的部分在大專版的教材中。但若只是要更換辨識的目標物,則實行上僅僅只是重新拍照和重新訓練而已。
B. 跟市面上的AI機器人有何差異? 依你的需求,購買適合的產品
1. 這問題的時候你有預設某個機器人當比較對象啊….。
這個問題與其比較功能面,更應該比較東西的本質。眾所皆知的是,AI目前就是兩個大項目比較容易被人看到,自然語言領域和影像辨識領域。而基於這個原則,現今大多的產品都在這兩個範疇中,而機器人類的產品由於並非純粹軟體產品,人力無法像軟體產品一樣密集之下,最後使用的大多是現有方法的變形或者是應用。基於這個條件,我們認為產品的功能到最後都是一樣的──當然這是基於AI的論點,硬體上可能很多額外輔助是有差異的。
話說兩者的目標也不同,產品是為了讓用戶使用,它會比較著重在美觀、簡易、高度包裝上。而我們的智慧型機器人範疇比較接近「教材」,意即這是為了教學開發的產物,由於教學需要,高度包裝是不太可能的事情,反而應該適度的拆封這些本來不會給用戶看的東西。
簡而言之,如果是要買來玩的話,市面產品無疑比較適合,但想學習的話我相信智慧機器人或PlayAI 等高階機器人較優。
2. 這跟市面上智慧音箱有什麼差異?
他會動。
先冷靜點,這並不是在開玩笑。畢竟音箱只是我們機器人上的一個功能,它能看、會動,甚至可以讓別人動才是我們的主要訴求。單純只是智慧音箱不太可能有這些東西。
而如果僅把它視為智慧音箱,我們也不是只打算教你使用──當然只想用的我們也提供了簡單的介面──我們希望大家可以自行打造自己的智慧音箱,其中包含了客制的回答、客制的動作,利用簡單的編輯介面,我們已做到即使不需要撰寫程式即可以在GUI 下更動完成。當然,我們更希望透過這樣的教學平台,讓學生有程式設計能力的,我們也提供方法讓你可以結合音箱來執行自己的程式,這使得在這台機器人上面的擴充性和可能性大幅增加。
他是革命性的!
在冷靜,最重要的是,一般的智慧音箱當然不掛勾視覺,對IoT與 雲端應用 及 雲端控制 的支援也不會這麼廣泛,而這在我們的智慧型機器人上都有。使用他還會跟您的學生一起更智慧、不斷的增長,讓您教學績效日新月異。更進一步的,我們針對智慧型機器人有一系列的比賽、檢定,以及一些有趣的小專題應用,這些都不是智慧音箱該做的事。
3. 可以到其他系統跑 ?
其實這些程式都是在Windows下先執行過,才移到樹莓派上的….。Python本身就有跨平台的特性,因此在不同OS 下,大多數程式碼都是可以共通的,少部分會因為Linux 的檔案特性,出現Windows 不能動的狀況。
而如果你問的是是否只能在「智慧型機器人」這個系統架構下跑,那答案也還是肯定的,事實上,我們的另外一款不含 Arduino 的PlayAI 機器人(Pi BB Car) 也用了幾乎一致的架構──除了控制改由python端完成之外有關語音和影像的程式碼是完全一致的。而在我們的智慧助教上也是幾乎一樣的架構。這也反映了一件事情:AI本身只交出一個分辨過的結果,但這個結果怎麼使用則是看客戶端而定。
至於有人關心過我們的人機介面換系統是不是能動……只能說,在樹莓派跑的會比Linux 順,因為樹莓派的GUI 介面就是我們用的函式庫做的。而在Windows 上也有很多程式以它開發,有必要甚至可以延伸到行動裝置上,但GUI 就不在智慧機器人的範疇了。
4. 為何要上網用AI,沒網路時可用AI?
诶! 最近一直聽到單機版運算跟雲端運算的爭議阿。
比較常聽到的就是沒有網路不能做XXX事情,所以應該盡量在單機完成這些任務…邊緣/分散運算比較好之類的…嗯……其實我們不太認為邊緣運算和雲端運算是衝突性的概念,應該這麼說,兩個方法都是好方法,也各有它能發揮的地方。比方說,今天是車輛行駛間需要影像辨識的話,走單機版解決明顯是比較快也比較即時的,而如果是語音指令這種需要大量分析和爬資料的,雲端運算才是較好的解。
另外,由於許多應用是需要非常大量資料輔助訓練的,而這類應用重新訓練成本極高,故採用雲端更新的方式才不會造成邊緣端的負擔。Google語音辨識就屬於此類,我們有嘗試載「部分」的語音資料集來訓練,但20個關鍵詞就高達2GB,想弄出對於某個語系的完整辨識系統…..說實話也不適合教學使用了。當然單機版的語音系統也是存在的,比方說sphinx,但該類通常使用的是音元方式辨識,對含韻的語言效果不佳。
目前就我們的系統而言,影像和喚醒功能屬於全單機DNN,而語音採用雲端辨識,不考慮正確性的話,語音也是可以切給單機執行的。
但不會這麼選擇就是了。透過本地端與雲端相互配合,因時制宜、因地制宜,靈活善用任何資源於您的專題上才是王道。
5. 為何不用神經棒?這樣效能夠嗎?
不是不用,而是用不上。
事實上,我們在大專的課程有規畫使用神經棒來協助運算,但在高中階段,我們並不建議做這種事情。我們認為,高中是程式設計正式開始學習的階段,在這階段我們應該鼓勵學生思考如何改進自己的軟體,我們或許可以嘗試介紹有這個硬體,但不應該以這個硬體為由去侷限學生的思考。相信大家都知道,嵌入式系統的運算能力有限,但擴充演算力並非唯一的解,簡化運算模型並盡量保持正確率也是重要的方法──MobileNet 就是其中的一個有名方案。
因此,我們在高中階段會盡量使用小一點的模型,使樹莓派依然能在自己能做到的範圍內達成目標,並且讓學生理解嵌入式系統必須在運算速度和精度上有所取捨。這在後續萬一學生需要在行動裝置上面進行同樣的開發時想必有所幫助,畢竟我相信不是什麼狀況都可以接外接運算裝置的。
而大學的話反而應該追求更多樣的技術,因此這類外掛元件肯定屬於其中一種,而這時程式設計技術成熟,追求高正確度反而是更重要的工作。當然之後萬一樹莓派突然有個大膽的想法把神經晶片裝上去也是有可能的,如果真的裝了,那我們會視為內建晶片,就會把使用的條件提前一點。
- 飆機器人-全方位IOT 專家-PlayRobot,原文網址:https://www.playrobot.com/
- PlayRobot Inc,原文網址:https://www.youtube.com/user/PlayRobotInc/videos