【深度學習】深度學習:技術原理、迭代路徑與侷限
來源:36氪
作者:何沛寬
本文嘗試覆盤梳理深度學習目前的技術要點,深度學習中模型迭代的方向,以及改進後存在的侷限。
第一部分:深度學習技術基本要素:神經元、神經網路、分類器、視覺化框架
在深度學習領域,神經元是深度學習的基本單位。
神經元從數學角度來看,為一個線性函式公式(如下圖神經元裡的公式)+非線性函式(激勵函式)組成。線性函式(包括降維後的線性函式,此處不細展開)用於深度學習神經網路的模型訓練,這其中,很可能出現欠擬合(欠擬合是指相對簡單的線性函式,分類處理資訊時,因為分類標籤數量或準確度不足以做有效區分)。於是,在處理這一個問題時,工程師們人為設定了激勵函式,來平衡線性函式無法解決的問題:啟用函式是神經元中非線性部分,用來減低線性部分造成的誤差。
經由神經元作為節點連線而成的網路,是神經網路。最基本的神經網路,有兩個神經元,分別處在隱含層、輸出層,如下圖:
最簡神經網路結構示意圖
深度神經網路,是由含多層隱含層神經元組成的神經網路。具體的原理和實踐會在下文再做展開,展開之前,不妨先了解深度學習技術層面到底解決了什麼問題?
首先,深度學習與傳統機器學習處理輸入資訊方式,有一個根本的差異:
傳統機器學習主要是通過四種基於人為整理、明確分類維度邏輯關係的方式處理輸入的資訊。包括樸素貝葉斯,用概率量化計算模型;決策樹,用合適的維度降低分類資訊熵;迴歸模型,建模降低預測值與訓練目標值的差距;SVM(支援向量機),尋找超平面保證分類的置信度最大。
在深度學習中,有大量的線性與非線性分類器,分類器是自動對資訊進行處理,並不需要人為事先明確特徵、標籤分類。
相對而言,不需要預先準確分類標籤的深度學習解決了傳統機器學習的兩大問題:
特徵清晰度要求降低。訓練中不再只是在固定明確的標籤下處理,還允許模糊、噪聲存在,對不同特徵偏向的資料敏感程度自動忽略。
不可分類變為可分。由於沒有明確分類的前提,使得原本大量(人為)無法分類的特徵,可以變成(機器)可分類的特徵,且相對高效地進行。(人為分類總是有侷限的,因為需要明確定義、標籤,一來需要時間、二來需要有效共識的達成)
接著,可以大致瞭解目前深度學習使用的框架有哪些,比如TensorFlow、Caffe、Chainer、Torch、Theano等。在這裡我想強調的是深度學習中主流選用的框架TensorFlow的部分特性。
在一個前沿技術領域,一個框架是否值得使用(或者更準確地說,在這裡我想提到的是能否下一步擴大使用範圍),比如,TensorFlow是否值得使用,專業的工程師可能會提到:框架效能、社群活躍度、語言、環境與叢集支援等等。就我目前的瞭解到的,有兩個我覺得(面向使用者,很受啟發的)值得關注的地方:一個是使用的社群活躍度,一個是使用介面是否視覺化。社群活躍度意味著這個框架使用時,開發者之間的交流與相互促程式度,如果是一個非常小眾、其他開發者不願參與的框架,那麼是不利於下一步擴大使用範圍的。使用介面視覺化,TensorFlow 有Tensorboard,Tensorboard支援視覺化的訓練網路過程——事實上,視覺化操作,一直是開發者與使用者(無論是相對原創開發者而言後來的開發者、還是普通使用者)之間達成相對簡單溝通的一個非常重要的環節。
開發者/工程人員致力於用最簡潔的語言(無論是否友好,甚至可能晦澀難懂)來執行工程,但這個結果,很可能是後來者、使用者的“艱難”讀取。這不難讓我想到一個《矽谷》( Silicon Valley,HBO)電視劇中一個情節:Pied Piper最初上線時,使用者介面異常簡陋,男主Richard Hendricks還有他的所有工程界的朋友都完全沒有意識到這一點——他們覺得非常適合自己使用,但作為普通使用者+投資人的女主Monica Hall(本來是對Pied Piper抱著極大期待的)在內測使用時,第一反應是覺得介面一點都不友好,沒有繼續使用的興趣。後來Pied Piper使用者數一直徘徊在萬人左右,沒有上升趨勢,教育使用者後接受使用的人數也沒有明顯提升。
這個視覺化(友好面向使用者的一種)是題外話了,不過回到深度學習,無論是其目前主流選擇的框架(如TensorFlow)還是程式語言(如Python),都是往面向使用者友好/易用的方向行進的。
上面提到深度學習技術實現的基本元素,包括神經元、啟用函式、神經網路和深度神經網路,目前深度學習使用的主流框架及其選擇標準。此外,還提到深度學習可以解決傳統機器學習無法突破的“明確的特徵”侷限。
第二部分:深度學習模型迭代/改進方向,改進後對應侷限
接下來,回到前面提到的目前深度學習基於上面提到的基本元素,真正落地的深度神經網路工程原理和實踐。這一部分會按前饋神經網路、卷積神經網路、迴圈神經網路、深度殘差網路、強化學習、對抗學習的順序展開。我會比較詳細介紹前饋神經網路在工程訓練中的流程,其他會把它們分別要解決的問題以及可能的侷限。
前饋神經網路
前饋神經網路是深度學習中最簡單的神經網路,一般分為:反向傳播神經網路(BP網路),徑向基函式神經網路(RBF網路)。在這裡我會相對詳細地梳理這個最樸素的神經網路是如何落地的。
首先,我們來看一下前饋神經網路最基礎的網路結構,以BP網路為例,這個我們在上文最基礎的神經網路中就給出了示意圖。上文的示意圖中,神經元裡的(wx+b)->,其實是簡化了的,具體函式表示式會如下圖:
神經網路函式表示式
這個神經網路進入工程訓練,需要經過以下三個環節:
準備樣本(可以是文字、圖片、音訊以及音視訊結合等訓練樣本)
清洗處理(目的是幫助網路更高效、準確分類)
正式訓練(將訓練樣本代入訓練模型,即上述示圖公式)
在上面三個環節中,正式訓練的時候,訓練過程不斷迭代使得w、b的值越來越適合(擬合)要訓練的模型,為了求出w、b,深度學習中有梯度下降法(迭代法思維),來獲取逼近最優w、b值。再進一步,由於梯度下降法訓練時候要動用比較重的樣本訓練,後來又出現了隨機梯度下降法(即隨機抽樣而不是全部樣本進行處理),來獲得相對較優的w、b值。
值得注意的是,從梯度下降法到隨機梯度下降,這樣的思維轉化,在深度學習領域是非常常見的:深度學習面向萬級以上的海量樣本,如何使訓練由相對重的模式變成比較輕的模式,從總體到隨機抽樣,是一種解決方案——核心就是在無限成本取得最優到有限成本取得次優之間權衡。
梯度下降法:求取(w,b)極值,使損失最小化
另外,在求取w、b值的過程中,無論是取任何值,難以避免產生的是一個誤差值,在訓練過程中,工程師們會引入一個損失函式Loss,而上述的梯度下降求取w、b最優解的同時便是求出最小損失函式的過程。
在訓練過程中,有兩個主要環節,一個是訓練集訓練,一個是驗證集測試。前者是搭建最合適模型所需,後者是檢驗所搭建模型是否合適使用。在檢驗的過程中,可能會出現過擬合(Overfitting)問題,深度學習中高VC維的分類器,可能使模型過度擬合,降低模型的準確性——驗證集驗證過程中會基於Loss損失函式和準確率(Accuracy)來判斷是否在較優的準確度。在搭建模型完成後,還有第三步,就是用測試集,檢驗搭建模型的效用了。
以上便是一個基礎神經網路的流程框架,和在訓練處理中引入的比較核心的思維。
介紹完最簡單的神經網路工程流程,接下來,我會針對卷積神經網路、迴圈神經網路、深度殘差網路要解決的問題和目前的侷限來分享。
之所以以這個角度,是因為,在學習深度學習的過程中,我們會很容易發現,基於上述提到的最基礎的神經網路結構,開發者們是一一針對工程實踐時,遇到的瓶頸,找到對應的解決辦法。而這些辦法,慢慢建立成為新的落地模型。所以,我們是可以基於最簡單網路模型,再進一步瞭解這些更新的神經網路模型的(它們的特性與功能)。
這些模型,既可以解決最基本神經網路無法突破的部分問題,同時,也面臨著其他具體的侷限。
卷積神經網路(CNN)
CNN,也是一種BP網路,,不過與之前的相比,其神經元可響應一部分覆蓋範圍的周圍單元、通關權值共享的方式使得下一層工作量大大較少(可參照下圖)。而之前提到的是全連線網路。
全連線網路的好處是,最大程度讓整個網路節點不會漏掉(就像上面的神經網路示意圖,每一個上一層神經元全部連線到下一層的神經元)。但是,就像上文也提到的,深度學習要處理的是萬級以上的海量資料,要對海量資料進行全連線處理,是一種非常重的模式,訓練過程中,收斂速度會很慢。
CNN,相較而言,就是比較輕的模式(這裡再一次提到用有限成本處理海量資訊的方案了),可以在訓練中,較少更新權重、明顯快於全連線網路地完成收斂。
卷積網路處理資料過程及方式
CNN的訓練過程如上圖所示,除了一般處理方式(圖中加和處理的模式,即將所有卷積的資料彙總),還有池化層處理的方式。池化層處理,主要分為兩種路徑,一種是取最大值,一種是取平均值。無論是哪種路徑,目的都在於對資料進行又一次特徵提取,減少下一層的資料處理量,同時獲得相對抽象、模糊的資訊,提高泛化性(想象一下,目標是找到所有人的共性。那上一步是:只提取一個人的特性,和找到幾個人的共性,哪一種方式的更快、特徵更有效)。
當然,上面提到的池化層會對資訊進行模糊化處理,算是一種有失真壓縮。與之對應的,是整個卷積神經網路,在卷積核對輸入向量進行特徵提取的過程(將高維向量對映成低維向量),其實也是一種有失真壓縮。
到這裡,又可以解答卷積神經網路可以解決什麼的問題了。在開始的時候,我們提到,CNN神經元通過權值共享加快訓練過程中的收斂速度,現在我們可以發現,CNN可以解決的另一個問題:減少噪聲、訛誤對分類的影響。(當然這個可能需要更具體的工程流程展示才會比較清楚,感興趣的讀者可以進一步瞭解)
迴圈神經網路(RNN)
它要解決的問題是什麼呢?是上下文場景記憶的問題。
上文提到的神經網路模型都不能解決“記憶暫存功能”(對比較遠期輸入的內容無法進行量化,與當前內容一起反應到網路中進行訓練),迴圈神經網路可以解決,在自然語言處理(NLP)中也應用最廣泛。
在講RNN如何實現上下文場景記憶問題時,無法跳過的一個基礎是:隱馬爾可夫模型(HMM)。隱馬爾可夫模型中,有馬爾可夫鏈。馬爾可夫鏈的核心是:在給定當前知識和資訊的前提下,觀察物件過去的歷史狀態,對將來的預測來說是無關的。在RNN中,隱含狀態下的馬爾可夫鏈會處理神經元之間的資訊傳遞。
不過,理論上RNN是行得通的,但在實踐上工程師們發現訓練效果並不佳,所以現在用了LSTM(Long Short-Term Memory,長短期記憶網路)來取代傳統的RNN。LSTM規避了傳統RNN中遇到的問題,並啟動了一個有效的機制:忘記門(Forget Gate),在訓練過程中LSTM會把有潛在影響的關係學習,忽略無效(不具有影響)的關係。
LSTM目前應用在翻譯器、聊天機器人、分類器等場景。
說到侷限性,訓練過程中,目前只支援相對固定、邊界劃定清晰的場景,LSTM對多場景問題也是無能為力的(這也是深度學習所有網路模型沒有本質突破的問題,觀點取自參考書籍)。
深度殘差網路(DRN)。
它要解決的問題是:傳統深度學習網路中,網路到一定深度後,學習率、準確率會下降的問題。目前,DRN在影像分類、物件檢測、語義分割等領域都有較好的識別確信度。
強化學習、對抗學習、其他
強化學習(Reinforcement Learning)和對抗學習,相對來說,都是深度學習比較前沿的部分。
強化學習,嚴格來說,是AI在訓練中得到策略的訓練過程,強調的是一個過程,而不同於上述各種神經網路強調的是搭建模型的方式。
那強化學習要解決的問題是什麼?上面我們提到的神經網路大部分是在完成分類問題,判斷樣本標籤類別等,那機器如何更智慧表現呢?強化學習就作為一種機器自學習的狀態,來解決上面神經網路相對來說需干預才可學習的侷限。比如在AlphaGo圍棋學習中,就會用到強化學習這樣的自學習過程。
強化學習模型核心
強化學習要做的主要有兩步:
將獎勵、損失定義好
以主體較低成本不斷嘗試,總結不同狀態(State)下,獎勵(Reward)大的工作方式。(其中一種思路就是上圖提到的馬爾可夫決策過程,可參照RNN部分)
對抗學習,目前主要是指生成對抗網路(Generative Adversarial Networks,GAN)。GAN是通過模擬一種資料概率分佈的生成器,使得概率分佈與觀測資料的概率統計分佈一致或者儘可能接近。這個過程涉及納什均衡中的博弈機制,具體包括在訓練中,判別模型(Discriminative Model)——儘可能提取特徵正確率增加的模型,生成模型(Generative Model)——儘可能“偽造”讓判別模型以為是真的結果。
其他,還有相對更前沿的,包括條件生成對抗網路(CGAN)、深度卷積對抗網路(DCGAN)等等。這些前沿方向,對應解決的,包括對抗學習穩定性不高、訓練資料還原度及質量水平等問題。
到這裡,全文梳理了深度學習的基本元素、目前比較核心的神經網路模型、較為前沿的訓練模式,以及它們要解決的問題、在實踐中對應的侷限。如果想進一步瞭解深度學習,你下一步可以學習的方向是:在這個框架之下,基於更具體的演算法、問題與案例,實踐程式碼工程。
人工智慧賽博物理作業系統
AI-CPS OS
“人工智慧賽博物理作業系統”(新一代技術+商業作業系統“AI-CPS OS”:雲端計算+大資料+物聯網+區塊鏈+人工智慧)分支用來的今天,企業領導者必須瞭解如何將“技術”全面滲入整個公司、產品等“商業”場景中,利用AI-CPS OS形成數字化+智慧化力量,實現行業的重新佈局、企業的重新構建和自我的煥然新生。
AI-CPS OS的真正價值並不來自構成技術或功能,而是要以一種傳遞獨特競爭優勢的方式將自動化+資訊化、智造+產品+服務和資料+分析一體化,這種整合方式能夠釋放新的業務和運營模式。如果不能實現跨功能的更大規模融合,沒有顛覆現狀的意願,這些將不可能實現。
領導者無法依靠某種單一戰略方法來應對多維度的數字化變革。面對新一代技術+商業作業系統AI-CPS OS顛覆性的數字化+智慧化力量,領導者必須在行業、企業與個人這三個層面都保持領先地位:
重新行業佈局:你的世界觀要怎樣改變才算足夠?你必須對行業典範進行怎樣的反思?
重新構建企業:你的企業需要做出什麼樣的變化?你準備如何重新定義你的公司?
重新打造自己:你需要成為怎樣的人?要重塑自己並在數字化+智慧化時代保有領先地位,你必須如何去做?
AI-CPS OS是數字化智慧化創新平臺,設計思路是將大資料、物聯網、區塊鏈和人工智慧等無縫整合在雲端,可以幫助企業將創新成果融入自身業務體系,實現各個前沿技術在雲端的優勢協同。AI-CPS OS形成的數字化+智慧化力量與行業、企業及個人三個層面的交叉,形成了領導力模式,使數字化融入到領導者所在企業與領導方式的核心位置:
精細:這種力量能夠使人在更加真實、細緻的層面觀察與感知現實世界和數字化世界正在發生的一切,進而理解和更加精細地進行產品個性化控制、微觀業務場景事件和結果控制。
智慧:模型隨著時間(資料)的變化而變化,整個系統就具備了智慧(自學習)的能力。
高效:企業需要建立實時或者準實時的資料採集傳輸、模型預測和響應決策能力,這樣智慧就從批量性、階段性的行為變成一個可以實時觸達的行為。
不確定性:數字化變更顛覆和改變了領導者曾經仰仗的思維方式、結構和實踐經驗,其結果就是形成了複合不確定性這種顛覆性力量。主要的不確定性蘊含於三個領域:技術、文化、制度。
邊界模糊:數字世界與現實世界的不斷融合成CPS不僅讓人們所知行業的核心產品、經濟學定理和可能性都產生了變化,還模糊了不同行業間的界限。這種效應正在向生態系統、企業、客戶、產品快速蔓延。
AI-CPS OS形成的數字化+智慧化力量通過三個方式激發經濟增長:
創造虛擬勞動力,承擔需要適應性和敏捷性的複雜任務,即“智慧自動化”,以區別於傳統的自動化解決方案;
對現有勞動力和實物資產進行有利的補充和提升,提高資本效率;
人工智慧的普及,將推動多行業的相關創新,開闢嶄新的經濟增長空間。
給決策制定者和商業領袖的建議:
超越自動化,開啟新創新模式:利用具有自主學習和自我控制能力的動態機器智慧,為企業創造新商機;
迎接新一代資訊科技,迎接人工智慧:無縫整合人類智慧與機器智慧,重新
評估未來的知識和技能型別;
制定道德規範:切實為人工智慧生態系統制定道德準則,並在智慧機器的開
發過程中確定更加明晰的標準和最佳實踐;
重視再分配效應:對人工智慧可能帶來的衝擊做好準備,制定戰略幫助面臨
較高失業風險的人群;
開發數字化+智慧化企業所需新能力:員工團隊需要積極掌握判斷、溝通及想象力和創造力等人類所特有的重要能力。對於中國企業來說,創造兼具包容性和多樣性的文化也非常重要。
子曰:“君子和而不同,小人同而不和。” 《論語·子路》雲端計算、大資料、物聯網、區塊鏈和 人工智慧,像君子一般融合,一起體現科技就是生產力。
如果說上一次哥倫布地理大發現,擴充的是人類的物理空間。那麼這一次地理大發現,擴充的就是人們的數字空間。在數學空間,建立新的商業文明,從而發現新的創富模式,為人類社會帶來新的財富空間。雲端計算,大資料、物聯網和區塊鏈,是進入這個數字空間的船,而人工智慧就是那船上的帆,哥倫布之帆!
新一代技術+商業的人工智慧賽博物理作業系統AI-CPS OS作為新一輪產業變革的核心驅動力,將進一步釋放歷次科技革命和產業變革積蓄的巨大能量,並創造新的強大引擎。重構生產、分配、交換、消費等經濟活動各環節,形成從巨集觀到微觀各領域的智慧化新需求,催生新技術、新產品、新產業、新業態、新模式。引發經濟結構重大變革,深刻改變人類生產生活方式和思維模式,實現社會生產力的整體躍升。
產業智慧官 AI-CPS
用“人工智慧賽博物理作業系統”(新一代技術+商業作業系統“AI-CPS OS”:雲端計算+大資料+物聯網+區塊鏈+人工智慧),在場景中構建狀態感知-實時分析-自主決策-精準執行-學習提升的認知計算和機器智慧;實現產業轉型升級、DT驅動業務、價值創新創造的產業互聯生態鏈。
長按上方二維碼關注微信公眾號: AI-CPS,更多資訊回覆:
新技術:“雲端計算”、“大資料”、“物聯網”、“區塊鏈”、“人工智慧”;新產業:“智慧製造”、“智慧金融”、“智慧零售”、“智慧駕駛”、“智慧城市”;新模式:“財富空間”、“工業網際網路”、“資料科學家”、“賽博物理系統CPS”、“供應鏈金融”。
官方網站:AI-CPS.NET
本文系“產業智慧官”(公眾號ID:AI-CPS)收集整理,轉載請註明出處!
版權宣告:由產業智慧官(公眾號ID:AI-CPS)推薦的文章,除非確實無法確認,我們都會註明作者和來源。部分文章推送時未能與原作者取得聯絡。若涉及版權問題,煩請原作者聯絡我們,與您共同協商解決。聯絡、投稿郵箱:erp_vip@hotmail.com
相關文章
- 深度學習侷限何在?圖網路的出現並非偶然深度學習
- 論深度學習的侷限性深度學習
- [譯] 深度學習的侷限性深度學習
- 深度學習技術研究會深度學習
- 深度學習技術實踐與圖神經網路新技術深度學習神經網路
- 深度學習、強化學習核心技術實戰深度學習強化學習
- 深度學習的工作原理深度學習
- 《深度學習Python》核心技術實戰深度學習Python
- 深度學習DeepLearning核心技術實戰深度學習
- 深度強化學習技術開發與應用強化學習
- 【讀書1】【2017】MATLAB與深度學習——深度學習(2)Matlab深度學習
- LeCun:深度學習在訊號理解中的強大和侷限(視訊+PPT)LeCun深度學習
- 深度學習核心技術實踐與圖神經網路新技術應用深度學習神經網路
- 深度學習一:深度前饋網路深度學習
- 再聊神經網路與深度學習神經網路深度學習
- 深度學習與圖神經網路深度學習神經網路
- 基於深度學習的影象語義分割技術概述之背景與深度網路架構深度學習架構
- 深度學習+深度強化學習+遷移學習【研修】深度學習強化學習遷移學習
- 深度學習之影象超分辨重建技術深度學習
- 深度強化學習核心技術實戰強化學習
- 深度學習及深度強化學習研修深度學習強化學習
- 深度學習學習框架深度學習框架
- 深度學習與CV教程(8) | 常見深度學習框架介紹深度學習框架
- ####深度學習深度學習
- 深度學習深度學習
- 深度 學習
- 吳恩達《神經網路與深度學習》課程筆記(1)– 深度學習概述吳恩達神經網路深度學習筆記
- 深度學習及深度強化學習應用深度學習強化學習
- 流體力學深度學習建模技術研究進展深度學習
- 深度學習之Transformer網路深度學習ORM
- 深度學習技術發展趨勢淺析深度學習
- 深度學習技術在網路入侵檢測中的應用深度學習
- 深度學習機器學習基礎-基本原理深度學習機器學習
- 讀懂深度學習,走進“深度學習+”階段深度學習
- 深度學習——學習目錄——學習中……深度學習
- 先天認知與深度學習深度學習
- 深度學習與圖神經網路學習分享:Graph Embedding 圖嵌入深度學習神經網路
- 第一屆深度學習模型壓縮與部署技術會議深度學習模型
- 深度學習在攝影技術中的應用與發展深度學習