STEM 教育與培訓 (II)
21 May, 2021 by
STEM 教育與培訓 (II)
DL

在 “STEM 教育和培訓 (I)” 一文中,我們討論過硬件,現在讓我們討論軟件開發。

即使您不熟悉計算機編程,也可能聽說過某些計算機編程語言,例如 Basic、C、Java、Python 等。每種計算機語言都有其“生命週期”。例如,C 出生於1972年,並且還在不斷發展。Python 於 2000 年發布,其 2.0 版現已成為許多 AI (人工智能) 和 ML (機器學習) 項目的通用語言。

新的計算機語言和軟件框架 (software frameworks) 不斷湧現,但近年來,由於 AI 和 ML 系統流行起來,計算機編程也發生了巨大的變化。有人將計算機系統或應用程序的構建描述為從 “確定性 (deterministic)” 方法走向 “概率性 (probabilistic)” 方法的轉變。

在過去的幾十年中,我們日常生活中使用的許多計算系統或應用程式都是基於數據和 “規則(Rule-based)” 的邏輯運算 (如 “ if-then-else”、“ for-loop”、算術運算等) 。 例如,對 ERP 系統進行“編程”令其遵循作業環境中的運作流程,由編程人員預設定義和功能,以確保系統輸入和輸出數據完全符合系統內部準則運算。這就是為什麼我們將典型的 ERP 系統稱為 “確定性系統 (deterministic system)”,我們不希望系統出現隨機性 (randomness) 的狀態。

通過機器學習算法實現的 AI 系統或應用程式與確定性系統完全不同。ML 算法的實現基於“概率性”方法。例如,從圖像中確認字符、句子或文本段落的圖像識別應用程式可能會給出錯誤答案,儘管我們可以通過其他手段 (如提供更多的訓練數據, training data) 來提高系統的準確性 (accuracy)。但是從理論和數學上講,我們無法獲得 100%準確而“完美”的機器學習算法系統 (您可以想像,在現實世界中,有人也可能會錯誤地識別字符或詞語。)

AI 或 ML 系統從訓練數據中學習,然後建立系統內使用的參數,以幫助自動進行決策和預測,而無需人工編程的明確指令,而我們不會了解其背後的任何規則。 (順便一說,這也是 AI 系統或應用程式主要用於預測應用的原因。)

由於經典系統 (確定性系統, deterministic system) 和 AI 系統 (概率系統, probabilistic system) 之間的差異,數學和計算機教育在過去幾年中從大中小學到專業領域迅速發生了變化。統計學、概率論、矩陣和矢量計算是機器學習算法的基礎。無論開發人員使用哪種編程語言來實現 AI 和 ML 應用程式,他(她) 都應該對這些學科有更好的理解。

Share this post