AI 淺解之「AI 開發流程」

AI,即人工智慧,是一個很廣泛的概念,即使不在科技圈,在日常的新聞、宣傳中,也能看到許多 AI 的身影。AI 概念遍布許多行業,金融圈,通過 AI 來判斷股票的漲跌,智能家居圈,語音識別,人臉識別產品也屬於 AI 產品,等等。不了解 AI 你就 Out 了。

但是對大部分人來說,這是一個比較深的概念,我們了解一個產品,也是需要由淺入深,一起從從淺顯的一些概念,以及開發流程,來了解 AI。

 

Ai:Artificial Intelligence - 人工智慧

ML:Machine Leaning – 機器學習

DL:Deep Leaning- 深度學習

這是我們最常見的三個概念,那這三個概念有什麼區別呢?

人工智慧是一個極其廣大和深遠的領域,它涵蓋了多個學科,包括計算機科學、數學、心理學、哲學等,並且正在不斷地發展和演進。我們還有需要未開發的人工智慧方向,目前已經在做的 Ai 產品,只是我們人類能想到的一些產品,包括在智能駕駛、智能家居、醫療診斷、金融分析等;AI 的潛力遠不止於此,未來會有更多跳脫的 AI 產品面世,總之 AI 是一個充滿無限可能性的領域。

ML 是 AI 的一種,可以說是一種相對於比較簡單的 AI,比如 ML 通過學習數據,對未來數據的預測和分類,它專注於讓計算機系統從數據中學習並改進其性能。而 DL 就是更高級一些的 AI,比如 DL 可以使用深度神經網絡來模擬人類大腦的結構和功能,理解數據內在規律,更智能更像人類,DL 的一個關鍵優勢是它能夠自動從原始數據中提取有用的特徵,而無需手動定義這些特徵。



(圖片來源於網絡)

AI 模型:是模擬人類智能行為和思考行為的算法或者系統;它的基礎是算法、程序,還包括通過算法和程序中學習得到的參數。目前有很多公開原理和實現方法的模型,針對於應用在不同的 AI 產品應用,比如 RNN、CNN、Transform、YOLO- V8 等。


(圖片來源於網絡)

ML 框架:是一種為機器學習和深度學習應用提供基礎架構和工具的軟體庫或平台,通常包括用於數據預處理、模型構建、模型訓練、模型評估和模型部署的各種組件和功能。在開發過程中,選擇 ML 框架也是很重要的,它跟 AI 模型相輔相成,它會協助你更好的開發 AI 產品,不需要太深入去了解一些模型細節,即可實現 AI 產品的前期開發。

推理:機器學習模型在訓練後應用其所學到的知識或模式來產生輸出結果的過程。

推理是一個過程,需要時間,這個時間需求,在 AI 產品功能定義的時候就要決定,根據推理時間選擇對應的 AI 模型,以及相應的實現方案和成本;可以這樣說,模型越複雜,推理時間越長,但是準確度也會更高,而增加硬體成本就可以縮短推理時間,所以在產品定義後進行的選型,就需要在成本與實現的效果中間選擇一個平衡點。

部署:將訓練好的模型移植到實際的工作環境中,可以是雲端,也可以是邊緣端。

部署會需要的一些工具,ML 框架裡面支持的工具就會更簡便的實現這個過程,這個在選擇 ML 的框架的時候也會考慮。

以上是一些我們常見的 AI 相關的一些概念解釋。

而開發流程,主要是以下過程:

1)明確任務需求 – 自然語言處理,圖像視覺,語音識別
對產品的功能需求前期是有一個明確的定義,這個需求在後續的成本“打架”中也是需要不斷的更新;

2)數據準備 – 數據的收集、處理、格式轉換


數據準備則是為後續模型的訓練做準備,當然,這些數據網上也會有一些開源或者收費的數據供使用;

3)選擇模型 – 了解各類模型的特點、優劣勢
模型多,要根據訓練時間、硬體需求、功能性、可拓展性等去選擇;

4)訓練模型 – 應用數據進行模型的訓練
考慮訓練的場景,雲端訓練則需要考慮成本、時間等,也需要考慮在邊緣端還是雲端進行訓練;

5)驗證模型與優化 – 根據訓練的結果來進行模型的優化
實現優化需要對模型的實現原理深入了解,才會可能做到好的優化;

6)模型部署與推理- 將模型部署到實際的生產環境中
生產環境可能是雲端,也可能是邊緣端,邊緣端可能是 MCU 也可能是 MPU,不同的環境,需要的部署工具不一樣;

7)持續學習與更新 – 根據應用的結果來進行持續更新
根據實際使用的情況,得到的數據結果來對產品進行下一步的更新;

開發過程隨時簡述,但是其過程也是不簡單的。

提到邊緣端,機器學習推理主要是做數以百萬計的乘法和累積數學計算,不需要特殊的硬體或模塊,任何 MCU 或 MPU 都能做到,但是專用的硬體加速器,如 NPU,TPU 可以大大減少推理時間 。而什麼是 NPU、TPU 呢?這些都是 AI 相關的處理單元:

GPU:圖像處理單元,強大的並行處理能力,加速神經網絡的訓練和推理

CPU:中央處理單元,負責通用計算任務,或一些實時性要求較高的任務

VPU:專注計算機視覺和深度神經網絡,加速圖像處理

TPU:用於加速人工智慧的訓練和推理任務。它基於 TensorFlow 框架,處理大規模的深度神經

           網絡模型,提供比傳統 CPU 和 GPU 更強的計算性能。

NPU:能夠高效地執行矩陣運算和神經網絡計算,提供高吞吐量和低延遲。它在圖像識別、

           語音識別、自然語言處理等應用中得到了廣泛應用,可以顯著提高這些任務的性能和效率。

另外介紹一款應用在 AI 領域的 MCU,NXP N947
這款為何適用在 AI 領域呢?因為它帶有 NPU,在使用到神經網絡運算時,可以大大提高計算速度,在一些簡單的 AI 產品上,就沒有必要再上高規格的 MPU 等產品。
該產品的一些規格如下:
  • M33 內核 150M 主頻
  • 1M Flash
  • 512K RAM
  • USB、CAN- FD、I3C、Ethernet、SAI、I2C、UART 等外設接口
  • 還支持 FlexIO(可應用於模擬 CSI 接口)
  • 支持 NPU、DSP
  • 封裝 VFBGA184: 9 x 9 x 0.86 mm, 0.5 mm pitch,HLQFP100: 14 x 14 x 1.4 mm, 0.5 mm pitch


MCX N94X 這個系列的產品,有一些關於 AI 的 Demo 和成功案例,有興趣可以關注我的博文~

以上是前期的一些常見的概念解釋,以及一個簡單的開發流程介紹,後續我們會再詳細了解學習一些常見的 AI 模型,常見的 ML 框架,一起入門 AI 宇宙! 

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論