2023年5月18日 星期四

AI 入門:20.深度學習框架(人工智慧 28 堂基礎課程)

深度學習框架 (Deep Learning Framework) 是一種介面 (Interface)、函式庫 (Library) 或工具 (Tool),透過它,開發人員、研究人員和資料科學家可以在不用耗費過多時間撰寫深度學習底層演算法所需程式碼的前提下,有效地建立深度學習模型。深度學習框架提供了用於設計、訓練和驗證深度神經網路的組件(通常以預先建立、經優化後的組件等形式提供)。

.
現今市面上有多種深度學習框架可供使用,每個框架都有其獨特的建立方式和使用目的。大多數的深度學習框架都是開放原始碼專案,任何想使用它們的人都可以自由使用。此外,這些深度學習框架通常與高階程式設計語言如 Python 或 R 一起使用。以下是一些常見的深度學習框架:
  • TensorFlow

  • TensorFlow 是當今市場上最優秀的深度學習框架之一,由於其高度靈活的系統架構,許多知名公司,包括 IBM、Airbus、Twitter、Uber、Airbnb 和 Nvidia 等,均已採用 TensorFlow 進行專案開發。TensorFlow 不僅可用於桌上型電腦和移動裝置,同時還支援 Python、C++、R、Java 和 Go 等程式語言,以便開發人員方便地建立深度學習模型。此外,TensorFlow 也提供了許多封裝函式庫 (Wrapper libraries),方便使用者快速開發。

    TensorFlow 具有兩個廣泛使用的工具:TensorBoard 和 TensorFlow Serving。TensorBoard 是一個用於神經網路建模和性能評估的有效資料視覺化工具;TensorFlow Serving 則是一個用於在伺服器架構中提供 API 應用服務的模型伺服器。它除了可以快速部署新的演算法之外,還能與其他 TensorFlow 模型進行整合。TensorFlow 對於建立和實驗深度學習架構來說非常方便,同時也提供了與資料整合相關的功能,例如將圖片、SQL 資料表以及影像整合作為輸入資料。
  • PyTorch

  • PyTorch(發音為 pie torch)是一個基於 Torch 函式庫的開放原始碼機器學習函數庫,被廣泛使用在 Facebook、Twitter、Salesforce 等網路產業巨頭中,同時也被視為 TensorFlow 的強大競爭者。PyTorch 的主要優勢在於高度的靈活性以及對 GPU 計算資源的優化使用能力,此外,它也廣泛地支援多種機器學習演算法。

    PyTorch 使用了快速的指令碼語言 LuaJIT 和底層的 C/CUDA 來實作,這讓它在易用性和高效率的特性上都具備優勢。與 Torch 不同的是,PyTorch 運行在 Python 程式語言上,這意味著任何對 Python 程式語言有基本認識的人都可以快速建立自己的深度學習模型。相對於其他深度學習框架,PyTorch 對於訓練神經網路模型的過程相對簡單和清晰,因此非常適合用於小型專案或是雛型系統。
  • Keras

  • Keras 是一個基於 Python 開發的開放原始碼神經網路函式庫,可以在 TensorFlow、Microsoft Cognitive Toolkit、Theano、PlaidML 或 CNTK 等環境中運行(Keras 是 TensorFlow 核心 API 的一部分)。Keras 的目標是讓資料科學家加速實現深度神經網路,其主要優勢在於友善的使用介面、模組化的設計與可擴展性的架構。對於深度學習框架的初學者或想要進行雛型概念驗證的使用者來說,Keras 是一個理想且最佳的選擇。Keras 主要用於文章分類、文本生成與摘要、詞彙標記 (Tagging)、語言翻譯和語音辨識模型開發等應用領域。
  • Scikit-learn

  • Scikit-learn 是一個免費的機器學習函式庫,專為 Python 程式語言而設計。它包含多種分類、迴歸和分群演算法,包括支援向量機、隨機森林、梯度提升、K-means 和 DBSCAN 等。Scikit-learn 被設計為能夠與 Python 的 NumPy 和 SciPy 等知名函式庫相互整合使用,同時也具有與其他 Python 函式庫的優秀整合能力,如 Matplotlib 和 Plotly 等繪圖函式庫,以及 Pandas Dataframes 等。由於它易於學習且方便使用,對於機器學習的初學者和專業開發人員來說,Scikit-learn 是一個理想的選擇。
  • MXNet

  • MXNet(讀作 mix-net)是一個專為高效率、高生產力和高靈活性而設計的深度學習框架,支援多種程式語言,包括 Python、R、C++、Julia 和 Scala 等。MXNet 擅長於影像處理 (Imaging)、手寫/語音辨識、預測分析以及自然語言處理 (NLP) 等領域,也允許使用者運用他們熟悉的程式語言來訓練深度學習模型。MXNet 的底層由 C++ 和 CUDA 撰寫,使其具有自主擴展能力,並能夠與無數 GPU 協同運作,因此它也成為企業不可或缺的深度學習工具之一。
  • Caffe

  • Caffe 是一個深度學習框架,支援 C、C++、Python 等程式語言,並提供命令列操作介面 (Command Line Interface)。 Caffe 以其執行速度和可攜性,以及在模擬卷積神經網路 (CNN) 方面的適用性而聞名。使用 Caffe 的 C++ 函式庫的最大優點是可以存取深度學習網路函數庫 (Caffe Model Zoo) 的資源,這個由開發者社群提供的函式庫包含許多預先訓練好的神經網路,可以讓資料科學家立即使用,縮短專案的開發時間。Caffe 的另一個優勢是執行速度,它可以用一個 Nvidia K40 GPU 每天處理超過六千萬張圖像,因此非常適合用於視覺識別 (Vision Recognition) 等應用領域。

除了前面介紹的深度學習框架之外,目前市場上還有許多可以使用的深度學習框架,包括 Gluon、Swift、Chainer、DL4J(Deep Learning for Java)和 Open Neural Network Exchange (ONNX) 等。





人工智慧 28 堂基礎入門課程,完整目錄連結:
1.課程目的 15.分類(Classification)
2.資料就是新一代的能源 16.低度擬合與過度擬合
3.結構化資料 17.分群(Clustering)
4.非結構化資料 18.整合學習方法
5.半結構化資料 19.模型參數與超參數
6.為資料加上維度的概念 20.深度學習框架
7.人工智慧、機器學習、深度學習的定義 21.深度學習的主力 – 神經網路
8.構成 AI, ML 與 DL 的基本元素 22.影像辨識 - 卷積神經網路(CNN)
9.機器(深度)學習工作流程 23.自然語言處理 - 循環神經網路(RNN)
10.模型具體是什麼? 24.生成式對抗網路(GAN)
11.資料準備-維度縮減 25.移轉學習
12.資料準備-資料分割 26.衡量預測結果的品質
13.機器學習方法概述 27.實作 ML 與 DL 的挑戰
14.迴歸(Regression) 28.IBM AI 階梯方法論







版權聲明
人工智慧 28 堂基礎入門課程系列文章係依據 IBM 原廠英文教材進行適度翻譯與內容調整而成,每一門課程使用的主圖片其版權歸屬於 IBM 公司。文章內容未經授權,請勿進行任何形式的複製、修改或發佈本文內容,如需轉載或引用,請在使用時注明出處並取得授權。本文中提及的特定公司、產品、品牌名稱等僅為描述目的,其版權歸屬於相應的公司或擁有者。

沒有留言:

張貼留言