作者:Mike Matchett翻譯:喬丹
機器學習技術正在走進資料中心,它既能改善內部IT管理,還能使關鍵業務流程更加智慧化。你可能已經聽說過深度學習的神祕性了,它涉及到一切領域,從系統管理到自動駕駛汽車。到底深度學習是一個剛剛在世人面前揭開面紗的非常聰明的新興人工智慧,還是僅僅一種營銷宣傳手段,將已有的複雜機器學習演算法重新包裝成為新的賣點?
深度學習無疑激發了大眾的想象力,但它其實並不那麼複雜。在技術層面上,深度學習主要指大規模執行的大型計算密集型神經網路。這些神經網路往往是由難以用基於邏輯和規則的機器學習方法進行處理的大資料集訓練而成,如影像、語音、視訊和其他內在具有複雜模式的密集資料。
神經網路本身並不新。幾乎從現代計算機開創階段起,神經網路演算法已經被研究用於複雜資料流中輔助識別隱藏的內在模式。在這個意義上,深度學習是建立在眾所周知的機器學習技術上的。然而,當新興計算複雜度更高的神經網路演算法與如今的大資料集合應用到一起,創造出了重大的新機遇。使用低成本的雲服務或商業scale-out大資料結構,可以建立這些“深度”模型,並實時應用於大規模應用場景中。
敏感的神經網路
神經網路研究起步於上世紀50年代和60年代,最早是為研究人類大腦如何工作而建模出來的。神經網路由多層節點組成,這些節點相互連線組成一張大網,有如大腦中的神經元。每個節點接收輸入訊號,接下來,它通過一個預先定義好的“啟用功能”發出一個輸出訊號,並傳給其他節點,同時確定什麼時候節點應該進入活躍狀態。簡單的,你可以認為節點如何工作取決於其興奮程度,當一個節點收到一組輸入後變得興奮時,它可以產生一定程度的輸出訊號,並傳遞給它的下游節點。有趣的是,一個節點興奮起來後,它的輸出訊號可以是正也可以是負;一些節點啟用後實際上會抑制另一些節點的興奮。
節點通過連結互連,每個連結有其自己的權重變數。一個連結的權重會調整經過它傳輸的訊號。神經網路通過逐漸調整其整個網路的連結權重,適應和學習如何識別模式,最終只有被正確識別的模式會產生一個完整的遍佈全網路的興奮傳遞。
一般情況下,輸入資料被格式化為一個輸入訊號,連結到第一層外部節點。這些節點隨後向一個或多個隱藏層傳送訊號,最後輸出層節點發出一個“反饋”給外部世界。由於學習(也即智慧)是隱含在鏈路權重中的,實際應用的核心問題是搞清楚怎麼調節或訓練所有的鏈路權重以實現正確模式的應答。今天,神經網路主要通過後向傳播的增量學習技術,用在訓練資料中尋找正確的模式來完成學習過程。當神經網路生成一種有用的方式識別出正確的樣本時,該方法相應的給予鏈路“獎勵”,當神經網路識別出錯誤的樣本時,則給予懲罰。
然而,不可能存在一個能夠適用於任何給定問題的神經網路架構。此時機器學習專業知識就是非常重要的了,因為給定一定數量的節點、其激勵功能、一定數量的隱藏層以及所有節點的連線關係(例如是密集連線還是稀疏連線,是否存在內部反饋或迴圈環路),可能存在無數種潛在的神經網路配置方式。傳統研究中,受限於硬體條件,神經網路隱藏層的數量設定得很少,即使如此,神經網路已經展現出超過人類的,驚人的和熟練的學習能力。如今,深度學習神經網路可能具有數百層網路,能夠完全勝任深度奧妙問題的處理。
深度學習實際應用的關鍵是搞清楚如何在成百上千個平行計算核心上有效地擴充出大型神經網路,然後用巨量大資料集進行高效的訓練。過去,這需要遠超企業資料中心規模的高效能運算裝置HPC來實現。今天,NVIDIA、Mellanox和DataDirect Networks公司正在推出適合一般企業資料中心規模的HPC產品。例如NVIDIA的DGX-1,本質上它是一臺設計用於深度學習,整合了8塊高階GPU運算卡的超融合超級計算機,令人驚訝的是,它只有4U這麼大,顯然可以被一般公司所接受。
谷歌的AlphaGo大時代
雲端計算供應商如谷歌,也提供託管的機器學習工具。例如,谷歌的AlphaGo圍棋遊戲程式最近在最高階別的比賽中戰勝了世界級的圍棋冠軍。圍棋被認為是機器無法匹敵人類智慧的最後前沿領域之一,因為圍棋無法用簡單的暴力計算的方式在有限時間內求解(完整地在19×19圍棋棋盤上計算最佳落子,需要的計算能力超過了現存最強的計算機能力)。然而,你可以認為AlphaGo團隊採取了一個捷徑,通過訓練深度學習程式,使它下圍棋時能下出任何人類選手曾經下過的最好的落子。而且,這個程式能夠通過和自己下圍棋來變得更強。
在其外表之下,AlphaGo主要由2個大型神經網路連結在一起組成(通過一些蒙特卡羅模擬,將“太多可選落子位置需要計算”的大集合縮減到一個可能是較佳落子位置組成的小集合)。第一個神經網路用百萬局過去的棋譜進行訓練,因此它能夠確定哪些位置最可能是勝利者一方會下的位置。第二個神經網路被訓練用於估計每一個新位置的價值,原理上講,即給予那些在棋譜終盤時贏者佔據的位置更高的估值。這兩個神經網路聯合在一起遞迴使用,通過預測接下來有限步數的雙方落子和盤局來選擇當前最佳的落子位置。這裡的本質是,深度學習方法通過跟最好的棋手的棋譜學習,現在已能夠不依賴於暴力計算實時擊敗最好的棋手了。
深度學習在企業IT中如何應用呢?
深度學習程式甚至會使它的設計者和訓練者感到吃驚,通過從歷史資料中學習複雜的模式,它能夠在超出期望或看上去無關的場景中工作得很好。但是從根本上說,深度學習程式不能真正預測出一個從未被訓練過的模式——它只能從已經遇到過的場景中進行學習。而且,深度學習程式不能用邏輯術語或規則來說明它所學到的東西,因此無法簡單地抽象出它的學習結果。
對任何機器學習技術,總是要在變得太特殊(例如,需要太精確地記錄歷史資料,如同查詢表一樣過於死板)和保持太一般化(例如,不管輸入是什麼,簡單地給出單一最可能的值)中進行平衡,以避免無效計算。資料學家的工作就是努力為特定問題找到最佳平衡方式。
在我們擁有大量訓練資料可用的任何場景下,深度學習將毫無置疑是非常有用的。每天,在IT部門,我們產生越來越多的機器資料可用於開發有用的人工智慧。例如,在安全應用中,神經網路能夠學會鑑別可能的入侵或黑客行為的深度模式。神經網路甚至可以用時間序列資料訓練,學習識別在工作量和資源這兩個關鍵因素影響下的動態正常(異常)行為。谷歌很有可能正在研究如何利用AlphaGo類似的人工智慧能力,幫助其管理雲基礎設施,避免損耗和最優化資源分配。
如果你想要了解更多有關神經網路的知識,我建議你花幾分鐘嘗試一些相關的互動例項。我們都應該為有朝一日能夠將自己的大腦直接連入資料中心網路做好準備。
via:TechTarget