日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

想要自学深度学习?不用GPU,浏览器就够了

發布時間:2025/6/17 HTML 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 想要自学深度学习?不用GPU,浏览器就够了 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

機器之心整理

參與:劉曉坤、思源


今天要介紹一個近期開源的自學深度學習 GitHub 項目,作者為每種具體算法提供了 Jupyter notebook 實現,可以輕易地在 Google Colab 上運行(免費提供云端 GPU 或 TPU)。所以想自學深度學習,不需要價格幾千美元的 GPU,有一個 Chrome 瀏覽器就夠了。


項目地址:https://github.com/GokuMohandas/practicalAI


該項目作者是 Goku Mohandas,是一名硅谷的 AI 研究員,曾就職于蘋果公司,并在 O'Reilly Media 從事過教學工作。他開發的這個 GitHub 項目——PracticalAI 目前已經有大約 2500 的收藏量,覆蓋了 Jupyter Notebook 和 Google Colab 的使用教程、Python 編程基礎、深度學習基礎(PyTorch 框架和 CNN、RNN 等算法),以及更高層次的算法和 AI 研究課題。


作者指出,他開發這個教程的目的是讓人們能學習到目標導向、產品導向的機器學習思維,而不會停留在課堂。


課程簡介


下表概括了整個項目的課程大綱,分成 4 個主要部分:基礎、深度學習、高級深度學習算法和 AI 研究課題(藍色是已經寫好 notebook 的部分,可以直接鏈接到 Colab 頁面,黑色是尚未寫的部分)。



基礎:包括 Jupyter Notebooks 簡介、Python 編程基礎和基礎機器學習算法。作者會介紹 Jupyter Notebooks 的單元格編程界面和操作、執行單元格的方法;然后是 Python 以及兩個重要的 Python 庫——NumPy、Pandas 的入門;最后是線性回歸、邏輯回歸等基礎 ML 算法的講解,這些算法覆蓋面很窄,不包含 SVM、樸素貝葉斯、隱馬爾科夫模型等更復雜的算法。但該項目并不是為經典機器學習而設計的課程,讀者可以在學習這些簡單算法的過程中了解到 AI 算法的訓練、數據集、評估、推理、正則化等基本概念,然后進入深度學習課程。


深度學習:包括 PyTorch 框架介紹和多種經典的深度學習算法。PyTorch 的介紹主要涉及張量計算和梯度計算。深度學習算法涉及多層感知機、CNN、RNN、詞嵌入等,作者還寫了兩個較高層面的主題,分別是數據和模型的關系,以及目標導向的機器學習,讓讀者對如何利用這些算法有個基本理解。每種算法針對的任務都比較單一,也沒有涉及生成模型,但通過深入的理解單個模型應用的每一個過程,可以讓你在進階學習時不被細節拖后腿。


高級深度學習算法:包括高級 RNN 模型、殘差網絡、自編碼器、生成對抗網絡、空間變換網絡等。這些算法的模型架構設計建立在基礎的深度網絡之上。作者目前只寫了高級 RNN 模型,涉及條件 RNN、編碼器-解碼器架構以及注意力機制等,其它模型還需等作者更新。或許作者還可以考慮加上基于流的模型、圖神經網絡等高級算法。


AI 研究課題:包括計算機視覺、時間序列分析、主題建模、推薦系統、預訓練語言模型、多任務學習、小樣本學習、強化學習等。這些課題不對應具體的模型架構,但會隨當前研究現狀有所偏好,如計算機視覺領域的主要模型架構就是 CNN 和編碼器-解碼器,作者目前只寫了計算機視覺部分。要把握這些課題,需要讀者對要解決的問題本身有很好的理解,從而不限于方法層面的視角。或許作者還可以考慮加上 AutoML、自監督學習、遷移學習、AI 游戲等課題。


可以跑的教程


這一套實踐教程都能直接在 Colab 上運行,因此結合解釋與代碼,我們能更好地入門機器學習。那么小白是不是也能看得懂這個教程?我們可以從最基礎的 Python 和 NumPy 出發,看看它們都介紹了些什么,純小白是不是能在較短的篇幅里了解最核心的思想與技術。


在 Pyhon 實踐中,作者給出了一個非常精簡的教程,其僅涉及 Python 最核心的模塊,包括變量、數據結構、基本語句與結構等。即使沒有什么基礎的小白,了解這些核心模塊后至少能看懂大部分代碼,剩下困難的只需要在遇到時谷歌一下就行了。


首先對于最基礎的變量,它們就像函數中的自變量一樣傳遞不同的值。如下所示,Python 中的變量可以傳遞整數、浮點數、字符串和布爾值,它們可以用于不同的運算:



而對于 Python 中主要的數據結構,即組織整數、浮點數、字符串和布爾值的結構,主要可以分為列表、元組和字典。其中列表是最常見的數據結構,我們可以想象為一個表格中的一行,表格每一個單元格都是列表中的一個元素,這樣的元素不論存放數值、列表還是字典都沒問題,它相當于一個容器。


以下展示了如何取列表中存儲的元素,第一個表示取列表中所有元素,第二個表示從第三個元素開始取后面所有的元素:



元組和列表非常類似,只不過元組里面的元素不能修改。最后是字典,字典中每一個元素都由 Key 和 Value 組成,即一個鍵值對。在字典中,我們需要使用 Key 才能取到對應的 Value。


如下所示字典的構建與索引,它會通過「name」這一個鍵取對應的值 Goku:



隨后對于基礎語句,例如條件和循環語句,該教程也給出了很直觀的解釋。最后,如果我們利用數據結構組織變量、利用基礎語句組織數據結構,再用函數或類等程序邏輯組織基礎語句,那么我們就能得到完整的程序。


如下所示為基礎的類,它能將函數和變量統一在一起,并構建完整的流程。在類中,賦值的變量可以稱為屬性,而函數則稱為方法。下圖構建了一個 Pets 類,當我們使用狗或貓實例化這個類時,就能直接調用 change_name 方法以實現改名。入門者跑一跑這幾段代碼就能知道類的大概作用了:



當然除了這些最基礎的 Pyhon 語句,機器學習另外一個很重要的基礎就是數值計算。我們需要計算大量的數據以獲得最終的分析結果,這就少不了 NumPy,可以說入門機器學習第一個學習的包就是 NumPy。


我們可以使用 NumPy 實現大多數機器學習算法,現在很多深度學習框架都繼承了 NumPy 的核心概念或數據結構等。了解了它,學習 DL 框架就沒什么阻礙了。在 NumPy 中,最重要的是多維數組這個數據結構,它能以向量、矩陣或高階張量的形式組織大量的數值,并實現高效的運算。此外,NumPy 還有很多針對多維數組所構建的運算,例如索引、矩陣乘法、矩陣轉置或廣播機制等。


入門讀者首先需要了解多維數組,尤其是矩陣的概念,當然要是數學上不了解矩陣,NumPy 也就愛莫能助了。以下代碼構建了一個 3×3 矩陣,并輸出它的元素類型、矩陣維度形狀和矩陣大小等。所有機器學習中的數據都是以多為數組存儲的,它們的計算流也都以數組為媒介,所以先搞定最基礎的 NumPy 數組吧!



關于理論基礎的學習,只跑這些算法肯定是不夠的,小編還是建議結合經典教材和課程視頻一起學習。但先在瀏覽器上跑一跑,或許能讓你更快體驗到 AI 的魅力所在,并帶來學習的動力。學習這個課程并不能讓你了解深度學習的現狀,但可以快速上手具體的項目,這或許正是作者說的「目標導向、產品導向」的意義所在。



點擊閱讀原文,進入大賽官網報名參與 JDD-2018?京東數字科技全球探索者大賽。

總結

以上是生活随笔為你收集整理的想要自学深度学习?不用GPU,浏览器就够了的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。