漫畫版:什么是深度學(xué)習(xí)?
Google 如何在短短幾秒鐘內(nèi)將整個網(wǎng)頁翻譯成不同的語言,或者你的手機(jī)圖庫如何根據(jù)它們的位置對圖片進(jìn)行分組? 這些都是深度學(xué)習(xí)的結(jié)果。
但什么是深度學(xué)習(xí)呢?
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個子集,而機(jī)器學(xué)習(xí)又是人工智能的一個子集。
人工智能是一種使機(jī)器能夠模仿人類行為的技術(shù),機(jī)器學(xué)習(xí)是一種通過使用數(shù)據(jù)訓(xùn)練的算法來實現(xiàn) AI 的技術(shù),最后深度學(xué)習(xí)是一種受人腦結(jié)構(gòu)(生物神經(jīng)網(wǎng)絡(luò))啟發(fā)的機(jī)器學(xué)習(xí)。這種結(jié)構(gòu)在深度學(xué)習(xí)領(lǐng)域稱為人工神經(jīng)網(wǎng)絡(luò)。
讓我們來更好地理解深度學(xué)習(xí),以及它與機(jī)器學(xué)習(xí)的區(qū)別。
假設(shè)我們有一個可以區(qū)分西紅柿和櫻桃的機(jī)器,如果使用機(jī)器學(xué)習(xí)完成,則必須告訴機(jī)器可以區(qū)分兩者的特征。這些特征可能是大?。⊿ize)和莖的類別(Type of Stem)。
如果使用深度學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)可以提取特征,而不需要人工干預(yù)。
當(dāng)然,這種特性需要擁有大量的數(shù)據(jù)來訓(xùn)練我們的機(jī)器?,F(xiàn)在讓我們來深入研究神經(jīng)網(wǎng)絡(luò)的工作原理。
原理
在這里,我們有三個學(xué)生,他們每人在一張紙上寫下數(shù)字 9, 但他們寫的并不完全一樣。人類的大腦可以很容易地識別數(shù)字,但是計算機(jī)如何識別它們? 使用深度學(xué)習(xí)可以實現(xiàn)。
每個數(shù)字以 28x28 像素的圖像形式顯示,總計 784 像素。
這是一個經(jīng)過訓(xùn)練可識別手寫數(shù)字的神經(jīng)網(wǎng)絡(luò),神經(jīng)元是神經(jīng)網(wǎng)絡(luò)中最基本的的核心實體,是進(jìn)行信息處理的地方,784 個像素中的每個像素都被送到神經(jīng)網(wǎng)絡(luò)第一層的神經(jīng)元,這形成了輸入層,輸入層僅接受輸入,不進(jìn)行函數(shù)處理。
另一端是輸出層,輸入層與輸出層之間的一層神經(jīng)元稱為隱含層。隱含層與輸出層的神經(jīng)元都是擁有激活函數(shù)的功能神經(jīng)元。
輸入層神經(jīng)元接收到 784 個輸入信號,這些輸入信號通過帶權(quán)重的連接進(jìn)行傳遞,神經(jīng)元接收到的總輸入值將與神經(jīng)元的閾值(每個神經(jīng)元都有一個閾值稱為偏差 Bias)進(jìn)行比較,然后通過激活函數(shù)(Activation Function)處理以產(chǎn)生神經(jīng)元的輸出,激活函數(shù)的結(jié)果決定了神經(jīng)元是否被激活。
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程,就是根據(jù)訓(xùn)練數(shù)據(jù)來調(diào)整神經(jīng)元之間的“連接權(quán)”(connection weight)以及每個功能神經(jīng)元的閾值。換言之,神經(jīng)網(wǎng)絡(luò)學(xué)到的東西,蘊含在連接權(quán)與閾值中。
應(yīng)用
那么深度學(xué)習(xí)有哪些應(yīng)用呢?
在客服行業(yè):當(dāng)大多數(shù)人與客服代理交談時,交談看起來是那么真實,他們甚至沒有意識到這實際上是個機(jī)器人。
在醫(yī)療行業(yè),神經(jīng)網(wǎng)絡(luò)可檢測癌細(xì)胞并分析 MRI 圖像以提供詳細(xì)結(jié)果。
像科幻小說一樣的自動駕駛汽車現(xiàn)在已經(jīng)成為現(xiàn)實。蘋果、特斯拉和日產(chǎn)一些公司在研發(fā)自動駕駛汽車。
局限性
深度學(xué)習(xí)的范圍很廣,但也面臨著一些局限性。
數(shù)據(jù)量
第一個局限性便是數(shù)據(jù)。雖然深度學(xué)習(xí)是處理非結(jié)構(gòu)化數(shù)據(jù)的最有效方法,但神經(jīng)網(wǎng)絡(luò)需要大量的數(shù)據(jù)來訓(xùn)練。
計算能力
假設(shè)我們擁有大量的樣本數(shù)據(jù),但并不是每臺機(jī)器都有處理這些數(shù)據(jù)的能力,這給我們帶來了第二個限制:計算能力。通常簡稱“算力”。
訓(xùn)練神經(jīng)網(wǎng)絡(luò)需要成千上萬的圖形處理單元。與 CPU 相比,GPU 當(dāng)然更貴。
訓(xùn)練時間
最后就是訓(xùn)練時間,深度神經(jīng)網(wǎng)絡(luò)需要幾個小時甚至幾個月的訓(xùn)練,時間隨著網(wǎng)絡(luò)中數(shù)據(jù)量和層數(shù)的增加而增加。
深度學(xué)習(xí)框架
一些流行的深度學(xué)習(xí)框架,包括 Tensorflow、Pytorch、Caffe、DL4J 和 Microsoft cognitive toolkit。
未來
我們對深度學(xué)習(xí)和人工智能在未來的應(yīng)用只看到了表面,未來會充滿驚喜。
Horse 技術(shù)正在為盲人開發(fā)一種使用深度學(xué)習(xí)的設(shè)備,用計算機(jī)視覺向用戶描述世界,整體復(fù)制人類的思維。
小測驗
所以給你一個小測驗, 神經(jīng)網(wǎng)絡(luò)的正確工作順序排序:
- A. The bias is added 加偏差
- B. The weighted sum of the inputs is calculated 計算輸入的加權(quán)和
- C. Specific neuron is activated 特異性神經(jīng)元被激活
- D. The result is fed to an activation function 結(jié)果被輸入到激活函數(shù)
答案:
B、 計算輸入的加權(quán)和
A、 加偏差
D、 結(jié)果被輸入到激活函數(shù)
C、 特異性神經(jīng)元被激活
說明:在神經(jīng)網(wǎng)絡(luò)中,一層中的每個神經(jīng)元都與相應(yīng)層中的其他神經(jīng)元相連。這些連接具有隨機(jī)權(quán)重。計算輸入的加權(quán)和,并以偏置形式添加一個附加輸入(w * x + b)。其結(jié)果被輸入到激活函數(shù)?;谔囟ǖ拈撝?,只有那些超過閾值的神經(jīng)元才會被激活。