首頁>科技>

程式設計師書庫(ID:CodingBook) 猿妹綜合整理

近日 InfoWorld 公佈了 2019 年最佳開源軟體榜單。十幾年來,InfoWorld每年都會發布該榜單,開源軟體對於開發者來說至關重要,不僅因為它們是免費的,最主要的是它們確實很好用。

現在,對於軟體開發、雲端計算、資料分析、機器學習等領域而言,最重要的軟體都是開源軟體,PyTorch是今年上榜的開源專案之一

2018年,深度學習快速躥紅之後,PyTorch在2019年成為最適合用於生產中的工具,隨著PyTorch 1.0版本的釋出和TorchScript (Python的jit編譯子集,結合了快速的c++執行時)的加入,該框架已逐步成熟

除此之外,在過去的一年裡,PyTorch周圍的生態系統也變得更加成熟,難怪PyTorch會成為許多資料科學家的最愛。

這裡有一本關於PyTorch的深度學習開源書籍,推薦給大家——《First steps towards Deep Learning》,本書在數學上算得上是輕量級的,適合那些沒有深度學習經驗或紮實的數學背景的讀者,其主要目的是幫助你入門深度學習。

篇幅很短,本書只有5個章節,分別如下:

第一章:了解人工神經網路第二章:pyTorch簡介第三章:如何讓計算機看見?第四章:如何讓計算機記憶?第五章:深入擴充套件

第一章:什麼是神經網路?

神經網路的靈感來自我們大腦的工作方式。上面的圖片代表圖形流,其中圓圈代表神經元,邊緣代表軸突。數字{w1,w2…wn}是神經網路的權值集。權值是神經網路的關鍵部分,因為它們是在神經網路經過訓練過程時會調整的引數。

完全連線的神經網路

深度學習領域始於多層感知器(MLP)的出現。簡而言之,這是一個前饋神經網路。這些MLP具有輸入層,隱藏層和輸出層。MLP可以很好地處理不可線性分離的資料。關於MLP的關鍵是它的所有層都是完全連線的。這意味著一層的每個神經元都連線到下一層的所有神經元。

1975年,反向傳播成為訓練MLP的實用方法。但是深度學習仍然不是進行機器學習的主流方法。那是因為MLP通常是在XOR資料集上訓練的。除了缺乏計算能力外,還缺乏可以驗證MLP實用性的現實生活資料集。1995年左右,Yann LeCun釋出了MNIST資料集,是一個手寫數字資料庫。後來為神經網路的基礎。

第二章:Pytorch簡介

為什麼選擇pyTorch?

Pytorch是一個基於python的科學計算框架,它也可以幫助我們設計深度神經網路。對python友好,這使得初學者非常容易立即開始編碼。Python已經成為機器學習領域的通用語言。

我最喜歡Pytorch的特性是:

簡單直觀的API模型圖

Pytorch的動態計算圖使編寫程式碼變得非常直觀。與TensorFlow相比,由於該圖不是靜態的,因此深度神經網路架構師更容易更改。

有許多基準測試表明,pytorch比keras更快,有時甚至可以與tensorflow相提並論。

為了演示,我們將在Pytorch中設計一個神經網路,該網路具有1個10神經元隱藏層,一個輸入層和一個輸出層。你也可以通過示例程式碼新增更多的層。

第三章:如何讓電腦看到?

卷積神經網路

在深度學習世界中,卷積神經網路(或卷積神經網路或CNN)已成為解決與影象有關的標準方法。關於CNN最好的部分是,與前代產品相比,它們所需的預處理比較少。幾乎不需要硬編碼功能。

對於計算機而言,影象不過是多維陣列(如果影象是RGB,則為3-d)。取值範圍是0-255。對於計算機而言,影象不過是畫素值的集合。以下是示例圖片:

第四章 如何讓計算機記憶?

靈感RNNs是什麼?LSTM及其變體在pytorch中使用LSTMs生成單詞該領域的進展

第五章 下一步

從 Fast.ai MOOCs 開始學習在學習Fast ai's 課程同時, 學習Andrej Karpathy的課程筆記開始學習斯坦福大學 CS 231n.學習CS 229

不知道這本書合不合你的心意呢?

  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 永輝超市如何用合夥人制度淘汰“混日子”的員工