能看、聽、學習、思考 AI 本質是數學問題
21世紀初至今,AI進入機器學習(Machine Learning) 時代。計算機可以自動從輸入的數據中學習,而無需專家手動編程。深度學習模型(Deep Learning,如神經網絡) 能夠提取複雜特徵並自動學習,在人臉和圖像識別、語音識別、自然語言處理等領域取得巨大成功。強化學習(Reinforcement Learning) 使用環境和獎勵信號來教導智能體如何通過試錯來學習最佳策略,AlphaGo就是一個成功的強化學習案例,自駕車技術也是這方面的重大突破。
AI 機器可以觀察事物並像人類一般思考,目前在人臉識別方面準確度比人類還要高,張學友幾年前在內地開演唱會,公安可以憑識別系統在數萬入場觀眾中找出失蹤多年的逃犯;在網上的外語貼文,點擊右鍵就可以立刻轉為中文;在旅行時使用翻譯軟件,講廣東話就可以音譯為所需要的語言;AI可以識別交通路況,告之閣下最佳駕駛路線;醫生利用AI掃描判斷病人的腫瘤類型或肺部感染程度……這些已不是新鮮事物。
數學框架下解決問題
然而,相信很多讀者對為何AI能看、能聽、能學習、能決策,甚至能行動還是知之不多。其實AI 的本質和運作都是數學問題,人類為機器設計出一種在數學框架下解決問題的方法,從數據的表示到算法,再到模型的優化和學習,都涉及各種數學概念和技術。換一句話,AI把任何問題都變成數學問題來解決。
四百多年前,法國數學家笛卡爾和費馬已發明了通過坐標以代數表示曲線變化的概念,這就是如今在中學課程的解析幾何。最簡單的兩坐標線性方程式無疑是:
Y = mX + b
(其中Y是因變量;X為自變量;m表示斜率;b為截距,表示線與Y軸的交點)
上述方程式是二維平面上的一條直線,這個發明是人類數學發展史上第一次飛躍,從此把幾何的“形”與代數的“數”對應起來。
如果在平面上有很多點,也可利用線性回歸法(Regression Analysis)找到一條直線,使預測值與實際值之間的誤差之和達到最小化,最簡單和常用的方法是最小二乘法 (Least Squares Method) ,公式如下:
m(斜率)=Σ((X-x)*(Y-y))/Σ((X-x)"2)
b (截距)= y–m*x
(其中x是自變量的平均值,y是因變量的平均值,Σ表示求和的符號)
這兩條最簡單的方程式,說明圖形問題可以轉化成數字問題,而大量觀察到的不同位置點,又可以回歸成誤差和最小的方程式。當然AI現實設計中會有多個變量,而且也不會簡單到只用直線回歸,但原理是相同的,就是AI機器把被“餵”入的資料,轉化成在數學框架下的模式去解決問題。
AI採“梯度下降算法”
AI 中的“梯度下降算法”是最重要的優化技術之一,設計者首先為模型的參數選擇初始值,然後將訓練數據傳遞給模型,並使用損失函數來度量模型預測與實際之間的差異。模型計算出損失函數對每個參數的偏導數,梯度指示了損失函數在參數空間中的變化率,告訴如何調整參數以減少損失。模型利用得到的梯度信息更新參數,這個步驟被重複執行多次,直至損失函數收斂到一個較小的值,通過模型參數不斷調整,以逼近最優化地步。AI 模型的“梯度下降算法”可以用“吃一塹,長一智”來形容,模型通過從不斷改錯來自我完善。在實際應用中,還需要考慮使用更複雜的優化技術,如隨機梯度下降(SGD) 、動量優化、自適應學習率方法等。
容永剛