過去十年中最具影響力的技術(shù)之一是人工神經(jīng)網(wǎng)絡(luò),它是深度學(xué)習(xí)算法的基本組成部分,是人工智能的前沿。 每天使用神經(jīng)網(wǎng)絡(luò)的應(yīng)用程序有很多,例如Google的翻譯服務(wù),Apple的Face ID iPhone鎖和Amazon的Alexa AI驅(qū)動的助手。神經(jīng)網(wǎng)絡(luò)也在其他領(lǐng)域的一些重要人工智能突破背后,例如診斷皮膚和乳腺癌,讓目光投向自動駕駛汽車。 人工神經(jīng)網(wǎng)絡(luò)背后的概念和科學(xué)已經(jīng)存在了數(shù)十年。但是直到最近幾年,神經(jīng)網(wǎng)絡(luò)的承諾才變?yōu)楝F(xiàn)實,并幫助AI行業(yè)擺脫了漫長的冬季。 盡管神經(jīng)網(wǎng)絡(luò)幫助AI取得了飛躍,但它們也常常被誤解。這時您需要了解的有關(guān)神經(jīng)網(wǎng)絡(luò)的所有信息。 人工和生物神經(jīng)網(wǎng)絡(luò)之間的相似性人工智能先驅(qū)的最初愿景是復(fù)制人類大腦的功能,這是自然界最聰明,最復(fù)雜的已知創(chuàng)造。這就是為什么該領(lǐng)域從人類心靈的形體和功能派生出其大部分術(shù)語(包括“人工智能”一詞)的原因。 人工神經(jīng)網(wǎng)絡(luò)的靈感來自其生物學(xué)對應(yīng)物。大腦的許多功能仍然是個謎,但是我們知道的是,生物神經(jīng)網(wǎng)絡(luò)使大腦能夠以復(fù)雜的方式處理大量信息。 大腦的生物神經(jīng)網(wǎng)絡(luò)由大約1000億個神經(jīng)元組成,這是大腦的基本處理單元。神經(jīng)元通過彼此之間巨大的連接(稱為突觸)來執(zhí)行其功能。人腦大約有100萬億個突觸,每個神經(jīng)元約有1,000個。 大腦的每個功能都涉及在大量此類神經(jīng)元中運行的電流和化學(xué)反應(yīng)。 人工神經(jīng)網(wǎng)絡(luò)如何運作人工神經(jīng)網(wǎng)絡(luò)的核心成分是人工神經(jīng)元。每個神經(jīng)元接收來自其他幾個神經(jīng)元的輸入,將它們乘以分配的權(quán)重,將它們相加,然后將總和傳遞給一個或多個神經(jīng)元。一些人工神經(jīng)元可能在將輸出傳遞給下一個變量之前將激活函數(shù)應(yīng)用于輸出。 人工神經(jīng)元的結(jié)構(gòu),人工神經(jīng)網(wǎng)絡(luò)的基本組成部分(來源:維基百科) 從本質(zhì)上講,這聽起來像是一個非?,嵥榈臄?shù)學(xué)運算。但是,當(dāng)您將成千上萬的神經(jīng)元多層放置并堆疊在一起時,您將獲得一個人工神經(jīng)網(wǎng)絡(luò),可以執(zhí)行非常復(fù)雜的任務(wù),例如對圖像進行分類或識別語音。 人工神經(jīng)網(wǎng)絡(luò)由一個輸入層和一個輸出層組成,其中輸入層從外部源(數(shù)據(jù)文件,圖像,硬件傳感器,麥克風(fēng)等)接收數(shù)據(jù),一個或多個隱藏層處理數(shù)據(jù),輸出層提供一個或多個數(shù)據(jù)點基于網(wǎng)絡(luò)的功能。例如,檢測人,汽車和動物的神經(jīng)網(wǎng)絡(luò)將具有一個包含三個節(jié)點的輸出層。對銀行在安全和欺詐之間進行交易進行分類的網(wǎng)絡(luò)將只有一個輸出。 神經(jīng)網(wǎng)絡(luò)由多層組成(來源:www.deeplearningbook.org) 訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)首先為神經(jīng)元之間的連接權(quán)重分配隨機值。ANN正確而準(zhǔn)確地執(zhí)行其任務(wù)的關(guān)鍵是將這些權(quán)重調(diào)整為正確的數(shù)字。但是找到合適的權(quán)重并不是一件容易的事,特別是當(dāng)您處理多層和成千上萬的神經(jīng)元時。 通過對帶有注釋示例的網(wǎng)絡(luò)進行“培訓(xùn)”來完成此校準(zhǔn)。例如,如果您要訓(xùn)練上述圖像分類器,則可以為其提供多張照片,每張照片均標(biāo)有其相應(yīng)的類別(人,汽車或動物)。當(dāng)您為它提供越來越多的訓(xùn)練示例時,神經(jīng)網(wǎng)絡(luò)會逐漸調(diào)整其權(quán)重,以將每個輸入映射到正確的輸出。 基本上,訓(xùn)練期間發(fā)生的事情是網(wǎng)絡(luò)進行自我調(diào)整以從數(shù)據(jù)中收集特定模式。同樣,對于圖像分類器網(wǎng)絡(luò),當(dāng)您使用質(zhì)量示例訓(xùn)練AI模型時,每一層都會檢測到特定的特征類別。例如,第一層可能檢測到水平和垂直邊緣,第二層可能檢測到拐角和圓形。在網(wǎng)絡(luò)的更深處,更深的層次將開始挑選出更高級的功能,例如面部和物體。 神經(jīng)網(wǎng)絡(luò)的每一層都將從輸入圖像中提取特定特征。(來源: arxiv.org) 當(dāng)您通過訓(xùn)練有素的神經(jīng)網(wǎng)絡(luò)運行新圖像時,調(diào)整后的神經(jīng)元權(quán)重將能夠提取正確的特征并準(zhǔn)確確定圖像屬于哪個輸出類別。 訓(xùn)練神經(jīng)網(wǎng)絡(luò)的挑戰(zhàn)之一是找到正確數(shù)量和質(zhì)量的訓(xùn)練示例。而且,訓(xùn)練大型AI模型需要大量的計算資源。為了克服這一挑戰(zhàn),許多工程師使用“ 轉(zhuǎn)移學(xué)習(xí)”(一種培訓(xùn)技術(shù)),您可以采用預(yù)先訓(xùn)練的模型,并使用針對特定領(lǐng)域的新示例對其進行微調(diào)。當(dāng)已經(jīng)有一個與您的用例接近的AI模型時,轉(zhuǎn)移學(xué)習(xí)特別有效。 神經(jīng)網(wǎng)絡(luò)與經(jīng)典AI傳統(tǒng)的基于規(guī)則的AI程序基于經(jīng)典軟件的原理。計算機程序旨在對存儲在存儲單元中的數(shù)據(jù)運行操作,并將結(jié)果保存在其他存儲單元中。程序的邏輯是順序的,確定性的,并基于明確定義的規(guī)則。操作由一個或多個中央處理器運行。 但是,神經(jīng)網(wǎng)絡(luò)既不是順序的也不是確定性的。另外,無論底層硬件如何,都沒有中央處理器來控制邏輯。相反,邏輯分布在成千上萬個較小的人工神經(jīng)元上。人工神經(jīng)網(wǎng)絡(luò)不運行指令;相反,他們對輸入執(zhí)行數(shù)學(xué)運算。開發(fā)模型行為的是他們的集體行動。 神經(jīng)網(wǎng)絡(luò)不是通過手動編碼的邏輯表示知識,而是在權(quán)重和激活的總體狀態(tài)下對知識進行編碼。特斯拉AI負責(zé)人安德烈·卡帕蒂(Andrej Karpathy)在一篇出色的媒體文章“ 軟件2.0 ” 中雄辯地描述了神經(jīng)網(wǎng)絡(luò)的軟件邏輯: 我們都熟悉Software 1.0的“經(jīng)典堆棧”, 它是用Python,C ++等語言編寫的。它由程序員編寫的對計算機的明確指令組成。通過編寫每一行代碼,程序員可以識別程序空間中具有某些所需行為的特定點。 相比之下, Software 2.0 可以用更加抽象的,人類不友好的語言(例如神經(jīng)網(wǎng)絡(luò)的權(quán)重)來編寫。沒有人參與編寫此代碼,因為權(quán)重很多(典型的網(wǎng)絡(luò)可能有數(shù)百萬個),而直接用權(quán)重編碼有點困難(我嘗試過)。 神經(jīng)網(wǎng)絡(luò)與其他機器學(xué)習(xí)技術(shù)人工神經(jīng)網(wǎng)絡(luò)只是執(zhí)行機器學(xué)習(xí)的幾種算法之一,而 機器學(xué)習(xí)是人工智能的分支,它根據(jù)經(jīng)驗來發(fā)展行為。還有許多其他機器學(xué)習(xí)技術(shù),它們可以在數(shù)據(jù)中找到模式并執(zhí)行諸如分類和預(yù)測之類的任務(wù)。其中一些技術(shù)包括回歸模型,支持向量機(SVM),k最近方法和決策樹。 但是,在處理雜亂且非結(jié)構(gòu)化的數(shù)據(jù)(例如圖像,音頻和文本)時,神經(jīng)網(wǎng)絡(luò)的性能優(yōu)于其他機器學(xué)習(xí)技術(shù)。 例如,如果要使用經(jīng)典的機器學(xué)習(xí)算法執(zhí)行圖像分類任務(wù),則必須進行大量復(fù)雜的“功能工程”,這是一個復(fù)雜而艱巨的過程,需要數(shù)名工程師和領(lǐng)域?qū)<业墓餐ΑI窠?jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)算法不需要特征工程,只要訓(xùn)練得當(dāng),就可以自動從圖像中提取特征。 但是,這并不意味著神經(jīng)網(wǎng)絡(luò)可以替代其他機器學(xué)習(xí)技術(shù)。其他類型的算法需要較少的計算資源,并且較不復(fù)雜,這使得它們在嘗試解決不需要神經(jīng)網(wǎng)絡(luò)的問題時更可取。 其他機器學(xué)習(xí)技術(shù)也是可以解釋的(在下文中有更多介紹),這意味著更容易研究和更正他們做出的決策。這可能使它們在解釋性比準(zhǔn)確性更重要的用例中更可取。 神經(jīng)網(wǎng)絡(luò)的局限性盡管有人工神經(jīng)網(wǎng)絡(luò)的名稱,但其與人類等效的神經(jīng)網(wǎng)絡(luò)卻有很大不同。盡管神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)是當(dāng)今AI的最先進技術(shù),但與人類智能仍然相距甚遠。因此,神經(jīng)網(wǎng)絡(luò)將在您希望從人類的思想中想到的許多事情上失?。?/span> · 神經(jīng)網(wǎng)絡(luò)需要大量數(shù)據(jù):與人腦可以通過很少的示例學(xué)習(xí)做事的人腦不同,神經(jīng)網(wǎng)絡(luò)需要成千上萬個示例。 · 神經(jīng)網(wǎng)絡(luò)在概括方面很不好:神經(jīng)網(wǎng)絡(luò)將在經(jīng)過培訓(xùn)的任務(wù)上準(zhǔn)確執(zhí)行,但在其他任何方面都表現(xiàn)不佳,即使它與原始問題相似。例如,接受過數(shù)千張貓圖片訓(xùn)練的貓分類器將無法檢測到狗。為此,它將需要成千上萬張新圖像。與人類不同,神經(jīng)網(wǎng)絡(luò)不會在符號(耳朵,眼睛,胡須,尾巴)方面發(fā)展知識,它們會處理像素值。這就是為什么他們將無法從高級功能上了解新對象,因此需要從頭開始對其進行重新培訓(xùn)。 · 神經(jīng)網(wǎng)絡(luò)是不透明的:由于神經(jīng)網(wǎng)絡(luò)通過神經(jīng)元的權(quán)重和激活來表達其行為,因此很難確定其決策背后的邏輯。這就是為什么它們經(jīng)常被稱為黑匣子。這使得很難確定他們是否基于錯誤的因素做出決策。 人工智能專家和神經(jīng)科學(xué)家Gary Marcus 在去年的一份深入研究論文中解釋了深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的局限性。 而且,在邏輯和推理很明確并且可以編入不同規(guī)則的問題中,神經(jīng)網(wǎng)絡(luò)也不能替代老式的基于規(guī)則的AI。例如,在求解數(shù)學(xué)方程式時,神經(jīng)網(wǎng)絡(luò)的性能非常差。 為了克服神經(jīng)網(wǎng)絡(luò)的局限性,人們進行了許多努力,例如由DARPA資助的創(chuàng)建可解釋的AI模型的計劃。其他有趣的發(fā)展包括開發(fā) 結(jié)合了神經(jīng)網(wǎng)絡(luò)和基于規(guī)則的AI的混合模型,以創(chuàng)建可解釋且需要較少訓(xùn)練數(shù)據(jù)的AI系統(tǒng)。 盡管要實現(xiàn)人類級AI的目標(biāo)(如果我們能夠?qū)崿F(xiàn)),還有很長的路要走,但是神經(jīng)網(wǎng)絡(luò)使我們更加接近??纯聪乱粋€AI創(chuàng)新將是什么會很有趣。 |
|