方格精選

[探索] 現行深度學習架構概況

更新於 發佈於 閱讀時間約 19 分鐘
「大數據就像青少年討論性一樣,每個人都討論它,卻沒有人真正知道如何做它。」(Big data is like teenage sex: everyone talks about it, nobody really knows how to do it, ...)
這是美國杜克大學經濟系教授,Dan Ariely,在自己的社交平台上發表對大數據的評論。同樣的,這句評論,也可應用在自 2014 年,火熱至今的深度學習。從學術界到業界,從課堂到職場,每一個人都在討論深度學習,彷彿他們真的懂得那是什麼,但沒有人能夠宣稱真正了解深度學習,直到他們親自動手實踐了深度學習的專案。
fast.ai 的創辦人同時也是加州舊金山大學的助理教授 Rachel Thomas 在 KDNuggets 預測 2018 年的趨勢中,表達對 Facebook 支援開發的深度學習架構開源專案 --PyTorch 在 2017 年加入深度學習軟體架構的戰局後,所帶來在深度學習架構軟體設計趨勢上的改變,抱持著樂觀的看法。她是這麼說著:
“... 2017 年的人工智慧趨勢中,我最期待莫過於深度學習架構往更加使用者友善和更易編碼的方向大幅改變。多虧了動態計算圖和物件導向設計,使得 PyTorch 在 2017 甫推出後,即獲得許多 Python 使用者的喜愛。甚至連 TensorFlow 藉由納入廣受社群歡迎的深度學習高階函式 -- Keras 於其核心程式庫,以及發表動態執行 eager 介面,也朝著使用者友善的程式介面前進。建構深度學習程式的藩籬對多數程式寫作者將逐漸地降低...
... the 2017 AI trend I’m most excited about is that deep learning frameworks are getting dramatically more user-friendly and accessible. PyTorch (released this year) is friendly to anyone who knows Python (largely due to dynamic computation and OOP design). Even TensorFlow is moving in that direction, by adopting Keras into its core codebase and announcing eager (dynamic) execution. The barriers for coders to use deep learning are getting lower all the time ...
的確,在 2010 年由同為深度學習的先驅研究者 Yoshua Bengio 發表了以 python 為主的深度學習函式庫,Theano(目前已宣布停止更新,見參考資料[1]),利用符號式的計算圖資料結構,來建置類神經網路。符號式的計算圖結構,可以將數學表現式與真正的資料內容分離,而使原始碼更為近似於紙筆的理論推導,令類神經網路的理論建構者,能更輕鬆的編寫直覺式的程式碼,也增加了原始碼的易讀性。除此之外,需要耗費許多運算能力的梯度運算,藉由封裝成計算圖中運算元裡的屬性,在執行計算圖時,根據運算元的特性,在執行期間分散到不同的設備上,如 GPU,平行執行,更加快了類神經網路的訓練速度。
至今,許多大型科技公司,紛紛投入深度學習架構的開源計畫,分別在程式架構,結合雲端,和高效能的運算能力上互別苗頭。現今,至 2018 年初,已有幾個較為深度學習社群所熟知的開源專案發表,而這些專案與其支援的科技公司之間的關係可見下圖。
圖片來源:參考資料 [2]
在上圖中,我們可以將圖中的圓形視為深度學習架構的戰場,而各佔據四方的則是:由 Google 支援,在 2015 年發表的深度學習架構專案 Tensorflow。由 Microsoft 支援,原以 CNLTK 為人知曉,現在則被正式命名為 Cognitive Toolkit 的深度學習架構。以及 2017 年由 Facebook 支援的 PyTorch 與 Caffe2。最後,則是 Amazon 將著名的開源計畫搖籃,Apache 基金會,發展出的深度學習架構,MXNet,整合入自家公司的雲端服務中。
一般而言,深度學習架構的使用者可以粗略分為兩類:一種是運用深度學習架構來進行概念驗證(Proof of Concept),因而需要快速實驗且評估不同的模型。另一種則是希望將深度學習導入商業應用,將深度學習模型配置成應用程式(app),成為對一般民眾開放的服務平台。
然而,基於不同的使用需求,究竟該依何標準從不同的深度學習架構中選擇呢?
以研究為取向的使用者,對於深度學習架構的需求,最重要的考量即是快速上手,且容易除錯。透過可動態執行的直譯式語言,在嘗試或開發早期時,便可及早發現模型裡的臭蟲,避免浪費大量時間訓練一個錯誤的模型。因此,現行深度學習架構的一個共同處,即是支持一或多種直譯式語言的呼叫介面。其中,鑑於 Python 是目前最熱門的一個程式語言,在目前許多比較深度學習架構的部落格文章中,無論是由第三方公司所評比,或是部落客個人的努力,多將深度學習架構中是否包含 Python 的客戶端呼叫介面(Client Interface),視為一個加分條件。
Tensorflow 的計算圖在 Tensorboard 上顯示(圖片來源:參考資料 [5])
在這樣的考量,似乎在架構設計上,以動態計算圖(dynamic graph)為主要網路資料結構的 PyTorch 為最佳考量。
Facebook 的 PyTorch 誠如其名,將原本較少人知以 Lua 為程式介面的深度學習程式庫 Torch 重新以 Python 包裝而成。和 Theano 一樣都是深度學習的先驅函式庫,Torch 在具有優化 Lua 語法的執行期即時編譯器(JIT )的專屬虛擬機器上執行,在建模時,並不需要如 Theano 另外產生與 Python 直譯器相容的 C 原始碼,亦沒有符號編程的需求。然而因為官方的 Lua 語言並不支持 Windows 作業系統,因此一直鮮為人知,而使 Torch 較 Theano 更為少人使用。
PyTorch 的潛在使用者也包括了長久使用 Python 作為資料處理的主要語言的工程師們,專注於與 Python 語言的緊密結合,期待以更無痛的學習方式,快速地以已經熟悉的函式庫,如 numpy,Cython,pandas 等建立深度學習模型。
較 PyTorch 早兩年發表的 TensorFlow,在架構上則是沿用以靜態的符號計算圖為主的 Theano,後端的執行引擎是由 C 寫成,在執行引擎上層則有多個直譯式語言作為前端介面,如 Python 和 Java 等。更有與執行引擎緊密結合,且執行速度普遍較直譯式語言快速的C++ 所寫成運算元函式庫。
這些 C++ 函式庫,程式邏輯已成熟,原始碼變動不大,透過多語言介面程式產生器(SWIG)「註一」產生呼叫函式庫的程式碼。然而,因為這樣的呼叫方式,仍是透過直譯器執行,為了維持效能,Tensorflow 另外使用 Protocol Buffers 「註二」序列化執行參數與指令,直接交予後端的執行引擎執行。
Tensorflow 的架構(圖片來源:參考資料 [5])
在多數評比文章中可發現,函式庫的建模的能力(Model Capability)也是多數使用者關注的重點。在建模能力上,主要是比較函式庫在編寫經常使用的深度學習模型的容易度,以及建模的程式架構是否有恰當的模組化。雖然 Tensorflow 一直在許多深度學習開發者中受到歡迎,但缺乏適當的模組化或物件導向語言的封裝,使用者需要重複編寫許多相同的程式碼。相對地,能夠動態計算圖編程,和即時除錯的 PyTorch 很快地就從深度學習的研究者和使用者間流行起來。
於是,在 PyTorch 的歡迎度升高後,Tensorflow 也開始改變策略,重新利用 python 程式語言動態執行的長處,發展了 eager 執行模式,而使除錯更為容易 並併入了在深度學習社群中非常受歡迎的 Keras 作為高階的介面函式庫(API)。
Keras 是一個深度學習的介面函式庫(API),而非深度學習架構。在早期,Keras 只有專注於開發建構在 Theano 上的高階 API 為主。以物件導向的方式,將建模的程式碼封裝成 layer,而利用堆疊一層一層的 Layer 物件來建立類神經模型,或又稱為 Layer-wise 為主的方式來建模。在 Tensorflow 發表後,人氣相當高的 Keras 便進而採用 Tensorflow 作為執行後端(backend),但在不同的深度學習的架構逐漸蓬勃發展後,又併入 Microsoft 的 CNLK,而成為一個通用化的深度學習介面。
Keras 作為一個深度學習架構的最上層,就如 Thomas 所言,將後端的原始碼封裝,使用者在建構類神經網路模型時,只需簡短的幾行程式碼便可完成,因此達到建模的簡易性。然而以 Layer-wise 為主的的建模方式通常缺乏彈性,在較為複雜的類神經網路,仍需要親自撰寫後端的原始碼,或甚至打破 Layer 的架構,重新編寫計算圖中的運算元。不過 Keras 所提供的便利性,對於許多深度學習入門者而言是非常寶貴的踏腳石,那些複雜的網路架構,如 MAC network (Hudson and Manning, ICLR 2018),或 Capsule Network 就留給那些天才般的腦袋吧!
2017 年 Data Incubator 所做的 Deep Learning Libraries Ranking (圖片來源:延伸閱讀 [6])
和 PyTorch 都在去年發表的,還有 Amazon 和 Microsoft 共同合作的開源專案,以 python 為主的 Gluon API。Amazon 的雲端服務使用的深度學習架構 MXNet 和 Microsoft 的 Cognitive Toolkit 都會使用 Gluon API 介面,不過目前還是以支援 MXNet 為主。
MXNet,由著名的開源專案搖籃 Apache 基金會所培育,亦是由多個開源專案演化而來,在 2015 年正式發表。除了 Gluon API 外,MXNet 更提供高度優化的 R 介面。如同 PyTorch 所標榜的,Gluon 也是使用所謂的動態計算圖,使用者無需再建模的時候,就先把計算圖建立好,反而透過如同錄影的方式,一步一步的執行,讓使用者在對梯度除錯時更加的容易。但同時,Gluon 也容許使用者,建立抽象式的符號計算圖,藉著事先優化已編譯好的深度網路架構,在執行速度上比動態計算圖更為快速。
Amazon 雲端服務支持的深度學習函式庫(圖片來源: AWS
然而,對於希望能將深度學習模型配置成雲端服務,就必須要考慮深度學習架構的 API 穩定性,對於實驗性較高,或還在發展階段的 PyTorch,因為具有升級時,無法支援舊版 API,而造成舊有模型無法配置,服務中斷的危機。(見延伸閱讀 [1])
在現行的深度學習架構的建置中,除了希望在使用者的親和度上贏得更多初階使用者們的芳心,並藉由計算圖資料結構,而使該架構能更為普及,另外還有一些特點,能讓深度學習架構成為一條龍的服務 -- 那就是模型配置成服務(Model Deployment)以及相依生態軟體(Ecosystem)。
Tensorflow 作為將深度學習架構視為一條龍服務的方向上,顯然是相當卓越。因為 Tensorflow,早在初期便展現了相當的野心,從訓練資料的視覺化(Tensorboard),模型配置成服務(Tensorflow serving),並和 Hadoop,以及自家的雲端服務做結合。
Tensorboard 圖片來源:參考資料
反觀,起步較晚的 PyTorch,則是以介面的親和力來凝聚該軟體使用者社群,在相依生態軟體上,和 Tensorflow 比起就稍微遜色不少。為了能更讓起步較晚的 PyTorch Caffe 能夠在深度學習應用上能站穩它的寸方之地,PyTorch 採納 Caffe2 作為該函式庫的一部分。Caffe2 是由 Berkeley 大學的視覺與學習中心所開發的軟體,Caffe 的後繼者,多用於電腦視覺,主要語言是用 C++ 寫成,同樣有給廣大 python 愛好者使用的友善 API。在訓練資料的視覺化,則需要第三方軟體所開發的套件。而在配置模型為服務上,則是使用如 Flask,建置通用目的的網路服務架構相輔相成。
至於 MXNet,在呈現計算圖上,則有和 Tensorflow 一別苗頭的 MXBoard,而配置上也擁有自己的 Server,並且與 Amazon 的雲端服務結合。
延伸閱讀 [1] 所提出的一個衡量深度學習架構效率的流程(圖片來源:延伸閱讀 [1])
未來深度學習架構發展的趨勢,目前有兩個重要的走向備受到關注:
之一,是計算能力的提升。即使有良好的軟體設計框架來設計日漸複雜的類神經網路模型,缺乏強大的硬體計算能力,過於複雜的網路模型,只是精工雕琢,具有複雜紋路的美麗雕刻,卻不具有任何實際效用。 GPU 加入高效能運算的硬體計算行列,成為深度學習研究的加速器。然而雖然加快了執行速度(performance),但也提高了維持高效能計算在異質化系統執行的難處,於是乎,除了在硬體上力求革命性的突破,一個針對異質化設備做運算最佳化的編譯器,更顯重要。
之二,則是模型在不同架構間的交換檔案格式。鑑於,深度學習的相關函式庫與架構日漸蓬勃發展,顯然地,一個受各方認可的檔案交換格式制定,將會有利於以建構的深度類神經網路模型在不同的架構中使用,有利於重製模型成果以及比較各個架構的速度和實踐細節。
在同一系列的下篇中,將會先詳細介紹在本篇中不斷神秘出現的計算圖,也會對這兩點做更深入的說明,請各位敬請期待。

註釋:

  1. SWIG 一個如 Cython 之於 Python,作為原生程式碼(C/C++)程式碼產生器和編譯器,只不過 SWIG 可產生多個不同直譯式語言的介面。
  2. Protocol Buffers 屬於許許多多序列化二元檔案格式中的滄海一粟,封裝類別物件,並搭配 Google 發展的 gRPC 服用。

參考資料:

  1. Theano 由 University of Toronto MILA 實驗室開發,深度學習以及抽象化編程的先驅函式庫之一。
  2. Battle of the Deep Learning frameworks — Part I: 2017, even more frameworks and interfaces(英,發表於 2017.12)
  3. Introducing Gluon: a new library for machine learning from AWS and Microsoft(英,發表於 2017.10)
  4. PyTorch vs TensorFlow — spotting the difference(英,發表於 2017.6)
  5. Tensorflow 官網
  6. pytorch tutorial on github

延伸閱讀:

  1. A Way to Benchmark Your Deep Learning Framework On-premise(英,發表於 2018.7, MXNet 的官方部落格):該文以 DevOps 的角度和需要經常更新深度學習模型,而不造成服務的中斷為主要選取深度學習的架構的考量。基於此一考量,API 和 code base 的穩定,也在考慮之中,因而該文作者較為偏好 MXNet 和 Gluon 的組合。同時在該文章中,也對如何對不同的深度學習架構做 benchmarking,提出了架構和流程的解說。
  2. The Battle Between Deep Learning Frameworks(英,發表於 2018.4):該文對現行的深度學習架構作兩兩比較。包括的比較對數有 Tensorflow vs PyTorch,Tensorflow vs Theano,Tensorflow vs Keras,Keras vs TFLearn。該文在每一對的比較之後,都會有簡短的核對清單,主要是提供架構選擇者來依據需求決定該使用何種函式庫。
  3. Deep Learning Frameworks (英)Nvidia 在開發者專欄中所做的深度學習架構介紹並不包括評比,包括了 Caffe2(Berkeley Vision and Learning Center, 同時也併入 PyTorch)/ Nvidia Caffe,Cognitive Toolkit (CNTK, Microsoft),MATLAB,MXNet(Apache,用於 AWS),Tensorflow(Google)以及 PyTorch (Facebook)。另外還有較少為人知的 Chainer (Python) 以及 PaddlePaddle
  4. TensorFlow, MXNet, Caffe, H2O - Which Machine Learning Tool Is Best? (英,發表於 2017.8)主要評比機械學習架構包括了 Tensorflow, Caffe, MXNet, H2O,文章的末段主要討論如何使用一或多個機械學習架構,和 data pipeline 結合。
  5. The Anatomy of Deep Learning Frameworks / An Overview of Python Deep Learning Frameworks:KDNuggets 在 2017 刊登兩篇關於深度學習架構的文章。其中一篇是以 python 為主的架構。
  6. Building simple artificial neural networks with TensorFlow, Keras, PyTorch and MXNet/Gluon(英,2018.5):文中先以 Data Incubator 在 2017 年使用 google search,github watch stars,stackoverflow tagging counts 所做的深度學習函式庫的排名。再使用 MNIST 手寫影像識別 dataset 作為訓練資料,分別用Tensorflow,Keras(仍舊是 Tensorflow 做後端), PyTorch 和 MXNet 建立簡單的 CNN 模型。
  7. Comparison of Frameworks(英):對約 16 個深度學習函式庫,給予正面和反面的評價。
  8. Deep Learning Frameworks Hands-on Review(英,2017.12):和延伸閱讀 [6] 的一樣,使用 MNIST 手寫影像識別的 dataset 作為訓練資料,但在較多的深度學習函式庫上比較。
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
71會員
35內容數
<p>專為年輕的女孩設計的科學/資訊科技寫作計畫,希望讓每位女孩在體脂肪、青春痘與暗戀對象之外,還能找到新的生活樂趣。</p>
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Rene Wang的沙龍 的其他內容
本文接續上篇直覺式強化學習教學,著重於解釋強化學習中常見的探索和竭盡難題,以及如何利用不同的方法來進行策略函式的學習,並與策略梯度做比較。同時,介紹 A2CS 所使用的損失函式,以及應用這個損失函示於深度學習時會遇到的訓練難題。最後,總結強化學習和深度學習的未來方向,以及本系列文章所企圖達到的目標。
本文介紹由 OpenAI 發表的強化學習中基準模型,並藉由國外軟體工程師所繪畫的生動動畫來做直覺式的強化學習介紹以及教學。在漫畫中,將會比較蒙地卡羅和 Advantage Actor Critic (A2C) 模擬方法的不同,並將強化學習中的基礎觀念融入漫畫中。
<p>普華永道(PwC)聯合會計事務號發表了他們對 2018 年人工智慧的趨勢預測。本文將簡略合併 PwC 提出的十項預測於四大類,對每一類介紹並了解為何 PwC 認為這十項預測的發展值得關注,以及如何應用到工業的領域中。</p>
介紹李飛飛(Fei Fei Li )教授的『我們如何教導電腦瞭解影像』的 TED 演講導讀。演講中,李飛飛教授簡述利用電腦視覺進行物體辨識的簡史,亦提及她的研究領域:包括用群眾集資完成巨量影像資料庫,完全公開使用,和使用深度學習進行影像註解。演講中,李飛飛分享個人研究歷程並勾勒人工智慧的遠景。
本文接續上篇直覺式強化學習教學,著重於解釋強化學習中常見的探索和竭盡難題,以及如何利用不同的方法來進行策略函式的學習,並與策略梯度做比較。同時,介紹 A2CS 所使用的損失函式,以及應用這個損失函示於深度學習時會遇到的訓練難題。最後,總結強化學習和深度學習的未來方向,以及本系列文章所企圖達到的目標。
本文介紹由 OpenAI 發表的強化學習中基準模型,並藉由國外軟體工程師所繪畫的生動動畫來做直覺式的強化學習介紹以及教學。在漫畫中,將會比較蒙地卡羅和 Advantage Actor Critic (A2C) 模擬方法的不同,並將強化學習中的基礎觀念融入漫畫中。
<p>普華永道(PwC)聯合會計事務號發表了他們對 2018 年人工智慧的趨勢預測。本文將簡略合併 PwC 提出的十項預測於四大類,對每一類介紹並了解為何 PwC 認為這十項預測的發展值得關注,以及如何應用到工業的領域中。</p>
介紹李飛飛(Fei Fei Li )教授的『我們如何教導電腦瞭解影像』的 TED 演講導讀。演講中,李飛飛教授簡述利用電腦視覺進行物體辨識的簡史,亦提及她的研究領域:包括用群眾集資完成巨量影像資料庫,完全公開使用,和使用深度學習進行影像註解。演講中,李飛飛分享個人研究歷程並勾勒人工智慧的遠景。
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
深度學習是什麼? 簡單來說,深度學習是大型且多層的人工神經網路。我們可以想像神經網路("Neural Nnetwork, NN")是一種有向無環圖,此圖可拆分成三個部分來看: 1. 輸入層接收信號向量;2. 一個或多個隱藏層處理前一層的輸出; 3. 輸出層統合之前所有隱藏層的處理結果。神經網路的初
Thumbnail
本文介紹了一張AI的層次分類圖,通過圓形結構簡述人工智慧、機器學習、神經網路及深度學習等技術的層級關係。從最外層的人工智慧到深度學習,逐層解析這些技術及其相互關聯,幫助讀者更好地理解AI領域的分類和技術應用。這一分類架構符合現階段AI技術的普遍認知。希望能夠為探索AI提供有價值的參考。
Thumbnail
TensorFlow是由 Google 開發的一個強大開源機器學習框架,它賦予電腦像人類一樣學習和思考的能力。本文介紹了 TensorFlow 的核心功能、概念及其在圖像識別、自然語言處理等領域的應用,並提供學習資源與社群資訊。無論是初學者還是專業開發者,都能充分發揮 AI 的潛力。
Thumbnail
PyTorch 是一個開源的 Python 機器學習庫,基於 Torch 庫,底層由 C++ 實現,應用於人工智慧領域,如電腦視覺和自然語言處理等。 PyTorch 2.4 引入了多項新功能和改進,包括支援 Python 3.12、AOTInductor 凍結功能、新的高階 Python 自訂運算
Thumbnail
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
Thumbnail
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
本文主要筆記使用pytorch建立graph的幾個概念與實作。在傳統的神經網路模型中,數據點之間往往是互相連接和影響的,使用GNN,我們不僅處理單獨的數據點或Xb,而是處理一個包含多個數據點和它們之間連結的特徵。GNN的優勢在於其能夠將這些連結關係納入模型中,將關係本身作為特徵進行學習。
Thumbnail
這篇文章介紹了《深度學習的技術》中的五大學習部分:記憶力,理解力,知識網,拓展能力與生活應用。作者分享了對於這些學習部分的心得與建議,並提供了主題相關的書籍推薦及閱讀資料。
Thumbnail
大型語言模型(LLM)是基於深度學習的自然語言處理模型,而多模態模型(LMM)能處理多種資料型態。這些模型將對未來帶來重大改變。LLM 專注於理解和生成自然語言,LMM 能夠處理跨模態的內容,並整合多種資料的能力,有望成為未來趨勢。
Thumbnail
生成式人工智慧(AI)已成為當前科技領域的一大熱點,其能力不僅限於模擬人類智能,更能在多種非傳統計算任務中創造前所未有的內容。這篇文章將深入探討生成式AI的理論基礎、實際應用、代碼實踐,以及其商業應用、工具和公司等方面,提供一個全面的視角來了解這一迅速發展的領域。
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
深度學習是什麼? 簡單來說,深度學習是大型且多層的人工神經網路。我們可以想像神經網路("Neural Nnetwork, NN")是一種有向無環圖,此圖可拆分成三個部分來看: 1. 輸入層接收信號向量;2. 一個或多個隱藏層處理前一層的輸出; 3. 輸出層統合之前所有隱藏層的處理結果。神經網路的初
Thumbnail
本文介紹了一張AI的層次分類圖,通過圓形結構簡述人工智慧、機器學習、神經網路及深度學習等技術的層級關係。從最外層的人工智慧到深度學習,逐層解析這些技術及其相互關聯,幫助讀者更好地理解AI領域的分類和技術應用。這一分類架構符合現階段AI技術的普遍認知。希望能夠為探索AI提供有價值的參考。
Thumbnail
TensorFlow是由 Google 開發的一個強大開源機器學習框架,它賦予電腦像人類一樣學習和思考的能力。本文介紹了 TensorFlow 的核心功能、概念及其在圖像識別、自然語言處理等領域的應用,並提供學習資源與社群資訊。無論是初學者還是專業開發者,都能充分發揮 AI 的潛力。
Thumbnail
PyTorch 是一個開源的 Python 機器學習庫,基於 Torch 庫,底層由 C++ 實現,應用於人工智慧領域,如電腦視覺和自然語言處理等。 PyTorch 2.4 引入了多項新功能和改進,包括支援 Python 3.12、AOTInductor 凍結功能、新的高階 Python 自訂運算
Thumbnail
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
Thumbnail
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
本文主要筆記使用pytorch建立graph的幾個概念與實作。在傳統的神經網路模型中,數據點之間往往是互相連接和影響的,使用GNN,我們不僅處理單獨的數據點或Xb,而是處理一個包含多個數據點和它們之間連結的特徵。GNN的優勢在於其能夠將這些連結關係納入模型中,將關係本身作為特徵進行學習。
Thumbnail
這篇文章介紹了《深度學習的技術》中的五大學習部分:記憶力,理解力,知識網,拓展能力與生活應用。作者分享了對於這些學習部分的心得與建議,並提供了主題相關的書籍推薦及閱讀資料。
Thumbnail
大型語言模型(LLM)是基於深度學習的自然語言處理模型,而多模態模型(LMM)能處理多種資料型態。這些模型將對未來帶來重大改變。LLM 專注於理解和生成自然語言,LMM 能夠處理跨模態的內容,並整合多種資料的能力,有望成為未來趨勢。
Thumbnail
生成式人工智慧(AI)已成為當前科技領域的一大熱點,其能力不僅限於模擬人類智能,更能在多種非傳統計算任務中創造前所未有的內容。這篇文章將深入探討生成式AI的理論基礎、實際應用、代碼實踐,以及其商業應用、工具和公司等方面,提供一個全面的視角來了解這一迅速發展的領域。