調包俠在深度學習時代沒有未來?

調包俠在深度學習時代沒有未來?

來源:AI科技評論


本文長度為2300字,建議閱讀5分鐘本文為大家介紹了NumPy的現狀。

調包俠在深度學習時代沒有未來?

工欲善其事必先利其器~

今日我“代碼之神”把裝備拉滿,勢必要大幹一場!

調包俠在深度學習時代沒有未來?

在編程中只會Hello World 指定不行(說的不就是小陳自己嘛)。

那深度學習領域,只會import numpy as np能行嗎?


當然不行!


我想至少還要會 import tensorflow as pytorch!


玩笑歸玩笑,大家都知道最近算法崗面試不止是諸神黃昏了,已經發展到了灰飛煙滅的程度了(雖然有些誇張),賈揚清前些天也說過調參俠沒有未來。

那麼作為調參俠的哥們調包俠呢,估計也不一定會有未來,那這會代表這個“包”也沒有未來嗎?


今天我們就以NumPy舉例。

1. NumPy現狀

目前做人工智能大概離不開深度學習-->做深度學習八成離不開Tensorflow、 Pytorch等框架-->使用這些框架那就離不開Python-->涉及到數值計算那就離不開NumPy。


一句話:深度學習時代,很難離開NumPy!


就在近日,歷時15年!NumPy 核心開發團隊共26人的心血,終於匯聚成一篇論文發表在 Nature 上!論文主要是詳細介紹了數組編程(Array programming)。


哇!從十五年前的角度來看,NumPy的“未來”很棒啊!

Numpy團隊也是很開心地把這一消息轉發到了推特上,目前轉發量已超過3.6k。

調包俠在深度學習時代沒有未來?


2. NumPy應用

在這篇論文中,作者提到NumPy在物理、化學、天文學、地球科學、生物學、心理學、材料科學、工程學、金融和經濟學等領域的研究分析中發揮著重要作用。

調包俠在深度學習時代沒有未來?

都有哪些重要作用呢?這裡先拿天文學舉例。


NumPy是用於發現引力波和黑洞第一次成像的軟件棧的重要組成部分。


NumPy用於黑洞成像


當然了,大家都知道了真正的黑洞不是下面這個網頁版黑洞:

調包俠在深度學習時代沒有未來?

也不是下面這樣很拉絲很炫酷的黑洞:

調包俠在深度學習時代沒有未來?

而是這樣的“蜂窩煤之眼”的黑洞:

調包俠在深度學習時代沒有未來?

黑洞 M87 (圖片來源: Event Horizon Telescope Collaboration)


NumPy使研究人員能夠通過其有效且通用的n維數組來操縱大型數值數據集,從而為用於生成黑洞歷史圖像的軟件奠定了基礎。


下圖是利用NumPy的過程:

調包俠在深度學習時代沒有未來?

NumPy發現引力波


1916年,愛因斯坦預測了引力波的存在,100年之後,引力波的存在被LIGO科學家證實;其中NumPy在引力波的發現中起到了關鍵作用。


當然引力波也不是下面這個雙龍戲珠的樣子:

調包俠在深度學習時代沒有未來?

而或許可能是這個骷髏之臉的樣子?

調包俠在深度學習時代沒有未來?

當時收集到的引力波數據很難使用任何技術來計算,而NumPy卻作為LIGO GW檢測項目期間執行的各種任務的軟件成功派上了用場,它幫助高速解決了複雜的數學和數據處理問題。這裡有些例子:

  • 信號處理:毛刺數據檢測, 噪聲識別和數據表徵 (NumPy,scikit-learn,scipy,matplotlib,pandas,pyCharm)

  • 數據檢索:確定可以分析哪些數據,弄清楚它是否包含信號-大海撈針

  • 統計分析:估計觀測數據的統計顯著性,並通過與模型比較來估計信號參數(例如,恆星質量,自旋速度和距離)。

  • 數據可視化

其中無論是用於黑洞成像還是引力波,都利用了Numpy三項的關鍵功能:

調包俠在深度學習時代沒有未來?


NumPy用於數據可視化:

NumPy是迅速發展的Python可視化領域的重要組成部分 ,其中包括 Matplotlib, Seaborn, Plotly, Altair, Bokeh, Holoviz, Vispy和 Napari等。


NumPy對大型數組的加速處理使研究人員可以可視化遠超過本機Python可以處理的數據集。


以下是一些NumPy數據可視化的樣例:

調包俠在深度學習時代沒有未來?


調包俠在深度學習時代沒有未來?


3. NumPy詳細介紹

數組編程為訪問、操作和計算向量、矩陣和高維數組中的數據提供了一種強大、緊湊且表達力強悍的語法,NumPy是Python語言的主要數組編程庫。


NumPy是構建科學Python生態系統的基礎。它的應用十分普遍,由於它在生態系統中居於核心地位,NumPy越來越多地充當這些數組計算庫之間的互操作層,並與其API一起提供了一個靈活的框架來支持下一個十年的科學和工業分析。


NumPy 數組


Numpy 是 Python 數據科學計算的核心庫,提供了高性能的多維數組對象及處理數組的工具。

調包俠在深度學習時代沒有未來?

(圖源:DataCamp)


NumPy 數組包括多種基礎數組概念,在數組維度上的變化操作十分靈活:

調包俠在深度學習時代沒有未來?

NumPy是Python 生態系統的基礎

它與SciPy 和 Matplotlib 緊密相關。SciPy 為科學計算提供了基礎算法,Matplotlib 則用作可視化。NumPy、SciPy 和 Matplotlib 的結合,再加上 IPython、Jupyter 這類高級交互環境,為 Python 中的數組編程提供了夯實的基礎。


下圖是Python系統的生態樹,可以看出NumPy處於底層支持位置。

調包俠在深度學習時代沒有未來?

而如下圖所示,NumPy 的 API 和數組協議向生態系統提供了新的數組:

調包俠在深度學習時代沒有未來?

現在,這些數組協議是 NumPy 的主要特徵,它們的重要性預計也會越來越大。NumPy 開發者(本篇論文作者)迭代地改善和設計協議,以改進生態的實用性和簡化應用方式。


4. NumPy過去、現在和未來

過去

NumPy最初是由學生、教師和研究人員開發的,目的是為Python提供一個高級的、開源的數組編程庫,它可以免費使用,不受許可服務器和軟件保護軟件狗的阻礙。


有一種感覺是為了其他人的利益而共同建設一些重要的東西。在一個由志同道合的人組成的社區內參與這樣一項努力,對許多早期的貢獻者具有強大的吸引力。


這些用戶-開發人員經常不得不從頭開始編寫代碼來解決他們自己或同事的問題,這些代碼通常使用Python之前的低級語言,如Fortran46和C。


現在


現在,大量的科學工作都依賴於NumPy的正確、快速和穩定的特性,它不再是一個小型的社區項目,而是核心的科學基礎設施。


也就是說,NumPy的發展仍然很大程度上依賴於研究生和研究人員在空閒時間所做的貢獻。

NumPy不再僅僅是科學Python生態系統的基礎數組庫,它已經成為張量計算的標準API和Python中數組類型和技術之間的中心協調機制。


未來

在接下來的十年裡,NumPy的開發者們將面臨幾個挑戰。

  • 新的設備將被開發,現有的專用硬件將進化以滿足摩爾定律的遞減收益。

  • 數據科學從業者將有更多、更廣泛的種類,其中很大一部分人將使用NumPy。

  • 新一代語言、解釋器和編譯器,如Rust55、Julia56和LLVM57,將創造新的概念和數據結構,確定它們的生存能力。

NumPy準備迎接這樣一個不斷變化的局面,並繼續在交互式科學計算中發揮主導作用,儘管這樣做需要政府、學術界和工業界的持續資助。


但是,重要的是,為了滿足下一個十年數據科學的需要,它還需要新一代的研究生和社區貢獻者來推動它向前發展。


縱觀全文,我們可以看到NumPy論文登頂Nature,它的基礎之紮實、生態之強大,影響之廣泛,它根本不會至止於深度學習,也不會止於下一個十年。


所以,以NumPy為例,調包俠不一定有未來 ,但是這個“包”會有。

那麼如何能像NumPy一樣也一路成長,不斷擴展自己的技術棧和影響力呢做到何時都不被淘汰,這或許是個很大的挑戰。


編輯:晏斕輝

——END——

想要獲得更多數據科學領域相關動態,誠邀關注清華-青島數據科學研究院官方微信公眾平臺“ 數據派THU ”。歡迎大家評論區討論和留言~


分享到:


相關文章: