人工智能這一概念,早於上世紀五十年代出現,但是早期發展長期受限於硬件價格高、運行速度普遍較低和儲存空間不足的挑戰。直至最近幾年GPUs逐漸普遍,才帶動人工智能的興起。論最廣為人知的人工智能程式,非AlphaGo莫屬。最近AlphaGo二度戰勝現時人類世界最強的圍棋棋士,讓世人好奇-一群論棋藝絕對比不上最強棋士的工程師,是如何「教」出能夠戰勝最強棋士的人工智能軟件?若要解答這一問題,首先要了解不同的電腦程式設計。
一般在坊間可見到的電腦程式,都是程序式編程( Proceduralprogramming),這類編程的特點,是會根據輸入的條件作出設定後的反應或動作,而它的弱點是無法解決新出現的問題。人工智能的程式設計則不一樣,人工智能是模擬人類思考問題的模式的。人類思考的模式可大致分為兩種-前瞻性思維(Forward-chaining)以及倒向連鎖(Backward-chaining)。
前瞻性思維思考模式,就是預計怎樣做才能一步步達到目的,倒向連鎖式思考模式就是用回溯的形式思考,以想要達到的目的為起點,從最後一個步驟逐步考慮到第一步如何進行。這就是最初工程師要令人工智能熟練的思考模式,只有學會思考如何解決問題,才能處理未出現過的問題,這亦是發展無人駕駛技術的關鍵,畢竟工程師難以編寫一組適用於所有馬路狀況的程序。
本地教授人工智能的課程愈來愈多,可見市場普遍看好人工智能未來發展,回望筆者10年前教授相關科目時,本地有能力教導學生的人寥寥無幾。真的要等到這一批學生畢業再回饋社會,可能香港又在人工智能方面慢其他地區一大步。
原文轉載自《都市日報》 2017年6月21日
評論