深度學習(Deep Learning),是機器學習的分支,是指使用多層的神經網絡進行機器學習的一種手法,它學習樣本數據的內在規律和表示層次,最終目標是讓機器能夠像人一樣具有分析學習能力,能夠識別文字、圖像和聲音等數據。深度學習中的深度指的是神經網絡的層數。深度一般超過8層的神經網絡叫深度學習。含多個隱層的多層學習模型是深度學習的架構。深度學習可以通過組合低層特征,形成更加抽象的高層以表示屬性類別或特征,從而發現數據的分布式特征表示。
深度學習廣泛應用在自然語言處理、語音識別與合成、圖像處理、計算機視覺和音樂處理等方面,搭配、、飛槳和Keras等技術框架,按無監督學習可包括受限波爾茨曼機(RBM)、深度置信網絡(DBN)、深度自編碼網絡(Deep Autoencoder,DA)等;按監督學習可包括卷積神經網絡(CNN)、深度堆疊網絡(DSN)、遞歸神經網絡(Recurrent Neural Networks,RNN)等;按半監督學習模型有積神經網絡(Sum-product Network,SPN)等。
深度學習通過將特征學習融入模型構建過程,使計算機能夠實現自動學習的特征提取,從而降低了人為設計特征的不完備性。此外,算法優化的持續發展可提升模型的精度與效率。但同時由于數據量有限,深度學習算法無法對數據的規律進行無偏差的估計。為了獲得更高的精度,需要借助大數據支持。
概述
深度學習是一種基于人工神經網絡對數據進行表征學習的算法。人工神經網絡(Artificial Neural Network)是基于人工神經元(類似于生物大腦中的生物神經元)的連接單元的集合,也被稱為神經網絡。神經元之間的每個連接(突觸)都可以將信號傳輸到另一個神經元。接收神經元(突觸后)可以處理信號,然后發信號通知與之相連的下層神經元。神經元一般具有激活和抑制兩種狀態,只有激活的神經元才能向下游神經元發送信號。神經元和突觸之間還存在權重,用來權衡信號的強度,權重也可以隨著學習的進行而變化,這可以增加或減少其向下層發送的信號的強度。通常,神經元是分層的。不同的層可以對它們的輸入執行不同種類的操作,而信號就從第一層(輸入)傳播到最后一層(輸出),同時信號也可以多次遍歷某些層之后進行輸出。這樣的網絡通常通過示例來不斷學習,進而逐步提高其能力。
深度學習的實質,是通過構建具有很多隱層的機器學習模型和利用海量的訓練數據,來學習更有用的特征,從而最終提升分類或預測的準確性。
特點
深度學習提出一種讓自動學習模式特征的方法。這種方法可以將特征學習融入到建立模型的過程中,使目標進行歸一化。相比傳統的學習方法,深度學習具有更強的學習能力,還能夠減少人為設計的不完備性;深度學習的基本架構是人工神經網絡,針對不同的應用目標會有不同的表達結構,目的是為了更好地提取相應領域的特征;深度學習是基于數據驅動的,它對數據的依賴性很高,數據量越大,其性能表現也越好。同時,通過調整參數,還可以進一步提升其性能上限。盡管深度學習在許多方面表現出色,但要完成這些任務,對數據量和硬件的要求也非常高,因此帶來的成本也昂貴;深度學習在各個領域都有廣泛應用,并且具有較好的適應性。隨著神經網絡層數的增加,網絡的非線性表征能力也越來越強。這意味著理論上可以將其映射到幾乎任何函數,因此可以應對多種復雜問題。然而,當模型設計變得極為復雜時,需要大量的人力、物力和時間來開發新的算法和模型。同時,對模型正確性的驗證也變得復雜困難,導致大部分人只能使用現成的模型。
概念辨析
人工智能方法包括機器學習和其他方法,比如專家系統,其在20世紀70年代是人工智能的主流。但隨著人類進入大數據時代,基于歸納的機器學習方法逐漸成了主流。
機器學習包含了特征學習和非特征學習,決策樹、邏輯回歸等方法是非特征學習,需要篩選并指定特征,然后建立模型。特征學習是指可以自動學習特征并進行篩選,只需輸入包含所有特征的數據即可。在特征學習中又包含深度學習和淺度學習,多層的神經網絡就是深度學習。深度學習與傳統的機器學習之間存在著很大的不同,其中一個主要的不同點就在于深度學習通常不需要進行特征量的設計。在傳統的機器學習中,通常需要根據任務來選擇特征量提取的方法,并將其與機器學習算法結合起來實現所需要的機器學習任務。
歷史沿革
1965年,數學家奧·赫·伊瓦赫年科(A.G.Ivakhnenko)和他的同事們提出了首個深度神經網絡。他們開發了一種能夠自動結構化模型和參數優化的方法,稱為數據處理的分組方法(GMDH),并將其應用于神經網絡的構建。他們的模型采用了深度前饋多層感知機的結構,每一層都通過統計學方法找到最優特征傳遞到后續的網絡層中。1971年,他們成功訓練了一個8層的深度神經網絡,并在一個名為Alpha的計算機識別系統中成功地演示了網絡學習過程。
1979年,第一個“卷積神經網絡”(Convolutional Neural Networks)被福島邦彥使用。福島設計了具有多個池化層和卷積層的神經網絡,他開發了一種名為Neocognitron的人工神經網絡,該網絡使用分層、多層設計,這種設計允許計算機“學習”識別視覺模式,這些網絡類似于現代版本,但采用多層重復激活的強化策略進行訓練。
反向傳播早在1960年代初就已經衍生出來,但形式低效且不完整。直到1985年,魯姆哈特(Rumelhart)、杰弗里·辛頓(Hinton)和威廉姆斯(Williams)表明,神經網絡中的反向傳播可以產生有趣的分布式表示,從哲學上講,這一發現揭示了認知心理學中的問題:人類的理解是否依賴于符號邏輯(計算主義)或分布式表示(連接主義)。
反向傳播的第一個真正的實際應用是通過1989年貝爾實驗室的LeCun的工作實現的。他將卷積網絡與反向傳播相結合來對手寫數字進行分類(MNIST),該系統后來被用于讀取美國的大量手寫支票。
1995年,支持向量機模型被進一步完善。支持向量機(SVM)從20世紀60年代就出現了,經過幾十年的改進和完善,目前常用的標準模型由考特斯(Cortes)和萬普尼克(Vapnik)于1993年設計,并于1995年提出。支持向量機是一個識別和映射相似數據的系統,它可以用于文本分類、手寫字符識別和圖像分類。用于循環神經網絡的LSTM(長短期記憶)由賽普·霍克賴特(Sepp Hochreiter)和于爾根·施米德休伯(Jürgen Schmidhuber)于1997 年開發。
1999 年,當時計算機處理數據的速度開始變得更快,GPU(圖形處理單元)被開發出來。通過GPU處理圖片,更快的處理速度在10年內將計算速度提高了1000倍。在此期間,神經網絡開始與支持向量機競爭。雖然神經網絡與支持向量機相比較慢,但神經網絡使用相同的數據提供了更好的結果。到2011年,GPU的速度顯著提高,使得無需逐層預訓練即可訓練卷積神經網絡成為可能。隨著計算速度的提高,深度學習在效率和速度方面具有明顯的優勢。
2006年,多倫多大學計算機系教授杰弗里·辛頓(Geoffrey Hinton)在《科學》雜志上發表了《利用神經網絡刻畫數據維度》一文,首次提出了深度學習的概念,并探討了應用人工神經網絡刻畫數據的學習模型。這標志著深度學習作為人工智能的一個分支正式提出,它本質上是一個深度神經網絡和計算機深度學習模型。
2009 年,ImageNet數據集提出。斯坦福大學人工智能實驗室負責人,李飛飛教授在2009年推出了一個具有超過1400萬張具有人工標注的海量公開圖像數據集,以供研究人員、教育工作者和學生使用。該數據集為機器學習這一數據驅動的方法提供了繼續的數據原料,極大地促成了之后神經網絡的興起。
2011年,卷積神經網絡AlexNet提出。2011至2012年間,亞歷克斯·克里熱夫斯基憑借其設計的卷積神經網絡AlexNet在幾項重要的國際機器和深度學習比賽中以巨大的優勢戰勝了以往基于淺層神經網絡與傳統機器學習算法的其他方法。AlexNet的成功在機器學習領域掀起了一場復雜神經網絡的復興潮。
早在2011年,谷歌就已經提出了利用大規模神經網絡進行圖像識別的技術,由于深度學習計算需要大量的計算資源和算力支持,此時傳統的CPU和GPU并不能完全滿足這種需求,因此NPU應運而生。2016年,Google發布了自己的TPU(Tensor Processing Unit,張量處理器)芯片,它是一種專門用于進行深度學習計算的ASIC(Application-Specific Integrated Circuit,專用集成電路)。
2014年,古德費洛(Goodfellow)創建了生成對抗性神經網絡(GAN)。生成對抗性神經網絡使用零和博弈論將兩個相互競爭的神經網絡結合起來,使其能夠產生更加清晰、離散的輸出。
AlphaGo是由 Google 公司 DeepMind 團隊研發的圍棋機器人,是第一個擊敗人類職業圍棋選手、獲得圍棋世界冠軍的人工智能機器人。2016年1月27日,國際頂尖期刊《自然》封面文章報道,AlphaGo 在沒有任何讓子的情況下,以5:0完勝歐洲圍棋冠軍、職業二段選手樊麾。2016年3月,AlphaGo在韓國首爾挑戰世界圍棋冠軍李世石九段,最終以4:1的總比分勝出。AlphaGo主要工作原理是“深度學習”,是指多層的人工神經網絡和訓練方法。一層神經網絡會把大量矩陣數字作為輸入,通過非線性激活方法取權重,再產生另一個數據集合作為輸出,和生物神經大腦的工作機理一樣,通過合適的矩陣數量,多層組織鏈接一起,形成神經網絡“大腦”進行精準復雜的處理。
技術原理
深度學習源自對人工神經網絡(簡稱ANN)的研究。人工神經網絡由多個人工神經元(Artificial Neuron)組成,這些神經元以一定方式連接構成網絡。神經網絡一般包括三層,分別為輸入層、隱藏層和輸出層。輸入層的神經元接收輸入信號(用小方塊表示),隱藏層的神經元之間有連接,同時每個隱藏層神經元與輸出層的神經元相連。人工神經網絡中的輸入和各層神經元的數量不固定,隱藏層也可以包含多個層。這種深度結構通過多層結構實現逐層特征變換,能夠將原始輸入轉換到新的特征空間,用較少的參數來逼近復雜函數,揭示數據豐富的內在信息。
神經網絡可以抽象成一個泛化型的函數,該函數由神經網絡的參數構成。每個神經元都有一個權重參數W和偏置參數b,神經網絡的學習就是對這些參數進行求解使其實現從輸入到輸出的函數功能。通過訓練樣本來學習神經網絡的這些參數,一旦學習過程結束,這些參數即為固定值。最后給定任何一組數據,都可以用這個函數得到輸出。神經網絡在分類問題及回歸問題上得到廣泛的應用。
深度神經網絡是深度學習的基礎,在深度學習中,“深度”是指神經網絡模型的層數。一般來說,層數越多,模型就越復雜,能夠處理的輸入數據就越復雜。深度學習主要涉及使用多層神經網絡模型來處理和分析數據。與傳統的機器學習方法相比,深度學習能夠自動提取數據的低級和高級特征,從而更好地擬合數據。深度神經網絡包含多個隱藏層,每一層都可以采用監督學習或無監督學習進行非線性變換,實現對上一層的特征抽象。通過逐層的特征組合方式,深度神經網絡將原始輸入轉化為淺層特征、中層特征、高層特征直至最終的任務目標。深度神經網絡是基于感知機模型而提出的深層次網絡結構,它通過在原始感知機模型的單層結構中加入多個隱藏層來增加深度神經網絡的表達能力,此外,它的輸出層可以有多個輸出,可用于多分類問題和回歸問題等,并且它通過增加每層之間的激活函數,使原來的線性激活函數變為非線性激活函數,進一步增加了深度神經網絡的表達能力。
激活函數是深度神經網絡中重要的組成部分,它起到了非常重要的作用,深度神經網絡可以進行非線性學習最主要的原因就是非線性激活函數的引人,激活函數使得神經網絡可以學習非線性特征,進而逼近任何非線性函數,常見的激活函數有Sigmoid,Tanh和ReLU等。損失函數是針對深度神經網絡訓練集定義的,它是所有樣本的誤差均值,也是整個深度神經網絡學習的目標,即通過模型的學習使損失函數最小,從而調整模型的參數優化模型。常見的損失函數有均方差損失,對數損失和soft-max損失等。深度神經網絡的網絡結構是一種前饋神經網絡結構,訓練時經常采用反向傳播(Back Propagation,BP)算法,BP算法使用損失函數的平方作為BP算法的目標函數,采用隨機梯度下降方法進行優化,最終目的是使 BP 算法的目標函數最小化,所以BP算法也可以看作是求解最小化的過程。
類型
無監督學習
無監督學習是指在訓練過程中不使用特定任務相關的監督信息。在深度學習中,無監督學習具有十分重要的作用。例如,通過無監督學習方式訓練深度信念網絡、稀疏自編碼器等,目前主要是為了進行預訓練,以獲取一個較好的初始值,然后使用有監督訓練進行優化。然而,隨著計算能力的不斷提高,人們發現,只要有足夠大的數據集,直接使用有監督學習通常也能獲得較好的性能。因此,在過去的幾年里,無監督學習的發展并未取得太大的進展。但是,Hinton等人期望未來無監督學習能夠得到更大的發展,因為人類和動物的學習在很大程度上都是無監督的,他們通過觀察世界來進行學習,而不需要教師的指導。生成式學習方法指的是利用樣本數據來生成與其相符的有效目標模型。一些典型的無監督學習模型包括受限波爾茨曼機(RBM)、深度置信網絡(DBN)、深度自編碼網絡(Deep Autoencoder,DA)等。
受限波爾茨曼機
受限玻爾茲曼機是玻爾茲曼機的一種變體,區別于玻爾茲曼機,受限玻爾茲曼機可視節點和隱含節點之間存在連接,而隱含節點兩兩之間以及可視節點兩兩之間不存在連接,也就是層間全連接,層內無連接。
深度置信網絡
深度置信網絡(Deep Belief Network,DBN)是概率統計學、機器學習和神經網絡的融合,由多個層次組成,各層之間存在關聯,但各數值之間則無直接關系。該網絡的主要目標是幫助系統將數據分類至不同的類別。DBN由一系列疊加的受限波爾茨曼機(RBM)和一層BP網絡構成。每層RBM的輸出作為上一層RBM的輸入,而最后一層的BP網絡則接收最后一個RBM的輸出,從而計算出最終結果。DBN中的每一層RBM都形成了一個輸入特征的表示空間。這些空間并不一致,存儲了輸入特征不同層次的信息。在訓練過程中,每一層的RBM都需要單獨訓練,以確保輸入特征在該層盡可能多地保留有用信息。DBN可直接用于處理無監督學習中未標記數據的聚類問題,也可在RBM層的堆疊結構最后加上一個多分類(softmax)層構成分類器。
監督學習
監督學習是指通過訓練樣本的期望輸出來指導學習的一種方式。它要求樣本集中的每個訓練樣本都要有明確的類別標簽,并通過逐步縮小實際輸出與期望輸出之間的差別來完成網絡學習。典型的有監督判別式深度學習方法包括卷積神經網絡(CNN)、深度堆疊網絡(DSN)、遞歸神經網絡(Recurrent Neural Networks,RNN)等。
卷積神經網絡
卷積神經網絡(convolutional neural networks,CNN)是對BP神經網絡的改進,與BP相同,都采用前向傳播計算輸出值,并通過反向傳播調整權重和偏置。其與普通神經網絡的不同之處在于,CNN包含一個由卷積層和子采樣層(池化層)構成的特征提取器。CNN相鄰層之間的神經元并非全連接,而是部分連接,某個神經元的感知區域來自于上層的部分神經元。
卷積神經網絡正向傳播的主要特點包括局域感知和權值共享。局域感知指的是特征圖中的每個神經元僅與輸入圖像的局部區域連接。而權值共享則是指同一特征圖中的所有神經元共享同一卷積核,即通過共享連接權值來減少神經網絡需要訓練的參數個數。
深度堆疊網絡
深度堆疊網絡由一系列串聯、重疊和分層的模塊組成,每個模塊都有相同的結構:線性輸入層、非線性隱藏層和線性輸出層。底層模塊的輸出是高層模塊的輸入單元的子集。第二個模塊,即直接連接到最底層模塊的模塊,其輸入可以選擇性地包含最底層模塊的輸出以及原始的輸入特征。
遞歸神經網絡
遞歸神經網絡是一種具有樹狀階層結構的人工神經網絡,其網絡節點按照連接順序對輸入信息進行遞歸處理,是深度學習算法之一。RNN的提出旨在處理序列數據,因此在處理文本信息等時,當前輸出與之前的輸出相關,因此被稱為循環神經網絡。RNN隱含層神經元之間具有連接,并且隱藏層的輸入不僅包括輸入層的輸出,還包括上一時刻隱含層的輸出。
半監督學習
半監督學習是將監督學習和無監督學習相結合的學習方式,其目標是有監督的判別式模型,同時以無監督的生成式作為輔助手段,典型的半監督學習模型有積神經網絡(Sum-product Network,SPN)等。
深度強化學習
深度強化學習是一種結合深度學習與強化學習的方法,從感知信息輸入到動作輸出的整個過程中,通過深度神經網絡進行端到端的學習。這種方法使得機器人在感知信息后,能夠直接輸出動作,而不需要進行人工特征抽取。通過深度強化學習,機器人可以自主學習一種或多種技能,具有真正意義上的完全自主學習的潛力。公司在Nature上發表的一篇論文“Human-level control through deep reinforcement learning”,是深度強化學習的代表性作品,該論文的發表引起了廣泛關注,使得深度強化學習成為深度學習領域的前沿研究方向。
框架
TensorFlow
TensorFlow是一個采用數據流圖(數據 Flow Graphs)的用于數值計算的開源軟件庫。節點(Nodes)表示數學操作,線(Edges)則表示在節點間相互聯系的多維數據數組,即張量(Tensor)。它靈活的架構讓用戶可以在多種平臺上展開計算,例如臺式計算機中的一個或多個CPU(或GPU)、服務器、移動設備等。TensorFlow最初由谷歌大腦小組的研究員和工程師開發出來,用于機器學習和深度神經網絡方面的研究,但該系統的通用性使其也可廣泛用于其他計算領域。
PyTorch
Torch是一個科學計算框架,支持大量機器學習算法,得益于Facebook開源了大量Torch的深度學習模塊和擴展,被廣泛應用。其特點在于特別靈活,但由于采用了小眾的編程語言Lua,增加了使用者學習及使用Torch框架的成本。PyTorch由Torch7團隊開發,與Torch不同之處在于PyTorch使用Python作為開發語言,同時實現了強大的GPU加速和支持動態神經網絡,這是TensorFlow所不支持的。PyTorch是GPU加速的numpy,同時具有自動求導功能的深度神經網絡。
Keras
Keras是用Python編寫的高級神經網絡API,可以在TensorFlow、CNTK或Theano后端上運行。它支持簡單快速的原型設計,包括卷積神經網絡和循環神經網絡,并可以在CPU和GPU上無縫運行。Keras有助于深度學習初學者正確理解復雜的模型,旨在最大限度地減少用戶操作,使模型非常易于理解。
飛槳(PaddlePaddle)
飛槳(PaddlePaddle)是由百度集團開發的開源深度學習平臺,集深度學習核心框架、工具組件和服務平臺為一體,同時支持動態圖和靜態圖。它具有兼顧靈活性和高性能的開發機制、工業級的模型庫、超大規模分布式訓練技術、高速推理引擎以及系統化的社區服務等優勢。
Jittor
2020年3月,清華大學計算機系圖形實驗室團隊開源了Jittor,中文名計圖。作為一個完全基于動態編譯的深度學習框架,計圖內部采用了創新的元算子和統一計算圖。這些元算子和numpy同樣易于使用,可以實現比Numpy更復雜、更高效的操作。統一計算圖結合了靜態和動態計算圖的許多優點,易于使用并且提供高性能優化。基于元算子開發的深度學習模型可以在指定的硬件設備上實現實時自動優化。在一些視覺領域中,其運算速度是PyTorch的1.4~13倍。在編程語言上,Jittor采用了靈活且易用的Python,用戶可以使用它編寫元算子計算的Python代碼,然后Jittor將其動態編譯為C++,實現高性能。
應用
自然語言處理
自然語言處理(NLP)是語言學和人工智能的交叉學科,其目標是讓計算機能夠理解人類語言。主要涉及分詞、詞性標注、命名實體識別、句法分析、關鍵詞抽取、文本分類、自動摘要以及信息檢索等領域(此處所指的自然語言處理范疇僅限于文本相關)。傳統的自然語言處理主要依賴語言學知識和統計學方法獲取語言信息。隨后,隨著機器學習淺層模型(如SVM、邏輯回歸等)的發展,自然語言處理取得了一定突破,但在語義消歧和語言理解方面仍有所欠缺。近年來,隨著深度學習相關技術(如DNN、CNN、RNN等)的顯著進展,深度學習在自然語言處理領域的應用展現出了明顯優勢。基于深度學習的自然語言處理在文本分類、機器翻譯、智能問答、推薦系統以及聊天機器人等方面都得到了廣泛應用。
計算機使用深度學習算法從文本數據和文檔中收集見解和意義。這種處理自然的、人工創建的文本的能力有幾個使用場景,包括自動虛擬座席和聊天機器人、自動總結文件或新聞文章、長格式文檔(如電子郵件和表格)的業務情報分析和用于表示情緒(如社交媒體上的正面和負面評論)的關鍵短語索引。
語音識別與合成
語音相關的處理也是自然語言處理領域的一部分,目前主要包括語音合成(Text to Speech,TTS)和語音識別(Automated Speech Recognition,ASR)。語音識別是人們最為熟知且應用最廣泛的領域。與自然語言處理類似,語音識別也是人工智慧和其他學科的交叉領域,其涉及的領域包括模式識別、信號處理、概率論、信息論、發聲原理等。隨著深度學習技術的興起,語音識別取得了顯著進步,基于深度學習的語音技術不僅從實驗室走向市場,還獲得了谷歌、微軟、百度集團、科大訊飛等諸多科技公司的青睞。同時,語音輸入法、家用聊天機器人、醫療語音救助機、智能語音穿戴設備等具體應用場景也層出不窮。
深度學習模型可以分析人類語音,盡管說話模式、音調、語氣、語言和口音不盡相同。虛擬助手(如 Amazon ALEXA INTERNET)和自動轉錄軟件使用語音識別執行幫助呼叫中心座席并對呼叫進行自動分類、將臨床對話實時轉換為文檔、為視頻和會議記錄添加準確的字幕以實現更廣泛的內容覆蓋范圍等任務。
圖像處理
圖像領域是深度學習應用最為成熟的領域。深度學習算法在ImageNet圖像識別大賽中的卓越表現,遠超其他機器學習算法,以巨大優勢奪魁,推動了深度學習發展的第三次浪潮。目前,基于卷積神經網絡(CNN)構建的圖像處理系統能夠有效地減小過擬合,對大像素數圖像內容有著良好的識別能力。融合GPU加速技術后,神經網絡在實際中能更好地擬合訓練數據,更快更準確地識別大部分的圖片。綜上所述,深度學習模型和圖像處理技術的完美結合不僅能提高圖像識別的準確率,還能在一定程度上提高運行效率,減少了一定的人力成本。
計算機視覺
計算機視覺是指計算機從圖像和視頻中提取信息及見解的能力。計算機可以使用深度學習技術來理解圖像,就像人類一樣。計算機視覺具有多種應用,包括內容審核,用于從圖像和視頻歸檔中自動刪除不安全或不適當的內容;面部識別,用于識別面部和多項屬性,如睜開的眼睛、眼鏡以及面部毛發以及圖像分類,用于識別品牌徽標、服裝、安全裝備和其他圖像細節。
推薦引擎
應用程序可以使用深度學習方法來跟蹤用戶活動并開發個性化推薦。它們可以分析各種用戶的行為,并幫助他們發現新產品或服務。例如,許多媒體和娛樂公司,例如 Netflix、美國福克斯廣播公司 和 Peacock,都使用深度學習來提供個性化的視頻推薦。
音頻和音樂處理
在音頻和語音處理領域,深度學習的影響主要表現在音樂信號處理和音樂信息檢索兩個方面。然而,在這兩個領域中,深度學習面臨著一些挑戰。首先,音樂音頻信號并不是按照真實時間組織,而是以音樂時間組織的時間序列,它隨著韻律和情感的變化而變化。測量的信號通常是多個聲音的混合,這些聲音在時間上是同步的,在頻率上是交疊的,是短時和長時相關的混合。此外,音樂的傳統、風格、作曲以及演繹等因素也會對音樂音頻信號產生影響。由于音樂音頻信號的高復雜度和多樣性,其信號表征問題可以通過深度學習這一感知和生理驅動的技術所提供的高度抽象來解決。深度學習技術可以自動學習和提取音樂音頻信號中的特征和規律,從而實現對音樂音頻信號的準確分類、識別和檢索。此外,深度學習技術還可以通過無監督學習等方法從大量音樂音頻數據中提取有用的信息,從而實現對音樂風格的分類、音樂的生成以及對音樂表演的評價等任務。
遞歸神經網絡(RNN)也被用于音樂處理上。在音樂處理中,使用ReLU節點代替傳統的非線性邏輯回歸和雙曲正切函數,其產生更稀疏的梯度,使得在訓練過程中不易發散,并且訓練速度更快。RNN主要用于音樂的和弦自動識別任務,這類研究在音樂信息檢索領域備受歡迎。RNN結構利用其強大的動態系統建模能力,通過隱層中自連接的神經元形成內部記憶,能夠很好地模擬時間序列,如頻譜序列或和弦進行中的和弦標注。經過充分訓練后,RNN可以在給定前面時刻結束的條件下來預測下一時刻的輸出。RNN可以學習基本的音樂屬性,包括瞬時連續性、諧波成分和瞬時動態性等。無論音頻信號含糊不清、帶有噪聲還是難以區分,RNN都可以有效地檢測出大多數音樂的和弦序列。
優勢和局限
優勢
深度學習提供了一種讓計算機進入自動學習模式的特征方法,將特征學習融入模型建立的過程中,從而減少了人為設計特征所造成的不完備性。基于深度學習的某些機器學習應用在特定條件下已經展現出超越現有算法的識別或分類能力。
局限
在只能提供有限數據量的應用場合下,由于數據量有限,深度學習算法無法對數據的規律進行無偏差的估計。為了獲得更高的精度,需要借助大數據支持。此外,深度學習中圖模型的復雜性導致算法的時間復雜度急劇增加,為保證實時性,需要更高級的并行編程技術和更優質的硬件支持。因此,只有一些經濟實力較強的科研機構或企業,才能夠進行深度學習在前沿實用應用方面的研究和探索。
相關爭議
2018年1月中旬,紐約大學教授馬庫斯發表一篇萬字長文質疑深度學習極度依賴數據、學習過程是個“黑箱”、還不能自適應規則變化等。清華大學教授馬少平和馬庫斯認為,“深度學習存在不少問題,例如深度學習是固執己見的。”他舉例說,一輛AI驅動的無人車可能在模擬環境中撞樹5萬次才知道這是錯誤行為,而懸崖上的山羊卻不需要多少試錯機會,改變深度學習的輸出很難,它缺乏“可調試性”。另外,深度學習的過程如果是黑箱,會影響它的應用領域,例如診斷病癥。“AI運算像在一個黑箱子里運行,創造者也無法說清其中的套路。”馬少平認為AI雖然可能給出一個結論,但是人類如果無法知道它究竟是怎么推算出來的,就不敢采信。在制造“噪音”的情況下,AI很容易判斷錯誤。“它無法自動排除噪音,人眼看著是熊貓,AI卻會誤認為是長臂猿科。”馬少平認為AI仍處于初級階段,還有很多問題等待解決。
深度學習很難穩健地實現工程化。北京語言大學教授荀恩東解釋,工程化意味著有“通行”的規則。例如對某一個問題的解決方法確定之后可以進行固定化。而深度學習進行問題處理時,采取類似于完成項目的方式,一個一個地解題,然而世界上有無數問題,如果很難保證機器學習系統換個新環境還能有效工作,那深度學習這項技術可能并不合適幫助AI獲得通行的能力,引導和人類智能相當的強人工智慧的實現。
數據集和模型是深度學習領域的兩大核心要素,是其所有者的重要知識財產,具有重要的商業價值。高質量的公開數據集(例如開源數據集或正在售賣的商業數據集)是深度學習繁榮的一個重要因素。然而,由于這些數據集的公開特性,惡意用戶很有可能在未經授權的情況下用其訓練第三方商用模型,進而破壞數據集所有者的版權,給數據集的所有者造成巨大的損失。此外,由于公開數據集的特性,現有的經典數據保護方法,例如加密、圖像水印、差分隱私等,均不能直接用于保護公開數據集的版權。加密會破壞這些數據集的可用性,惡意用戶只會發布其模型而不會發布其訓練細節,因此防御者無法根據圖像水印判斷是否存在侵權行為,差分隱私需要操縱模型的訓練流程。
參考資料 >
A Brief History of Deep Learning.dataversity.2023-11-23
Deep Learning in a Nutshell: History and Training.nvidia.2023-11-23
谷歌TPU超算,大模型性能超英偉達,已部署數十臺:圖靈獎得主新作.百家號.2023-11-27
韓組團研發NPU,大模型算力需求推動中國AI神經網絡處理芯片發展.人工智能物聯網.2023-11-27
柯潔解讀高考“本手、妙手、俗手”作文題,網友:什么手都打不過阿爾法狗.百家號.2023-11-27
什么是深度學習?.aws.2023-11-22
深度學習論戰 AI大神們在吵什么.新華網.2023-11-23
江勇、夏樹濤團隊在深度學習的版權保護領域取得新進展.清華大學深圳國際研究生院.2023-11-27