深度學習與人工智慧革命 part III

2021-09-22 04:20:48 字數 3559 閱讀 2993

本篇是系列部落格的第

三部分,如果沒有看過

前面兩部分內容的讀者建議閱讀一下。

在第i部分內容中,主要是講解人工智慧的歷史以及它現在高速發展的原因;

在第ii部分內容中,將討論一下人工智慧、機器學習和深度學習之間的區別;

在今天的第iii部分內容中,將深入研究深度學習以及在為新專案選擇資料庫時需要評估的關鍵事項;

在第iv部分內容中,將討論深度學習為何使用mongodb,並提供相關使用例項;

由於本文內容是第iii

深度學習是什麼?

深度學習是機器學習

研究領域中

的乙個分支,近年來在影象識別、自然語言處理和影象分類等領域應用十分火熱,受到世界範圍內的廣泛關注。深度學習是人工神經網路(

ann)的一種改進,正如人工神經網路一樣,是模擬人類大腦學習和解決問題的一種方法。

在深入了解深度學習的工作原理前,首先理解人工神經網路(

ann)是如何工作的。人工神經網路是由一組互相連線的神經元組成,類似於人類大腦中的神經元網路。

上圖是乙個簡化的神經元連線示意圖。神經網路中的每個神經元接收與之連線的其它神經元的輸入資訊(x

i),然後通過計算後輸出到網路中的其它神經元或節點。神經元之間的連線引數用權重(w

j)表示,權重的大小表示二者連線的強度,權重的值可正可負。將所有的輸入資訊都與對應的連線權重相乘(x1w

1,x2w

2等)並進行求和作為該節點的輸出。最後一步是對神經元執行計算或啟用函式處理。啟用函式允許人工神經網路模擬簡單模式無法正確表示的複雜的非線性問題,常用的啟用函式是sigmoid函式。

上圖表示乙個三層的神經網路,從左往右第一層為輸入層,輸入對應的特徵(x1,x

2,x3),第二層被稱作隱藏層,隱藏層可以有多層,第三層是輸出層。對於乙個層而言,只要該層不是輸入層或輸出層,那麼該層就可以稱作隱藏層。

「深度」學習最初就是這樣產生的,因為其含有多個隱藏層,通常包含多於

3個的隱藏層。在一些情況下,隱藏層的個數高達1200多個。

多個隱藏層的好處是什麼呢?在某些模式下,可能需要更加深入的調查,因此多個隱藏層可以進行額外的特徵處理。深度學習在影象分類領域中表現優異,甚至在某些特定任務上超過了人類的表現。現在,通過乙個額外隱藏層有助於面部識別的例子來說明這一點。

當一張被輸入到乙個深層次的學習網路中時,它首先被分解成影象畫素。然後該演算法將在影象中的某些位置尋找特定形狀的圖案。第乙個隱藏層可能試圖揭示特定的面部模式:眼睛、嘴巴、鼻子、耳朵等。新增乙個額外的隱藏層來解析更加細粒度的屬性。例如,「嘴巴」可以進一步分解為「牙齒」、「嘴唇」、「牙齦」等。新增額外的隱藏層可以將這些模式更進一步抽象。最終的結果是乙個深層的學習網路可以將乙個非常複雜的問題分解成一系列簡單的問題。隱藏層的本質是乙個層次化的特徵學習,它們能夠更好地提取特徵。目前,大多數深度學習演算法都是有監督學習,即對已知的標記資料進行深度學習。

訓練是如何工作的?

訓練深度學習的最終目的是降低代價函式,即期望輸出與實際輸出之間的差異盡可能小。節點之間的連線將會有特定的權重,不斷修改這些權重引數使得網路的代價函式變小。通過修改權重值,可以將代價函式最小化到全域性最小值,這意味著模型的誤差降到最小值。深度學習之所以計算如此密集就是因為它需要找到合適的數以十億的連線權重值,這需要通過不斷迭代訓練調整得到,以找到使得代價函式全域性最小值的權重集。

深度學習中最為常用的訓練方法是反向傳播梯度下降演算法。梯度下降演算法是一種有效的數學優化方法,它能有效地處理大量的資料(特徵),而不必強力進行維度分析。梯度下降演算法根據權重函式的全域性最小值來計算梯度(斜率)。在訓練過程中,首先隨機分配權重並計算出乙個誤差。然後基於這個誤差,通過使用梯度下降演算法來修改權重,之後反向逐層調整每層的權重引數,當調整完每層引數後又正向進行傳播,計算得到乙個新的誤差,之後基於新的誤差調整每層的引數,一直迭代到代價函式達到全域性最小值為止。可能會出現一些例子,梯度下降演算法是以區域性最小值而不是全域性最小值來計算的,減輕這個問題的方法是使用凸的代價函式或對引數產生更多的隨機性。

深度學習中對資料庫的思考

非關聯式資料庫在促進機器學習和深度學習技術的最新進展中起著不可或缺的作用。收集和儲存大量結構化和非結構化的資料的能力為提公升深度學習**提供的必要的原材料。在構建深度學習應用程式時,選擇用於管理底層資料的資料庫時要牢記一些注意事項。

靈活的資料模型。在深度學習中,資料需要經歷三個階段——輸入資料、訓練資料和結果資料。深度學習是乙個動態的過程,通常涉及大量的實驗,比如,實驗過程中引數調整是很正常的事情,加上非結構化資料的輸入、輸出結果的修改是自然而然地發生。隨著新的資訊和見解被發現,重要的是在靈活資料模型上選擇乙個合適的資料庫,避免在資料結構需要改變時需要執行昂貴的模式遷移。

規模。深度學習面臨的最大挑戰之一是模型訓練耗費的時間比較長,有些模型可能需要幾個星期的訓練時間,這是由於梯度下降等演算法需要通過多次迭代來調整模型的數十億個引數。為了減少訓練次數,深度學習框架嘗試並行運算,將訓練負荷分布到多個高效能的伺服器上。

並行化訓練主要有兩種方式:資料並行性和模型並行性。

除了模型訓練階段耗費時間長外,深度學習的另乙個大挑戰是輸入資料集不斷增長,這增加了訓練引數的數量。這不僅意味著輸入資料集可能超過可用的伺服器記憶體,而且還意味著涉及梯度下降的矩陣也能超過節點的記憶體。因此,縮放比擴充套件更加重要,這使得工作負載和相關的資料集在多個節點上分布,允許並行執行計算。

容錯。許多深度學習演算法使用檢驗點作為故障發生時恢復訓練資料的一種方法。然而,頻繁設定的檢查點需要大量的系統開銷。另一種方法是利用駐留在分割節點上的多個資料副本,這些副本提供冗餘和資料可用性,而無需消耗系統主節點上的資源。

一致性。對於大多數深度學習演算法而言,建議使用強資料一致性模型,具有強一致性的分布式資料庫集群中每個節點都執行在最新的資料副本上。雖然有些演算法可以容忍一定程度的不一致性,比如隨機梯度下降演算法(sgd),但強一致性能夠提供最精確的結果。然而,在某些情況下,演算法更加看重訓練時間而不是精度,那麼最終的一致性是可以接受的。為了優化精度和效能,資料庫應該提供可調的一致性。

作者資訊

mat keep,產品營銷總監,目前就職於mongodb團隊。

個人主頁:

本文由北郵

@愛可可-愛生活

老師推薦,

阿里云云棲社群

組織翻譯。

文章原標題《deep learning and the artificial intelligence revolution: part 3

文章為簡譯,更為詳細的內容,請檢視原文

《her》與人工智慧

最近看了一部電影 her 也就是 她 感覺劇情非常的好,她 是講述在不遠的未來人與人工智慧相愛的科幻愛情電影。導演斯派克瓊斯 的才華讓我很震驚,這部電影不像以往的科幻電影那樣有很複雜的劇情,很炫目科幻的畫面,它只是將人工智慧融入到人類的生活當中,去展現一種全新的世界觀。虛擬化的智慧型裝置一開始進入到...

Python與人工智慧

python python是乙個非常快捷的計算機程式語言,類庫非常豐富,解決各種問題都有很多現成的工具和例子,使得很多複雜的應用根本無須了解系統細節就能輕鬆實現所需功能。python可以運用到很多方面,可以做日常任務 可以做 比如知乎 youtube就是python寫的 可以做網路遊戲的後台。其它比...

電腦DIY與人工智慧

我想組裝一台新電腦,所以最近一段時間沒少上各大電腦 了解各種配件的 效能,閱讀各種各樣的評測文章。有幾次,我去太平洋電腦城轉,發現賣電腦的竟然還不如我對各種配件了解 當然,指的是水平一般的人。不過,在關注電腦 時,我越來越明顯地感覺到,選擇一款合適的配件是簡單的 只要它的 合適 效能符合要求 質量可...