日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

翻译: 深入神经网络概览Dive into Deep Learning

發(fā)布時(shí)間:2024/8/1 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 翻译: 深入神经网络概览Dive into Deep Learning 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 簡(jiǎn)介

直到最近,我們每天與之交互的幾乎所有計(jì)算機(jī)程序都是由軟件開發(fā)人員根據(jù)第一原理編碼的。假設(shè)我們想編寫一個(gè)應(yīng)用程序來管理一個(gè)電子商務(wù)平臺(tái)。在圍著白板花了幾個(gè)小時(shí)思考這個(gè)問題之后,我們會(huì)想出一個(gè)可行的解決方案的大致思路,可能看起來像這樣:

  • (i) 用戶通過在 Web 瀏覽器中運(yùn)行的界面與應(yīng)用程序交互或移動(dòng)應(yīng)用程序;
  • (ii) 我們的應(yīng)用程序與商業(yè)級(jí)數(shù)據(jù)庫(kù)引擎交互,以跟蹤每個(gè)用戶的狀態(tài)并維護(hù)歷史交易記錄;
  • (iii) 在我們應(yīng)用程序的核心,業(yè)務(wù)邏輯(你可能會(huì)說,大腦) 我們的應(yīng)用程序有條不紊地詳細(xì)說明了我們的程序在每一種可能的情況下應(yīng)該采取的適當(dāng)行動(dòng)。

為了構(gòu)建我們的應(yīng)用程序的大腦,我們必須逐步檢查我們預(yù)計(jì)會(huì)遇到的每一個(gè)可能的極端情況,設(shè)計(jì)適當(dāng)?shù)囊?guī)則。每次客戶單擊以將商品添加到他們的購(gòu)物車時(shí),我們都會(huì)在購(gòu)物車數(shù)據(jù)庫(kù)表中添加一個(gè)條目,將該用戶的 ID 與請(qǐng)求的產(chǎn)品 ID 相關(guān)聯(lián)。雖然很少有開發(fā)人員第一次就完全正確(可能需要一些測(cè)試運(yùn)行才能解決問題),但在大多數(shù)情況下,我們可以根據(jù)第一原則編寫這樣的程序,并在 見到真正的客戶之前自信地啟動(dòng)它。我們根據(jù)驅(qū)動(dòng)功能產(chǎn)品和系統(tǒng)的第一原理設(shè)計(jì)自動(dòng)化系統(tǒng)的能力,通常是在新穎的情況下,這是一項(xiàng)了不起的認(rèn)知壯舉。當(dāng)您能夠設(shè)計(jì)出有效的解決方案時(shí) 100% 當(dāng)時(shí),您不應(yīng)該使用機(jī)器學(xué)習(xí)。

幸運(yùn)的是,對(duì)于不斷壯大的機(jī)器學(xué)習(xí)科學(xué)家社區(qū)來說,我們希望自動(dòng)化的許多任務(wù)不會(huì)輕易屈服于人類的聰明才智。想象一下,與您所知道的最聰明的人一起圍在白板上,但這次您正在解決以下問題之一:

  • 編寫一個(gè)程序,根據(jù)地理信息、衛(wèi)星圖像和過去天氣的跟蹤窗口預(yù)測(cè)明天的天氣。
  • 編寫一個(gè)程序,接受一個(gè)問題,用自由格式的文本表達(dá),并正確回答。
  • 編寫一個(gè)程序,給定一張圖片,可以識(shí)別其中包含的所有人,并在每個(gè)人周圍畫出輪廓。
  • 編寫一個(gè)程序,向用戶展示他們可能會(huì)喜歡但在自然瀏覽過程中不太可能遇到的產(chǎn)品。

在每種情況下,即使是精英程序員也無法從頭開始編寫解決方案。其原因可能會(huì)有所不同。有時(shí)我們正在尋找的程序遵循隨時(shí)間變化的模式,我們需要我們的程序來適應(yīng)。在其他情況下,關(guān)系(例如像素和抽象類別之間)可能過于復(fù)雜,即使我們的眼睛毫不費(fèi)力地完成任務(wù),也需要進(jìn)行數(shù)千或數(shù)百萬(wàn)次超出我們意識(shí)理解的計(jì)算。機(jī)器學(xué)習(xí)是對(duì)可以從經(jīng)驗(yàn)中學(xué)習(xí)的強(qiáng)大技術(shù)的研究。隨著機(jī)器學(xué)習(xí)算法積累更多經(jīng)驗(yàn),通常以觀察數(shù)據(jù)或與環(huán)境交互的形式,其性能會(huì)提高。將此與我們的確定性電子商務(wù)平臺(tái)進(jìn)行對(duì)比,該平臺(tái)根據(jù)相同的業(yè)務(wù)邏輯執(zhí)行,無論積累了多少經(jīng)驗(yàn),直到開發(fā)人員自己了解并決定是時(shí)候更新軟件了。在本書中,我們將向您介紹機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí),并特別關(guān)注深度學(xué)習(xí),這是一套強(qiáng)大的技術(shù),可推動(dòng)計(jì)算機(jī)視覺、自然語(yǔ)言處理、醫(yī)療保健和基因組學(xué)等多個(gè)領(lǐng)域的創(chuàng)新。

1.1 一個(gè)智能語(yǔ)音的例子

在開始寫作之前,這本書的作者,就像許多工作人員一樣,不得不喝咖啡。我們跳上車開始開車。亞歷克斯使用 iPhone 喊出“嘿 Siri”,喚醒了手機(jī)的語(yǔ)音識(shí)別系統(tǒng)。然后穆命令“去藍(lán)瓶咖啡店的方向”。手機(jī)很快顯示出他的命令轉(zhuǎn)錄。它還認(rèn)識(shí)到我們?cè)趩柭?#xff0c;并啟動(dòng)了地圖應(yīng)用程序(app)來滿足我們的請(qǐng)求。啟動(dòng)后,地圖應(yīng)用程序確定了許多路線。在每條路線旁邊,手機(jī)都會(huì)顯示預(yù)計(jì)的運(yùn)輸時(shí)間。雖然我們?yōu)榱私虒W(xué)方便而編造了這個(gè)故事,但它表明,在短短幾秒鐘內(nèi),我們與智能手機(jī)的日常交互可以使用多種機(jī)器學(xué)習(xí)模型。

想象一下,只是編寫一個(gè)程序來響應(yīng)諸如“Alexa”、“OK Google”和“Hey Siri”之類的喚醒詞。嘗試在一個(gè)房間里自己編寫代碼,只需要一臺(tái)計(jì)算機(jī)和一個(gè)代碼編輯器,如圖 1.1.1 所示。您將如何從第一原理編寫這樣的程序?想一想……問題很難。每秒,麥克風(fēng)將收集大約 44000 個(gè)樣本。每個(gè)樣本都是聲波幅度的測(cè)量值。什么規(guī)則可以可靠地從原始音頻片段映射到可靠的預(yù)測(cè) {yes,no} 關(guān)于片段是否包含喚醒詞?如果您被卡住了,請(qǐng)不要擔(dān)心。我們也不知道如何從頭開始編寫這樣的程序。這就是我們使用機(jī)器學(xué)習(xí)的原因。

圖 1.1.1識(shí)別喚醒詞。

這是訣竅。通常,即使我們不知道如何明確地告訴計(jì)算機(jī)如何從輸入映射到輸出,我們?nèi)匀荒軌蜃约和瓿烧J(rèn)知壯舉。換句話說,即使您不知道如何對(duì)計(jì)算機(jī)進(jìn)行編程以識(shí)別“Alexa”這個(gè)詞,您自己也能夠識(shí)別它。有了這種能力,我們可以收集一個(gè)包含音頻示例的巨大數(shù)據(jù)集,并標(biāo)記那些包含和不包含喚醒詞的音頻。在機(jī)器學(xué)習(xí)方法中,我們不會(huì)嘗試 明確地設(shè)計(jì)一個(gè)系統(tǒng)來識(shí)別喚醒詞。相反,我們定義了一個(gè)靈活的程序,其行為由多個(gè)參數(shù)決定. 然后我們使用數(shù)據(jù)集來確定可能的最佳參數(shù)集,這些參數(shù)可以提高我們的程序在感興趣任務(wù)上的某些性能度量方面的性能。

您可以將參數(shù)視為我們可以轉(zhuǎn)動(dòng)的旋鈕,從而操縱程序的行為。固定參數(shù),我們將程序稱為模型。我們僅通過操縱參數(shù)就可以生成的所有不同程序(輸入-輸出映射)的集合稱為模型族 。使用我們的數(shù)據(jù)集選擇參數(shù)的元程序稱為學(xué)習(xí)算法。

在我們繼續(xù)使用學(xué)習(xí)算法之前,我們必須精確地定義問題,確定輸入和輸出的確切性質(zhì),并選擇合適的模型系列。在這種情況下,我們的模型接收一段音頻作為輸入,然后模型在其中生成一個(gè)選擇 {yes,no} 作為 輸出。如果一切按計(jì)劃進(jìn)行,模型對(duì)片段是否包含喚醒詞的猜測(cè)通常是正確的。

如果我們選擇正確的模型系列,應(yīng)該存在一個(gè)旋鈕設(shè)置,以便模型每次聽到“Alexa”這個(gè)詞時(shí)都會(huì)觸發(fā)“yes”。因?yàn)閱拘言~的確切選擇是任意的,我們可能需要一個(gè)足夠豐富的模型系列,通過旋鈕的另一種設(shè)置,它只能在聽到“杏”這個(gè)詞時(shí)觸發(fā)“是”。我們期望相同的模型系列應(yīng)該適用于“Alexa”識(shí)別和“Apricot”識(shí)別,因?yàn)閺闹庇X上看,它們似乎是相似的任務(wù)。但是,如果我們想處理根本不同的輸入或輸出,比如我們想從圖像映射到字幕,或者從英文句子到中文句子,我們可能需要完全不同的模型系列。

您可能會(huì)猜到,如果我們只是隨機(jī)設(shè)置所有旋鈕,我們的模型不太可能識(shí)別“Alexa”、“Apricot”或任何其他英文單詞。在機(jī)器學(xué)習(xí)中,學(xué)習(xí)是我們發(fā)現(xiàn)旋鈕的正確設(shè)置的過程,以從我們的模型中強(qiáng)制執(zhí)行所需的行為。換句話說,我們用數(shù)據(jù)訓(xùn)練我們的模型。如圖1.1.2所示,訓(xùn)練過程通常如下所示:

  • 從一個(gè)隨機(jī)初始化的模型開始,它不能做任何有用的事情。
  • 獲取您的一些數(shù)據(jù)(例如,音頻片段和相應(yīng)的 {yes,no} 標(biāo)簽)。
  • 調(diào)整旋鈕,使模型對(duì)這些示例的吸收更少。
  • 重復(fù)第 2 步和第 3 步,直到模型很棒。

    圖 1.1.2一個(gè)典型的訓(xùn)練過程。
  • 總而言之,我們不是編寫一個(gè)喚醒詞識(shí)別器,而是編寫一個(gè)可以學(xué)習(xí)識(shí)別喚醒詞的程序,如果我們向它提供一個(gè)大的標(biāo)記數(shù)據(jù)集。您可以將這種通過將數(shù)據(jù)集呈現(xiàn)給程序來確定程序行為的行為視為使用數(shù)據(jù)進(jìn)行編程. 也就是說,我們可以通過為我們的機(jī)器學(xué)習(xí)系統(tǒng)提供許多貓和狗的例子來“編程”一個(gè)貓檢測(cè)器。這樣,檢測(cè)器最終將學(xué)會(huì)發(fā)出一個(gè)非常大的正數(shù),如果它是一只貓,一個(gè)非常大的負(fù)數(shù),如果它是一只狗,如果它不確定,它會(huì)接近零,這幾乎不會(huì)觸及表面機(jī)器學(xué)習(xí)可以做到。深度學(xué)習(xí),我們稍后會(huì)更詳細(xì)地解釋,只是解決機(jī)器學(xué)習(xí)問題的眾多流行方法之一。

    1.2. 關(guān)鍵部件

    在我們的喚醒詞示例中,我們描述了一個(gè)由音頻片段和二進(jìn)制標(biāo)簽組成的數(shù)據(jù)集,并且我們對(duì)如何訓(xùn)練模型以近似從片段到分類的映射給出了一種直觀的感覺。這類問題,我們嘗試根據(jù)已知輸入來預(yù)測(cè)指定的未知標(biāo)簽,給定一個(gè)由標(biāo)簽已知的示例組成的數(shù)據(jù)集,稱為 監(jiān)督學(xué)習(xí)。這只是眾多機(jī)器學(xué)習(xí)問題中的一種。稍后我們將深入探討不同的機(jī)器學(xué)習(xí)問題。首先,無論我們處理什么樣的機(jī)器學(xué)習(xí)問題,我們都想更清楚地了解一些將跟隨我們的核心組件:

  • 我們可以從中學(xué)習(xí)的數(shù)據(jù)。
  • 如何轉(zhuǎn)換數(shù)據(jù)的模型。
  • 一個(gè)目標(biāo)函數(shù),用于量化模型做得好(或壞)的程度。
  • 一種調(diào)整模型參數(shù)以優(yōu)化目標(biāo)函數(shù)的算法。
  • 1.2.1 數(shù)據(jù)

    不用說,沒有數(shù)據(jù)就無法進(jìn)行數(shù)據(jù)科學(xué)。我們可能會(huì)浪費(fèi)數(shù)百頁(yè)來思考究竟是什么構(gòu)成了數(shù)據(jù),但現(xiàn)在,我們將在實(shí)際方面犯錯(cuò),并專注于要關(guān)注的關(guān)鍵屬性。通常,我們關(guān)注的是示例集合。為了有效地處理數(shù)據(jù),我們通常需要提出一個(gè)合適的數(shù)字表示。每個(gè) 示例(或數(shù)據(jù)點(diǎn)、數(shù)據(jù)實(shí)例、樣本)通常由一組稱為特征(或協(xié)變量)的屬性組成),模型必須從中做出預(yù)測(cè)。在上面的監(jiān)督學(xué)習(xí)問題中,要預(yù)測(cè)的東西是一個(gè)特殊的屬性,它被指定為標(biāo)簽(或目標(biāo))。

    如果我們使用圖像數(shù)據(jù),每張單獨(dú)的照片都可能構(gòu)成一個(gè)示例,每張照片都由對(duì)應(yīng)于每個(gè)像素的亮度的有序數(shù)值列表表示。一種 200×200 彩色照片將包括 200×200×3=120000 數(shù)值,對(duì)應(yīng)于每個(gè)空間位置的紅色、綠色和藍(lán)色通道的亮度。在另一項(xiàng)傳統(tǒng)任務(wù)中,我們可能會(huì)嘗試根據(jù)一組標(biāo)準(zhǔn)特征(例如年齡、生命體征和診斷)來預(yù)測(cè)患者是否能夠存活。

    當(dāng)每個(gè)示例都以相同數(shù)量的數(shù)值為特征時(shí),我們說數(shù)據(jù)由固定長(zhǎng)度的向量組成,我們將向量的恒定長(zhǎng)度描述為數(shù)據(jù)的維數(shù)。正如您可能想象的那樣,固定長(zhǎng)度可能是一個(gè)方便的屬性。如果我們想訓(xùn)練一個(gè)模型來識(shí)別顯微鏡圖像中的癌癥,固定長(zhǎng)度的輸入意味著我們可以少擔(dān)心一件事。

    但是,并非所有數(shù)據(jù)都可以輕松地表示為固定長(zhǎng)度的 向量。雖然我們可能期望顯微鏡圖像來自標(biāo)準(zhǔn)設(shè)備,但我們不能期望從互聯(lián)網(wǎng)上挖掘的圖像都以相同的分辨率或形狀顯示。對(duì)于圖像,我們可能會(huì)考慮將它們?nèi)坎眉魹闃?biāo)準(zhǔn)尺寸,但這種策略只能讓我們做到這一點(diǎn)。我們冒著丟失裁剪部分中的信息的風(fēng)險(xiǎn)。此外,文本數(shù)據(jù)更頑固地抵制固定長(zhǎng)度的表示??紤]亞馬遜、IMDB 和 TripAdvisor 等電子商務(wù)網(wǎng)站上留下的客戶評(píng)論。有些很短:“它很臭!”。其他人則為頁(yè)面而徘徊。與傳統(tǒng)方法相比,深度學(xué)習(xí)的一個(gè)主要優(yōu)勢(shì)是現(xiàn)代模型可以處理 不同長(zhǎng)度的數(shù)據(jù)。

    一般來說,我們擁有的數(shù)據(jù)越多,我們的工作就越容易。當(dāng)我們擁有更多數(shù)據(jù)時(shí),我們可以訓(xùn)練更強(qiáng)大的模型,并減少對(duì)先入為主的假設(shè)的依賴。從(相對(duì))小數(shù)據(jù)到大數(shù)據(jù)的制度變化是現(xiàn)代深度學(xué)習(xí)成功的主要貢獻(xiàn)者。為了說明這一點(diǎn),深度學(xué)習(xí)中許多最令人興奮的模型如果沒有大型數(shù)據(jù)集就無法工作。其他一些在小數(shù)據(jù)機(jī)制中工作,但并不比傳統(tǒng)方法好。

    最后,僅僅擁有大量數(shù)據(jù)并巧妙地處理它是不夠的。我們需要正確的數(shù)據(jù)。如果數(shù)據(jù)充滿錯(cuò)誤,或者如果選擇的特征不能預(yù)測(cè)感興趣的目標(biāo)數(shù)量,那么學(xué)習(xí)就會(huì)失敗。陳詞濫調(diào)很好地捕捉到了這種情況:垃圾進(jìn),垃圾出. 此外,較差的預(yù)測(cè)性能并不是唯一的潛在后果。在機(jī)器學(xué)習(xí)的敏感應(yīng)用中,例如預(yù)測(cè)性監(jiān)管、簡(jiǎn)歷篩選和用于貸款的風(fēng)險(xiǎn)模型,我們必須特別警惕垃圾數(shù)據(jù)的后果。一種常見的故障模式發(fā)生在訓(xùn)練數(shù)據(jù)中沒有代表某些人群的數(shù)據(jù)集中。想象一下在以前從未見過黑色皮膚的野外應(yīng)用皮膚癌識(shí)別系統(tǒng)。當(dāng)數(shù)據(jù)不僅未充分代表某些群體而且反映社會(huì)偏見時(shí),也可能發(fā)生失敗。例如,如果使用過去的招聘決定來訓(xùn)練用于篩選簡(jiǎn)歷的預(yù)測(cè)模型,那么機(jī)器學(xué)習(xí)模型可能會(huì)無意中捕捉和自動(dòng)化歷史不公正。

    1.2.2 模型

    大多數(shù)機(jī)器學(xué)習(xí)都涉及在某種意義上轉(zhuǎn)換數(shù)據(jù)。我們可能想要構(gòu)建一個(gè)系統(tǒng)來攝取照片并預(yù)測(cè)笑臉?;蛘?#xff0c;我們可能想要獲取一組傳感器讀數(shù)并預(yù)測(cè)讀數(shù)的正常與異常情況。按 型號(hào),我們表示用于攝取一種類型的數(shù)據(jù)并輸出可能不同類型的預(yù)測(cè)的計(jì)算機(jī)制。特別是,我們對(duì)可以從數(shù)據(jù)中估計(jì)的統(tǒng)計(jì)模型感興趣。雖然簡(jiǎn)單模型完全能夠解決適當(dāng)簡(jiǎn)單的問題,但我們?cè)诒緯嘘P(guān)注的問題擴(kuò)展了經(jīng)典方法的局限性。深度學(xué)習(xí)與經(jīng)典方法的區(qū)別主要在于它關(guān)注的一組強(qiáng)大的模型。這些模型由許多連續(xù)的數(shù)據(jù)轉(zhuǎn)換組成,這些數(shù)據(jù)從上到下鏈接在一起,因此得名深度學(xué)習(xí)。在討論深度模型的過程中,我們還將討論一些更傳統(tǒng)的方法。

    1.2.3 目標(biāo)函數(shù)

    早些時(shí)候,我們將機(jī)器學(xué)習(xí)介紹為從經(jīng)驗(yàn)中學(xué)習(xí)。通過 在這里學(xué)習(xí),我們的意思是隨著時(shí)間的推移在某些任務(wù)上有所改進(jìn)。但是誰(shuí)能說什么是改進(jìn)呢?您可能會(huì)想象我們可以提議更新我們的模型,而有些人可能會(huì)不同意提議的更新是否構(gòu)成改進(jìn)或下降。

    為了開發(fā)一個(gè)正式的學(xué)習(xí)機(jī)器數(shù)學(xué)系統(tǒng),我們需要對(duì)我們的模型有多好(或多壞)有正式的衡量標(biāo)準(zhǔn)。在機(jī)器學(xué)習(xí)和更一般的優(yōu)化中,我們將這些 目標(biāo)函數(shù)稱為目標(biāo)函數(shù)。按照慣例,我們通常定義目標(biāo)函數(shù),以便越低越好。這只是一個(gè)約定。您可以采用任何更高更好的函數(shù),然后通過翻轉(zhuǎn)符號(hào)將其轉(zhuǎn)換為質(zhì)量相同但更低更好的新函數(shù)。因?yàn)樵降驮胶?#xff0c;這些函數(shù)有時(shí)被稱為損失函數(shù)。

    在嘗試預(yù)測(cè)數(shù)值時(shí),最常見的損失函數(shù)是平方誤差,即預(yù)測(cè)值與真實(shí)值之差的平方。對(duì)于分類,最常見的目標(biāo)是最小化錯(cuò)誤率,即我們的預(yù)測(cè)與基本事實(shí)不一致的示例比例。一些目標(biāo)(例如平方誤差)很容易優(yōu)化。由于不可微性或其他復(fù)雜性,其他(例如,錯(cuò)誤率)難以直接優(yōu)化。在這些情況下,通常會(huì)優(yōu)化 替代目標(biāo)。

    通常,損失函數(shù)是根據(jù)模型的參數(shù)定義的,并且取決于數(shù)據(jù)集。我們通過最小化由為訓(xùn)練收集的一些示例組成的集合所產(chǎn)生的損失來學(xué)習(xí)模型參數(shù)的最佳值。然而,在訓(xùn)練數(shù)據(jù)上做得很好并不能保證我們?cè)诳床灰姷臄?shù)據(jù)上做得很好。因此,我們通常希望將可用數(shù)據(jù)分成兩個(gè)部分:訓(xùn)練數(shù)據(jù)集(或訓(xùn)練集,用于擬合模型參數(shù))和測(cè)試數(shù)據(jù)集(或測(cè)試集),用于評(píng)估),報(bào)告模型在兩者上的表現(xiàn)。您可以將培訓(xùn)表現(xiàn)視為學(xué)生在練習(xí)考試中的分?jǐn)?shù),用于準(zhǔn)備一些真正的期末考試。即使結(jié)果令人鼓舞,也不能保證在期末考試中取得成功。換句話說,測(cè)試性能可能會(huì)顯著偏離訓(xùn)練性能。當(dāng)一個(gè)模型在訓(xùn)練集上表現(xiàn)良好但無法泛化到看不見的數(shù)據(jù)時(shí),我們說它是 過擬合的。在現(xiàn)實(shí)生活中,這就像在實(shí)踐考試中表現(xiàn)出色但在真實(shí)考試中不及格一樣。

    1.2.4 優(yōu)化算法

    一旦我們獲得了一些數(shù)據(jù)源和表示、模型和明確定義的目標(biāo)函數(shù),我們就需要一種能夠搜索最佳參數(shù)以最小化損失函數(shù)的算法。流行的深度學(xué)習(xí)優(yōu)化算法基于一種稱為梯度下降的方法。簡(jiǎn)而言之,在每個(gè)步驟中,此方法都會(huì)檢查每個(gè)參數(shù),如果您僅對(duì)該參數(shù)進(jìn)行少量擾動(dòng),則訓(xùn)練集損失會(huì)以何種方式移動(dòng)。然后它在可能減少損失的方向上更新參數(shù)。

    1.3. 機(jī)器學(xué)習(xí)問題的種類

    在我們的激勵(lì)示例中,喚醒詞問題只是機(jī)器學(xué)習(xí)可以解決的眾多問題之一。為了進(jìn)一步激發(fā)讀者的興趣并在我們?cè)谡緯杏懻摳鄦栴}時(shí)為我們提供一些共同語(yǔ)言,下面我們列出了機(jī)器學(xué)習(xí)問題的示例。我們將不斷參考我們前面提到的概念,例如數(shù)據(jù)、模型和訓(xùn)練技術(shù)。

    1.3.1 監(jiān)督學(xué)習(xí) Supervised learning

    監(jiān)督學(xué)習(xí)解決了在給定輸入特征的情況下預(yù)測(cè)標(biāo)簽的任務(wù)。每個(gè)特征-標(biāo)簽對(duì)稱為一個(gè)示例。有時(shí),當(dāng)上下文很清楚時(shí),我們可以使用術(shù)語(yǔ)示例來指代輸入的集合,即使相應(yīng)的標(biāo)簽是未知的。我們的目標(biāo)是生成一個(gè)將任何輸入映射到標(biāo)簽預(yù)測(cè)的模型。

    為了將此描述建立在一個(gè)具體的例子中,如果我們?cè)卺t(yī)療保健領(lǐng)域工作,那么我們可能想要預(yù)測(cè)患者是否會(huì)心臟病發(fā)作。這種觀察,“心臟病發(fā)作”或“沒有心臟病發(fā)作”,將成為我們的標(biāo)簽。輸入特征可能是生命體征,例如心率、舒張壓和收縮壓。

    監(jiān)督開始發(fā)揮作用,因?yàn)闉榱诉x擇參數(shù),我們(監(jiān)督者)為模型提供了一個(gè)由標(biāo)記示例組成的數(shù)據(jù)集,其中每個(gè)示例都與真實(shí)標(biāo)簽匹配。在概率方面,我們通常對(duì)估計(jì)給定輸入特征的標(biāo)簽的條件概率感興趣。雖然它只是機(jī)器學(xué)習(xí)中的幾種范式之一,但監(jiān)督學(xué)習(xí)占機(jī)器學(xué)習(xí)在工業(yè)中成功應(yīng)用的大部分。部分原因是因?yàn)樵S多重要任務(wù)可以明確地描述為在給定一組特定可用數(shù)據(jù)的情況下估計(jì)未知事物的概率:

    給定計(jì)算機(jī)斷層掃描圖像,預(yù)測(cè)癌癥與非癌癥。

    給定一個(gè)英文句子,預(yù)測(cè)法語(yǔ)的正確翻譯。

    根據(jù)本月的財(cái)務(wù)報(bào)告數(shù)據(jù)預(yù)測(cè)下個(gè)月的股票價(jià)格。

    即使使用簡(jiǎn)單的描述“根據(jù)輸入特征預(yù)測(cè)標(biāo)簽”,監(jiān)督學(xué)習(xí)也可以采用多種形式并需要大量建模決策,具體取決于(除其他考慮因素外)類型、大小以及輸入和輸出的數(shù)量。例如,我們使用不同的模型來處理任意長(zhǎng)度的序列和處理固定長(zhǎng)度的向量表示。我們將在本書中深入探討其中的許多問題。

    非正式地,學(xué)習(xí)過程如下所示。首先,獲取大量已知特征的示例,并從中選擇一個(gè)隨機(jī)子集,獲取每個(gè)示例的真實(shí)標(biāo)簽。有時(shí)這些標(biāo)簽可能是已經(jīng)收集的可用數(shù)據(jù)(例如,患者是否在下一年內(nèi)死亡?)而其他時(shí)候,我們可能需要使用人工注釋器來標(biāo)記數(shù)據(jù)(例如,將圖像分配給類別)。這些輸入和相應(yīng)的標(biāo)簽一起構(gòu)成了訓(xùn)練集。我們將訓(xùn)練數(shù)據(jù)集輸入到監(jiān)督學(xué)習(xí)算法中,該算法將數(shù)據(jù)集作為輸入并輸出另一個(gè)函數(shù):學(xué)習(xí)模型。最后,我們可以將以前看不見的輸入提供給學(xué)習(xí)模型,使用它的輸出作為相應(yīng)標(biāo)簽的預(yù)測(cè)。圖 1.3.1。

    圖 1.3.1監(jiān)督學(xué)習(xí)。

    1.3.1.1?;貧w

    也許最簡(jiǎn)單的監(jiān)督學(xué)習(xí)任務(wù)是回歸。例如,考慮從房屋銷售數(shù)據(jù)庫(kù)中收集的一組數(shù)據(jù)。我們可以構(gòu)建一個(gè)表格,其中每一行對(duì)應(yīng)不同的房子,每一列對(duì)應(yīng)一些相關(guān)的屬性,比如房子的面積、臥室的數(shù)量、浴室的數(shù)量和分鐘數(shù)(步行) 到市中心。在這個(gè)數(shù)據(jù)集中,每個(gè)例子都是一個(gè)特定的房子,對(duì)應(yīng)的特征向量是表中的一行。如果您住在紐約或舊金山,并且您不是亞馬遜、谷歌、微軟或 Facebook 的 CEO,那么您家的(平方英尺、臥室數(shù)量、浴室數(shù)量、步行距離)特征向量可能看起來像: [600,1,1,60] . 但是,如果你住在匹茲堡,它可能看起來更像 [3000,4,3,10] . 像這樣的特征向量對(duì)于大多數(shù)經(jīng)典的機(jī)器學(xué)習(xí)算法來說都是必不可少的。

    使問題回歸的實(shí)際上是輸出。假設(shè)您在市場(chǎng)上尋找新房??紤]到上述一些特征,您可能想要估計(jì)房屋的公平市場(chǎng)價(jià)值。標(biāo)簽,即銷售價(jià)格,是一個(gè)數(shù)值。當(dāng)標(biāo)簽采用任意數(shù)值時(shí),我們稱之為回歸問題。我們的目標(biāo)是生成一個(gè)模型,其預(yù)測(cè)與實(shí)際標(biāo)簽值非常接近。

    許多實(shí)際問題都是描述良好的回歸問題。預(yù)測(cè)用戶對(duì)電影的評(píng)分可以被認(rèn)為是一個(gè)回歸問題,如果你在 2009 年設(shè)計(jì)了一個(gè)很棒的算法來完成這一壯舉,你可能已經(jīng)贏得了100 萬(wàn)美元的 Netflix 獎(jiǎng)。預(yù)測(cè)患者在醫(yī)院的住院時(shí)間也是一個(gè)回歸問題。一個(gè)好的經(jīng)驗(yàn)法則是多少?或者有多少?問題應(yīng)該暗示回歸,例如:

    • 這個(gè)手術(shù)需要幾個(gè)小時(shí)?
    • 在接下來的六個(gè)小時(shí)內(nèi),這個(gè)小鎮(zhèn)會(huì)有多少降雨?

    即使您以前從未使用過機(jī)器學(xué)習(xí),您也可能非正式地解決過回歸問題。想象一下,例如,您修復(fù)了下水道,而您的承包商花了 3 個(gè)小時(shí)清除污水管中的垃圾。然后他寄給你一張350美元的賬單?,F(xiàn)在想象一下,你的朋友雇傭了同一個(gè)承包商 2 個(gè)小時(shí),他收到了 250 美元的賬單。如果有人隨后問您對(duì)他們即將到來的垃圾清除發(fā)票的期望值是多少,您可能會(huì)做出一些合理的假設(shè),例如更多的工作時(shí)間會(huì)花費(fèi)更多的美元。您還可以假設(shè)有一些基本費(fèi)用,然后承包商按小時(shí)收費(fèi)。如果這些假設(shè)成立,那么鑒于這兩個(gè)數(shù)據(jù)示例,您已經(jīng)可以確定承包商的定價(jià)結(jié)構(gòu):每小時(shí) 100 美元外加 50 美元出現(xiàn)在你家。如果您遵循了那么多,那么您已經(jīng)理解了線性回歸背后的高級(jí)思想。

    在這種情況下,我們可以生成與承包商價(jià)格完全匹配的參數(shù)。有時(shí)這是不可能的,例如,如果某些差異歸因于您的兩個(gè)特征之外的幾個(gè)因素。在這些情況下,我們將嘗試學(xué)習(xí)最小化我們的預(yù)測(cè)和觀察值之間的距離的模型。在我們的大部分章節(jié)中,我們將專注于最小化平方誤差損失函數(shù)。正如我們稍后將看到的,這種損失對(duì)應(yīng)于我們的數(shù)據(jù)被高斯噪聲破壞的假設(shè)。

    1.3.1.2。分類

    雖然回歸模型非常適合解決多少問題?問題,很多問題都不適用于這個(gè)模板。例如,一家銀行希望在其移動(dòng)應(yīng)用程序中添加支票掃描功能。這將涉及客戶使用他們智能手機(jī)的相機(jī)拍攝一張支票的照片,并且該應(yīng)用程序需要能夠自動(dòng)理解圖像中看到的文本。具體來說,它還需要更加健壯地理解手寫文本,例如將手寫字符映射到已知字符之一。這種是哪一種?問題稱為 分類。它使用一組不同于回歸算法的算法進(jìn)行處理,盡管許多技術(shù)會(huì)繼續(xù)使用。

    在分類中,我們希望我們的模型查看特征,例如圖像中的像素值,然后在一些離散的選項(xiàng)集中預(yù)測(cè)樣本屬于哪個(gè)類別(正式稱為類)。對(duì)于手寫數(shù)字,我們可能有十個(gè)類別,對(duì)應(yīng)于數(shù)字 0 到 9。最簡(jiǎn)單的分類形式是當(dāng)只有兩個(gè)類別時(shí),我們稱之為二元分類問題。例如,我們的數(shù)據(jù)集可能包含動(dòng)物的圖像,我們的標(biāo)簽可能是類 {cat,dog} . 在回歸中,我們尋找回歸器來輸出數(shù)值,在分類中,我們尋找分類器,其輸出是預(yù)測(cè)的類分配。

    由于我們將在本書變得更加技術(shù)性的過程中進(jìn)入的原因,可能很難優(yōu)化只能輸出硬分類分配的模型,例如“貓”或“狗”。在這些情況下,用概率語(yǔ)言來表達(dá)我們的模型通常要容易得多。給定示例的特征,我們的模型為每個(gè)可能的類分配一個(gè)概率。回到我們的動(dòng)物分類示例,其中類是 {cat,dog} ,分類器可能會(huì)看到一張圖像并輸出圖像是貓的概率為 0.9。我們可以通過說分類器 90% 確定圖像描繪了一只貓來解釋這個(gè)數(shù)字。預(yù)測(cè)類別的概率大小傳達(dá)了一種不確定性概念。這不是不確定性的唯一概念,我們將在更高級(jí)的章節(jié)中討論其他概念。

    當(dāng)我們有兩個(gè)以上可能的類時(shí),我們將問題稱為 多類分類。常見的例子包括手寫字符識(shí)別 {0,1,2,…9,a,b,c,…} . 雖然我們通過嘗試最小化平方誤差損失函數(shù)來解決回歸問題,但分類問題的常見損失函數(shù)稱為交叉熵,其名稱可以通過后續(xù)章節(jié)中對(duì)信息論的介紹來揭開神秘面紗。

    請(qǐng)注意,最有可能的類別不一定是您要用于決定的類別。假設(shè)你在你的后院發(fā)現(xiàn)了一個(gè)漂亮的蘑菇,如圖 1.3.2 所示。


    圖 1.3.2死亡帽——不能吃的東西!

    現(xiàn)在,假設(shè)您構(gòu)建了一個(gè)分類器并訓(xùn)練它根據(jù)照片預(yù)測(cè)蘑菇是否有毒。假設(shè)我們的毒物檢測(cè)分類器輸出圖 1.3.2 包含死亡上限的概率為 0.2。換句話說,分類器 80% 確定我們的蘑菇不是死帽。不過,你必須是個(gè)傻瓜才能吃它。那是因?yàn)橐活D美味晚餐的某些好處不值得冒 20% 的死亡風(fēng)險(xiǎn)。換句話說,不確定性風(fēng)險(xiǎn)的影響遠(yuǎn)遠(yuǎn)超過了收益。因此,我們需要計(jì)算我們作為損失函數(shù)所產(chǎn)生的預(yù)期風(fēng)險(xiǎn),即我們需要將結(jié)果的概率乘以與之相關(guān)的利益(或傷害)。在這種情況下,食用蘑菇所造成的損失可能是 0.2×∞+0.8×0=∞ ,而丟棄它的損失是 0.2×0+0.8×1=0.8 . 我們的謹(jǐn)慎是有道理的:正如任何真菌學(xué)家會(huì)告訴我們的那樣,圖 1.3.2中的蘑菇 實(shí)際上是一個(gè)死亡帽。

    分類可能比二進(jìn)制、多類甚至多標(biāo)簽分類復(fù)雜得多。例如,有一些用于尋址層次結(jié)構(gòu)的分類變體。層次結(jié)構(gòu)假設(shè)在許多類之間存在一些關(guān)系。所以不是所有的錯(cuò)誤都是平等的——如果我們必須犯錯(cuò),我們寧愿錯(cuò)誤分類到一個(gè)相關(guān)的類而不是一個(gè)遙遠(yuǎn)的類。通常,這被稱為層次分類。一個(gè)早期的例子要?dú)w功于林奈,他將動(dòng)物組織成一個(gè)等級(jí)。

    在動(dòng)物分類的情況下,將貴賓犬(一種犬種)誤認(rèn)為雪納瑞(另一種犬種)可能并沒有那么糟糕,但如果將貴賓犬與恐龍混淆,我們的模型將付出巨大的代價(jià)。哪個(gè)層次結(jié)構(gòu)相關(guān)可能取決于您計(jì)劃如何使用模型。例如,響尾蛇和吊襪帶蛇可能在系統(tǒng)發(fā)育樹上很接近,但將響尾蛇誤認(rèn)為吊襪帶可能是致命的。

    1.3.1.3。標(biāo)記

    一些分類問題很適合二進(jìn)制或多類分類設(shè)置。例如,我們可以訓(xùn)練一個(gè)正常的二元分類器來區(qū)分貓和狗。鑒于計(jì)算機(jī)視覺的當(dāng)前狀態(tài),我們可以使用現(xiàn)成的工具輕松做到這一點(diǎn)。盡管如此,無論我們的模型有多準(zhǔn)確,當(dāng)分類器遇到不來梅城市音樂家的圖像時(shí),我們可能會(huì)遇到麻煩,這是 一個(gè)流行的德國(guó)童話故事,在圖 1.3.3中有四只動(dòng)物。

    圖 1.3.3驢、狗、貓和公雞。

    如您所見,圖 1.3.3中有一只貓,還有一只公雞、一只狗和一頭驢,背景中有一些樹。根據(jù)我們最終想要對(duì)模型做什么,將其視為二元分類問題可能沒有多大意義。相反,我們可能想給模型一個(gè)選項(xiàng),說圖像描繪了一只貓、一只狗、一頭驢和一只公雞。

    學(xué)習(xí)預(yù)測(cè)不互斥的類的問題稱為多標(biāo)簽分類。自動(dòng)標(biāo)記問題通常最好描述為多標(biāo)簽分類問題。想想人們可能會(huì)在技術(shù)博客上應(yīng)用的標(biāo)簽,例如“機(jī)器學(xué)習(xí)”、“技術(shù)”、“小工具”、“編程語(yǔ)言”、“Linux”、“云計(jì)算”、“AWS”。一篇典型的文章可能會(huì)應(yīng)用 5-10 個(gè)標(biāo)簽,因?yàn)檫@些概念是相關(guān)的。有關(guān)“云計(jì)算”的帖子可能會(huì)提到“AWS”,而有關(guān)“機(jī)器學(xué)習(xí)”的帖子也可能涉及“編程語(yǔ)言”。

    在處理生物醫(yī)學(xué)文獻(xiàn)時(shí),我們也必須處理這類問題,其中正確標(biāo)記文章很重要,因?yàn)樗试S研究人員對(duì)文獻(xiàn)進(jìn)行詳盡的審查。在美國(guó)國(guó)家醫(yī)學(xué)圖書館,許多專業(yè)注釋者檢查每篇在 PubMed 中被索引的文章,以將其與 MeSH 中的相關(guān)術(shù)語(yǔ)相關(guān)聯(lián),MeSH 是大約 28000 個(gè)標(biāo)簽的集合。這是一個(gè)耗時(shí)的過程,注釋者通常在歸檔和標(biāo)記之間有一年的延遲。在這里可以使用機(jī)器學(xué)習(xí)來提供臨時(shí)標(biāo)簽,直到每篇文章都可以進(jìn)行適當(dāng)?shù)娜斯徍?。事?shí)上,幾年來,BioASQ 組織舉辦的比賽正是為了做到這一點(diǎn)。

    1.3.1.4。搜索

    有時(shí)我們不只是想將每個(gè)示例分配給存儲(chǔ)桶或?qū)嶋H值。在信息檢索領(lǐng)域,我們希望對(duì)一組項(xiàng)目進(jìn)行排名。以網(wǎng)絡(luò)搜索為例。目標(biāo)不是確定特定頁(yè)面是否與查詢相關(guān),而是確定眾多搜索結(jié)果中的哪一個(gè)與特定用戶最相關(guān)。我們非常關(guān)心相關(guān)搜索結(jié)果的順序,我們的學(xué)習(xí)算法需要從更大的集合中生成有序的元素子集。換句話說,如果我們被要求從字母表中生成前 5 個(gè)字母,則返回“ABCDE”和“CABED”是有區(qū)別的。即使結(jié)果集相同,集合內(nèi)的順序也很重要。

    這個(gè)問題的一種可能的解決方案是首先為集合中的每個(gè)元素分配一個(gè)相應(yīng)的相關(guān)性分?jǐn)?shù),然后檢索評(píng)分最高的元素。 PageRank是谷歌搜索引擎背后的原始秘密武器,是這種評(píng)分系統(tǒng)的早期例子,但它的特殊之處在于它不依賴于實(shí)際查詢。在這里,他們依靠一個(gè)簡(jiǎn)單的相關(guān)過濾器來識(shí)別相關(guān)項(xiàng)目集,然后使用 PageRank 對(duì)包含查詢?cè)~的結(jié)果進(jìn)行排序。如今,搜索引擎使用機(jī)器學(xué)習(xí)和行為模型來獲得與查詢相關(guān)的相關(guān)分?jǐn)?shù)。有整個(gè)學(xué)術(shù)會(huì)議專門討論這個(gè)主題。

    1.3.1.5。推薦系統(tǒng)

    推薦系統(tǒng)是另一個(gè)與搜索和排名相關(guān)的問題設(shè)置。就目標(biāo)是向用戶顯示一組相關(guān)項(xiàng)目而言,這些問題是相似的。主要區(qū)別在于在推薦系統(tǒng)的上下文中強(qiáng)調(diào)對(duì)特定用戶的個(gè)性化。例如,對(duì)于電影推薦,科幻迷的結(jié)果頁(yè)面和彼得塞勒斯喜劇鑒賞家的結(jié)果頁(yè)面可能會(huì)有很大差異。類似的問題出現(xiàn)在其他推薦設(shè)置中,例如零售產(chǎn)品、音樂和新聞推薦。

    在某些情況下,客戶會(huì)提供明確的反饋來傳達(dá)他們對(duì)特定產(chǎn)品的喜愛程度(例如,亞馬遜、IMDb 和 Goodreads 上的產(chǎn)品評(píng)級(jí)和評(píng)論)。在其他一些情況下,它們提供隱式反饋,例如,通過跳過播放列表上的標(biāo)題,這可能表示不滿意,但可能只是表示歌曲在上下文中不合適。在最簡(jiǎn)單的公式中,這些系統(tǒng)被訓(xùn)練來估計(jì)一些分?jǐn)?shù),例如給定用戶和項(xiàng)目的估計(jì)評(píng)分或購(gòu)買概率。

    給定這樣的模型,對(duì)于任何給定的用戶,我們可以檢索得分最高的對(duì)象集,然后可以將其推薦給用戶。生產(chǎn)系統(tǒng)要先進(jìn)得多,并且在計(jì)算此類分?jǐn)?shù)時(shí)會(huì)考慮詳細(xì)的用戶活動(dòng)和項(xiàng)目特征。圖 1.3.4是亞馬遜推薦的深度學(xué)習(xí)書籍示例,這些書籍基于針對(duì)個(gè)人偏好進(jìn)行調(diào)整的個(gè)性化算法。

    圖 1.3.4亞馬遜推薦的深度學(xué)習(xí)書籍。

    盡管具有巨大的經(jīng)濟(jì)價(jià)值,但天真地建立在預(yù)測(cè)模型之上的推薦系統(tǒng)仍存在一些嚴(yán)重的概念缺陷。首先,我們只觀察審查的反饋:用戶優(yōu)先評(píng)價(jià)他們強(qiáng)烈喜歡的電影。例如,在 5 分制中,您可能會(huì)注意到許多項(xiàng)目獲得了很多 5 星和 1 星評(píng)級(jí),但很少有 3 星評(píng)級(jí)。此外,當(dāng)前的購(gòu)買習(xí)慣往往是當(dāng)前推薦算法的結(jié)果,但學(xué)習(xí)算法并不總是考慮到這個(gè)細(xì)節(jié)。因此,有可能形成反饋循環(huán),其中推薦系統(tǒng)優(yōu)先推送一個(gè)項(xiàng)目,然后該項(xiàng)目被認(rèn)為是更好的(由于更多的購(gòu)買),進(jìn)而被更頻繁地推薦。許多關(guān)于如何處理審查、激勵(lì)和反饋循環(huán)的問題都是重要的開放性研究問題。

    1.3.1.6。序列學(xué)習(xí)

    到目前為止,我們已經(jīng)研究了一些固定數(shù)量的輸入并產(chǎn)生固定數(shù)量的輸出的問題。例如,我們考慮從一組固定的特征來預(yù)測(cè)房?jī)r(jià):平方英尺、臥室數(shù)量、浴室數(shù)量、步行到市中心的時(shí)間。我們還討論了從(固定維度的)圖像映射到它屬于固定數(shù)量類中的每一個(gè)的預(yù)測(cè)概率,或者獲取用戶 ID 和產(chǎn)品 ID,并預(yù)測(cè)星級(jí)。在這些情況下,一旦我們將固定長(zhǎng)度的輸入輸入模型以生成輸出,模型就會(huì)立即忘記它剛剛看到的內(nèi)容。

    如果我們的輸入真的都具有相同的維度并且連續(xù)的輸入真的彼此無關(guān),那么這可能很好。但是我們將如何處理視頻片段?在這種情況下,每個(gè)片段可能包含不同數(shù)量的幀。如果我們考慮到前一幀或后一幀,我們對(duì)每一幀中發(fā)生的事情的猜測(cè)可能會(huì)更強(qiáng)。語(yǔ)言也是如此。一個(gè)流行的深度學(xué)習(xí)問題是機(jī)器翻譯:提取某種源語(yǔ)言的句子并預(yù)測(cè)其翻譯成另一種語(yǔ)言的任務(wù)。

    這些問題在醫(yī)學(xué)上也存在。我們可能需要一個(gè)模型來監(jiān)測(cè)重癥監(jiān)護(hù)病房中的患者,并在他們?cè)诮酉聛淼?24 小時(shí)內(nèi)死亡的風(fēng)險(xiǎn)超過某個(gè)閾值時(shí)發(fā)出警報(bào)。我們絕對(duì)不希望這個(gè)模型每小時(shí)丟棄它所知道的關(guān)于患者病史的所有信息,而只是根據(jù)最近的測(cè)量結(jié)果做出預(yù)測(cè)。

    這些問題是機(jī)器學(xué)習(xí)最令人興奮的應(yīng)用之一,它們是序列學(xué)習(xí)的實(shí)例。它們需要一個(gè)模型來攝取輸入序列或發(fā)出輸出序列(或兩者兼而有之)。具體來說,序列到序列學(xué)習(xí) 考慮輸入和輸出都是可變長(zhǎng)度序列的問題,例如機(jī)器翻譯和從口語(yǔ)中轉(zhuǎn)錄文本。雖然不可能考慮所有類型的序列轉(zhuǎn)換,但以下特殊情況值得一提。

    標(biāo)記和解析。這涉及使用屬性注釋文本序列。換句話說,輸入和輸出的數(shù)量基本相同。例如,我們可能想知道動(dòng)詞和主語(yǔ)在哪里?;蛘?#xff0c;我們可能想知道哪些詞是命名實(shí)體。一般來說,目標(biāo)是根據(jù)結(jié)構(gòu)和語(yǔ)法假設(shè)對(duì)文本進(jìn)行分解和注釋,以獲得一些注釋。這聽起來比實(shí)際上更復(fù)雜。下面是一個(gè)非常簡(jiǎn)單的示例,它使用標(biāo)記來注釋句子,這些標(biāo)記指示哪些單詞引用了命名實(shí)體(標(biāo)記為“Ent”)。

    Tom has dinner in Washington with Sally Ent - - - Ent - Ent

    自動(dòng)語(yǔ)音識(shí)別。對(duì)于語(yǔ)音識(shí)別,輸入序列是說話者的錄音(如圖 1.3.5所示),輸出是說話者所說內(nèi)容的文本記錄。挑戰(zhàn)在于音頻幀(聲音通常以 8kHz 或 16kHz 采樣)比文本多得多,即音頻和文本之間沒有 1:1 的對(duì)應(yīng)關(guān)系,因?yàn)閿?shù)千個(gè)樣本可能對(duì)應(yīng)于一個(gè)口語(yǔ)單詞。這些是序列到序列的學(xué)習(xí)問題,其中輸出比輸入短得多。


    圖 1.3.5在錄音中。-D-e-e-p- L-ea-r-ni-ng-

    文字轉(zhuǎn)語(yǔ)音。這與自動(dòng)語(yǔ)音識(shí)別相反。換句話說,輸入是文本,輸出是音頻文件。在這種情況下,輸出比輸入長(zhǎng)得多。雖然人類很容易識(shí)別出壞的音頻文件,但這對(duì)計(jì)算機(jī)來說并不是那么簡(jiǎn)單。

    機(jī)器翻譯。與語(yǔ)音識(shí)別的情況不同,其中相應(yīng)的輸入和輸出以相同的順序(對(duì)齊后)發(fā)生,在機(jī)器翻譯中,順序反轉(zhuǎn)可能至關(guān)重要。換句話說,雖然我們?nèi)栽趯⒁粋€(gè)序列轉(zhuǎn)換為另一個(gè)序列,但輸入和輸出的數(shù)量以及相應(yīng)數(shù)據(jù)示例的順序都不會(huì)被假設(shè)為相同??紤]以下德國(guó)人將動(dòng)詞放在句子末尾的特殊傾向的說明性示例。

    German: Haben Sie sich schon dieses grossartige Lehrwerk angeschaut? English: Did you already check out this excellent tutorial? Wrong alignment: Did you yourself already this excellent tutorial looked-at?

    在其他學(xué)習(xí)任務(wù)中會(huì)出現(xiàn)許多相關(guān)問題。例如,確定用戶閱讀網(wǎng)頁(yè)的順序是一個(gè)二維布局分析問題。對(duì)話問題表現(xiàn)出各種額外的復(fù)雜性,其中確定接下來要說什么需要考慮現(xiàn)實(shí)世界的知識(shí)和跨越很長(zhǎng)時(shí)間距離的對(duì)話的先前狀態(tài)。這些都是活躍的研究領(lǐng)域。

    1.3.2. 無監(jiān)督和自監(jiān)督學(xué)習(xí)

    到目前為止,所有示例都與監(jiān)督學(xué)習(xí)有關(guān),即我們?yōu)槟P吞峁┌卣骱拖鄳?yīng)標(biāo)簽值的巨大數(shù)據(jù)集的情況。你可以認(rèn)為受監(jiān)督的學(xué)習(xí)者擁有極其專業(yè)的工作和極其平庸的老板。老板站在你的肩膀上,準(zhǔn)確地告訴你在每種情況下該做什么,直到你學(xué)會(huì)從情況映射到行動(dòng)。為這樣的老板工作聽起來很蹩腳。另一方面,取悅這個(gè)老板很容易。您只需盡快識(shí)別模式并模仿他們的行為即可。

    以完全相反的方式,為一個(gè)不知道他們想要你做什么的老板工作可能會(huì)令人沮喪。然而,如果你打算成為一名數(shù)據(jù)科學(xué)家,你最好習(xí)慣它。老板可能只是給你一大堆數(shù)據(jù),然后告訴你用它做一些數(shù)據(jù)科學(xué)! 這聽起來很模糊,因?yàn)樗恰N覀儗⑦@類問題稱為 無監(jiān)督學(xué)習(xí),我們可以提出的問題類型和數(shù)量?jī)H受我們創(chuàng)造力的限制。我們將在后面的章節(jié)中討論無監(jiān)督學(xué)習(xí)技術(shù)。為了暫時(shí)激發(fā)您的興趣,我們描述了您可能會(huì)問的以下幾個(gè)問題。

    我們能不能找到少量能準(zhǔn)確概括數(shù)據(jù)的原型?給定一組照片,我們可以將它們分為風(fēng)景照片、狗、嬰兒、貓和山峰的照片嗎?同樣,給定一組用戶的瀏覽活動(dòng),我們可以將他們歸類為具有相似行為的用戶嗎?這個(gè)問題通常被稱為 集群。

    我們能否找到少量的參數(shù)來準(zhǔn)確捕捉數(shù)據(jù)的相關(guān)屬性?球的軌跡可以通過球的速度、直徑和質(zhì)量很好地描述。裁縫開發(fā)了少量參數(shù),可以相當(dāng)準(zhǔn)確地描述人體形狀,以達(dá)到合身的目的。這些問題被稱為子空間估計(jì)。如果相關(guān)性是線性的,則稱為主成分分析。

    歐幾里得空間中是否存在(任意結(jié)構(gòu)的)對(duì)象的表示,使得符號(hào)屬性可以很好地匹配?這可用于描述實(shí)體及其關(guān)系,例如“羅馬” ? “意大利” + “法國(guó)” = “巴黎”。

    是否描述了我們觀察到的大部分?jǐn)?shù)據(jù)的根本原因?例如,如果我們有關(guān)于房?jī)r(jià)、污染、犯罪、位置、教育和工資的人口統(tǒng)計(jì)數(shù)據(jù),我們能否僅根據(jù)經(jīng)驗(yàn)數(shù)據(jù)發(fā)現(xiàn)它們之間的關(guān)系?與因果關(guān)系和概率圖形模型相關(guān)的領(lǐng)域解決了這個(gè)問題。

    無監(jiān)督學(xué)習(xí)的另一個(gè)重要且令人興奮的最新發(fā)展是生成對(duì)抗網(wǎng)絡(luò)的出現(xiàn)。這些為我們提供了一種合成數(shù)據(jù)的程序方法,甚至是復(fù)雜的結(jié)構(gòu)化數(shù)據(jù),如圖像和音頻。底層統(tǒng)計(jì)機(jī)制是檢查真假數(shù)據(jù)是否相同的測(cè)試。

    作為無監(jiān)督學(xué)習(xí)的一種形式,自監(jiān)督學(xué)習(xí)利用未標(biāo)記的數(shù)據(jù)在訓(xùn)練中提供監(jiān)督,例如通過使用其他部分預(yù)測(cè)數(shù)據(jù)的某些保留部分。對(duì)于文本,我們可以通過使用大型語(yǔ)料庫(kù)中的周圍單詞(上下文)預(yù)測(cè)隨機(jī)掩碼的單詞來訓(xùn)練模型“填補(bǔ)空白”,而無需任何標(biāo)記工作[Devlin et al., 2018]!對(duì)于圖像,我們可以訓(xùn)練模型來判斷同一圖像的兩個(gè)裁剪區(qū)域之間的相對(duì)位置[Doersch et al., 2015]。在這兩個(gè)自我監(jiān)督學(xué)習(xí)的例子中,預(yù)測(cè)可能的單詞和相對(duì)位置的訓(xùn)練模型都是分類任務(wù)(來自監(jiān)督學(xué)習(xí))。

    1.3.3. 與環(huán)境交互

    到目前為止,我們還沒有討論數(shù)據(jù)實(shí)際來自哪里,或者當(dāng)機(jī)器學(xué)習(xí)模型生成輸出時(shí)實(shí)際發(fā)生了什么。這是因?yàn)楸O(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)并沒有以非常復(fù)雜的方式解決這些問題。在任何一種情況下,我們都會(huì)預(yù)先抓取一大堆數(shù)據(jù),然后讓我們的模式識(shí)別機(jī)器運(yùn)轉(zhuǎn)起來,而無需再次與環(huán)境交互。因?yàn)樗械膶W(xué)習(xí)都是在算法與環(huán)境斷開后進(jìn)行的,所以這有時(shí)被稱為離線學(xué)習(xí)。對(duì)于監(jiān)督學(xué)習(xí),考慮從環(huán)境中收集數(shù)據(jù)的過程如圖 1.3.6 所示。

    圖 1.3.6從環(huán)境中收集數(shù)據(jù)進(jìn)行監(jiān)督學(xué)習(xí)。

    這種離線學(xué)習(xí)的簡(jiǎn)單性有其魅力。好處是我們可以孤立地?fù)?dān)心模式識(shí)別,而不會(huì)分心這些其他問題。但缺點(diǎn)是問題的表述非常有限。如果你更有野心,或者如果你從小就讀過阿西莫夫的機(jī)器人系列,那么你可能會(huì)想象人工智能機(jī)器人不僅能夠做出預(yù)測(cè),還能在世界上采取行動(dòng)。我們想考慮智能代理,而不僅僅是預(yù)測(cè)模型。這意味著我們需要考慮選擇行動(dòng),而不僅僅是做出預(yù)測(cè)。此外,與預(yù)測(cè)不同,行動(dòng)實(shí)際上會(huì)影響環(huán)境。如果我們想訓(xùn)練一個(gè)智能代理,我們必須考慮其行為可能影響代理未來觀察的方式。

    考慮與環(huán)境的交互會(huì)引發(fā)一整套新的建模問題。以下只是幾個(gè)例子。

    • 環(huán)境是否記得我們之前所做的事情?

    • 環(huán)境是否想幫助我們,例如,用戶將文本讀入語(yǔ)音識(shí)別器?

    • 環(huán)境是否想擊敗我們,即像垃圾郵件過濾(針對(duì)垃圾郵件發(fā)送者)或玩游戲(與對(duì)手)這樣的對(duì)抗環(huán)境?

    • 環(huán)境不在乎嗎?

    • 環(huán)境是否有動(dòng)態(tài)變化?例如,未來的數(shù)據(jù)是否總是與過去相似,或者模式是否會(huì)隨著時(shí)間而變化,無論是自然地還是響應(yīng)我們的自動(dòng)化工具?

    當(dāng)訓(xùn)練和測(cè)試數(shù)據(jù)不同時(shí),最后一個(gè)問題提出了分布偏移的問題。這是我們大多數(shù)人在參加講師撰寫的考試時(shí)遇到的問題,而作業(yè)是由他的助教撰寫的。接下來,我們將簡(jiǎn)要描述強(qiáng)化學(xué)習(xí),這是一種明確考慮與環(huán)境交互的設(shè)置。

    1.3.4。強(qiáng)化學(xué)習(xí)

    如果您有興趣使用機(jī)器學(xué)習(xí)來開發(fā)與環(huán)境交互并采取行動(dòng)的代理,那么您可能最終會(huì)專注于強(qiáng)化學(xué)習(xí)。這可能包括應(yīng)用于機(jī)器人技術(shù)、對(duì)話系統(tǒng),甚至開發(fā)用于視頻游戲的人工智能 (AI)。將深度學(xué)習(xí)應(yīng)用于強(qiáng)化學(xué)習(xí)問題的深度強(qiáng)化學(xué)習(xí)已經(jīng)大受歡迎。僅使用視覺輸入在 Atari 游戲中擊敗人類的突破性深度 Q 網(wǎng)絡(luò),以及在棋盤游戲 Go 中擊敗世界冠軍的 AlphaGo 程序就是兩個(gè)突出的例子。

    強(qiáng)化學(xué)習(xí)給出了一個(gè)非常一般的問題陳述,其中代理在一系列時(shí)間步長(zhǎng)上與環(huán)境交互。在每個(gè)時(shí)間步,代理接收來自環(huán)境的一些觀察,并且必須選擇隨后通過某種機(jī)制(有時(shí)稱為執(zhí)行器)傳輸回環(huán)境的動(dòng)作。最后,代理從環(huán)境中獲得獎(jiǎng)勵(lì)。該過程如圖 1.3.7 所示。然后代理接收后續(xù)觀察,并選擇后續(xù)動(dòng)作,依此類推。強(qiáng)化學(xué)習(xí)代理的行為由策略控制。簡(jiǎn)而言之,政策只是一個(gè)將環(huán)境觀察映射到動(dòng)作的函數(shù)。強(qiáng)化學(xué)習(xí)的目標(biāo)是產(chǎn)生一個(gè)好的策略。

    圖 1.3.7強(qiáng)化學(xué)習(xí)與環(huán)境的交互。

    很難夸大強(qiáng)化學(xué)習(xí)框架的普遍性。例如,我們可以將任何監(jiān)督學(xué)習(xí)問題視為強(qiáng)化學(xué)習(xí)問題。假設(shè)我們有一個(gè)分類問題。我們可以創(chuàng)建一個(gè)強(qiáng)化學(xué)習(xí)代理,每個(gè)類別對(duì)應(yīng)一個(gè)動(dòng)作。然后,我們可以創(chuàng)建一個(gè)環(huán)境,該環(huán)境給出的獎(jiǎng)勵(lì)與原始監(jiān)督學(xué)習(xí)問題的損失函數(shù)完全相同。

    話雖如此,強(qiáng)化學(xué)習(xí)還可以解決監(jiān)督學(xué)習(xí)無法解決的許多問題。例如,在監(jiān)督學(xué)習(xí)中,我們總是期望訓(xùn)練輸入與正確的標(biāo)簽相關(guān)聯(lián)。但是在強(qiáng)化學(xué)習(xí)中,我們并不假設(shè)對(duì)于每次觀察,環(huán)境都會(huì)告訴我們最佳行動(dòng)。一般來說,我們只是得到一些獎(jiǎng)勵(lì)。此外,環(huán)境甚至可能不會(huì)告訴我們哪些行為導(dǎo)致了獎(jiǎng)勵(lì)。

    以國(guó)際象棋為例。唯一真正的獎(jiǎng)勵(lì)信號(hào)出現(xiàn)在游戲結(jié)束時(shí),當(dāng)我們贏了,我們可以分配獎(jiǎng)勵(lì) 1,或者當(dāng)我們輸了,我們可以分配 -1 的獎(jiǎng)勵(lì)。因此,強(qiáng)化學(xué)習(xí)者必須處理信用分配問題:確定哪些行為應(yīng)歸功于或歸咎于結(jié)果。對(duì)于在 10 月 11 日獲得晉升的員工也是如此。該晉升可能反映了上一年大量精心挑選的行動(dòng)。未來獲得更多晉升需要弄清楚在此過程中采取的行動(dòng)導(dǎo)致了晉升。

    強(qiáng)化學(xué)習(xí)器可能還必須處理部分可觀察性的問題。也就是說,當(dāng)前的觀察可能無法告訴您有關(guān)當(dāng)前狀態(tài)的所有信息。假設(shè)一個(gè)清潔機(jī)器人發(fā)現(xiàn)自己被困在一所房子的許多相同壁櫥中。推斷機(jī)器人的精確位置(以及狀態(tài))可能需要在進(jìn)入壁櫥之前考慮其先前的觀察結(jié)果。

    最后,在任何給定點(diǎn),強(qiáng)化學(xué)習(xí)者可能知道一個(gè)好的策略,但可能還有許多其他更好的策略,代理從未嘗試過。強(qiáng)化學(xué)習(xí)者必須不斷選擇是利用當(dāng)前已知的最佳策略作為策略,還是探索策略空間,可能會(huì)放棄一些短期獎(jiǎng)勵(lì)以換取知識(shí)。

    一般的強(qiáng)化學(xué)習(xí)問題是一個(gè)非常普遍的設(shè)置。行動(dòng)會(huì)影響隨后的觀察。僅根據(jù)所選操作觀察獎(jiǎng)勵(lì)。可以完全或部分地觀察環(huán)境。一次性考慮所有這些復(fù)雜性可能對(duì)研究人員提出太多要求。此外,并非每個(gè)實(shí)際問題都表現(xiàn)出所有這些復(fù)雜性。因此,研究人員研究了一些強(qiáng)化學(xué)習(xí)問題的特殊情況。

    當(dāng)環(huán)境被充分觀察時(shí),我們將強(qiáng)化學(xué)習(xí)問題稱為馬爾可夫決策過程。當(dāng)狀態(tài)不依賴于先前的動(dòng)作時(shí),我們稱該問題為上下文強(qiáng)盜問題。當(dāng)沒有狀態(tài),只有一組初始未知獎(jiǎng)勵(lì)的可用動(dòng)作時(shí),這個(gè)問題就是經(jīng)典的多臂老虎機(jī)問題。

    1.4. 歷史

    我們剛剛回顧了機(jī)器學(xué)習(xí)可以解決的一小部分問題。對(duì)于各種各樣的機(jī)器學(xué)習(xí)問題,深度學(xué)習(xí)提供了強(qiáng)大的工具來解決這些問題。盡管許多深度學(xué)習(xí)方法都是最近才發(fā)明的,但使用數(shù)據(jù)和神經(jīng)網(wǎng)絡(luò)(許多深度學(xué)習(xí)模型的名稱)進(jìn)行編程的核心思想已經(jīng)研究了幾個(gè)世紀(jì)。事實(shí)上,長(zhǎng)期以來,人類一直渴望分析數(shù)據(jù)和預(yù)測(cè)未來結(jié)果,而大部分自然科學(xué)都源于此。例如,伯努利分布以Jacob Bernoulli (1655-1705)命名,而高斯分布由Carl Friedrich Gauss (1777-1855)發(fā)現(xiàn). 例如,他發(fā)明了最小均方算法,該算法至今仍被用于解決從保險(xiǎn)計(jì)算到醫(yī)療診斷等無數(shù)問題。這些工具催生了自然科學(xué)中的實(shí)驗(yàn)方法——例如,與電阻器中的電流和電壓相關(guān)的歐姆定律可以用線性模型完美地描述。

    即使在中世紀(jì),數(shù)學(xué)家也對(duì)估計(jì)有著敏銳的直覺。例如,雅各布·科貝爾 (Jacob K?bel,1460-1533)的幾何書 說明了對(duì) 16 名成年男性腳的長(zhǎng)度進(jìn)行平均以獲得平均腳長(zhǎng)。

    圖 1.4.1估計(jì)腳的長(zhǎng)度。

    圖 1.4.1說明了這個(gè)估計(jì)器是如何工作的。16名成年男子在離開教堂時(shí)被要求排成一排。然后將它們的總長(zhǎng)度除以 16,以獲得現(xiàn)在為 1 英尺的估計(jì)值。這個(gè)“算法”后來被改進(jìn)以處理畸形的腳——腳最短和最長(zhǎng)的 2 人分別被送走,只對(duì)其余的人取平均值。這是修剪平均估計(jì)的最早示例之一。

    隨著數(shù)據(jù)的收集和可用性,統(tǒng)計(jì)數(shù)據(jù)真正起飛。它的一位巨匠Ronald Fisher (1890-1962)對(duì)其理論及其在遺傳學(xué)中的應(yīng)用做出了重大貢獻(xiàn)。他的許多算法(如線性判別分析)和公式(如Fisher信息矩陣)至今仍在頻繁使用。事實(shí)上,即使是 Fisher 在 1936 年發(fā)布的 Iris 數(shù)據(jù)集,有時(shí)仍然被用來說明機(jī)器學(xué)習(xí)算法。他也是優(yōu)生學(xué)的支持者,這應(yīng)該提醒我們,數(shù)據(jù)科學(xué)在道德上的可疑使用與其在工業(yè)和自然科學(xué)中的生產(chǎn)性使用一樣悠久而持久。

    對(duì)機(jī)器學(xué)習(xí)的第二個(gè)影響來自 Claude Shannon (1916-2001)的信息論和Alan Turing (1912-1954)的計(jì)算理論。圖靈提出了“機(jī)器能思考嗎?”的問題。在他著名的論文Computer Machinery and Intelligence [Turing, 1950]中。在他所說的圖靈測(cè)試中,如果人類評(píng)估者難以根據(jù)文本交互區(qū)分來自機(jī)器和人類的回復(fù),則可以認(rèn)為機(jī)器是智能的。

    另一個(gè)影響可以在神經(jīng)科學(xué)和心理學(xué)中找到。畢竟,人類顯然表現(xiàn)出智能行為。因此,詢問是否可以解釋并可能對(duì)這種能力進(jìn)行逆向工程是合理的。以這種方式啟發(fā)的最古老的算法之一是由Donald Hebb (1904-1985)制定的。在他的開創(chuàng)性著作《行為的組織》 [Hebb & Hebb, 1949],他假設(shè)神經(jīng)元通過正強(qiáng)化學(xué)習(xí)。這被稱為赫布學(xué)習(xí)規(guī)則。它是 Rosenblatt 感知器學(xué)習(xí)算法的原型,它為當(dāng)今支持深度學(xué)習(xí)的許多隨機(jī)梯度下降算法奠定了基礎(chǔ):強(qiáng)化理想行為并減少不良行為,以獲得神經(jīng)網(wǎng)絡(luò)中參數(shù)的良好設(shè)置。

    生物靈感是神經(jīng)網(wǎng)絡(luò)得名的原因。一個(gè)多世紀(jì)以來(可追溯到 Alexander Bain,1873 年和 James Sherrington,1890 年的模型),研究人員一直試圖組裝類似于相互作用神經(jīng)元網(wǎng)絡(luò)的計(jì)算電路。隨著時(shí)間的推移,對(duì)生物學(xué)的解釋已經(jīng)變得不那么字面了,但名字卻被保留了下來。其核心是當(dāng)今大多數(shù)網(wǎng)絡(luò)中都可以找到的一些關(guān)鍵原則:

    線性和非線性處理單元的交替,通常稱為層。

    使用鏈?zhǔn)椒▌t(也稱為反向傳播)一次調(diào)整整個(gè)網(wǎng)絡(luò)中的參數(shù)。

    在最初的快速進(jìn)展之后,神經(jīng)網(wǎng)絡(luò)的研究從 1995 年左右一直到 2005 年都萎靡不振。這主要是由于兩個(gè)原因。首先,訓(xùn)練網(wǎng)絡(luò)在計(jì)算上非常昂貴。雖然在上個(gè)世紀(jì)末隨機(jī)存取存儲(chǔ)器很豐富,但計(jì)算能力卻很匱乏。其次,數(shù)據(jù)集相對(duì)較小。事實(shí)上,Fisher 1932 年的 Iris 數(shù)據(jù)集是測(cè)試算法有效性的流行工具。具有 60000 個(gè)手寫數(shù)字的 MNIST 數(shù)據(jù)集被認(rèn)為是巨大的。

    鑒于數(shù)據(jù)和計(jì)算的稀缺性,強(qiáng)大的統(tǒng)計(jì)工具(如核方法、決策樹和圖形模型)在經(jīng)驗(yàn)上證明是優(yōu)越的。與神經(jīng)網(wǎng)絡(luò)不同,它們不需要數(shù)周的訓(xùn)練,并提供具有強(qiáng)大理論保證的可預(yù)測(cè)結(jié)果。

    1.5。深度學(xué)習(xí)之路

    由于萬(wàn)維網(wǎng)、為數(shù)億在線用戶提供服務(wù)的公司的出現(xiàn)、廉價(jià)、高質(zhì)量傳感器的傳播、廉價(jià)的數(shù)據(jù)存儲(chǔ)(克萊德定律),這在很大程度上隨著大量數(shù)據(jù)的隨時(shí)可用而發(fā)生了變化,以及廉價(jià)的計(jì)算(摩爾定律),特別是 GPU 的形式,最初是為計(jì)算機(jī)游戲而設(shè)計(jì)的。突然之間,似乎在計(jì)算上不可行的算法和模型變得相關(guān)(反之亦然)。這在表 1.5.1中得到了最好的說明。

    表 1.5.1數(shù)據(jù)集與計(jì)算機(jī)內(nèi)存和計(jì)算能力

    很明顯,隨機(jī)存取存儲(chǔ)器并沒有跟上數(shù)據(jù)增長(zhǎng)的步伐。與此同時(shí),計(jì)算能力的增長(zhǎng)已經(jīng)超過了可用數(shù)據(jù)的增長(zhǎng)速度。這意味著統(tǒng)計(jì)模型需要提高內(nèi)存效率(這通常通過添加非線性來實(shí)現(xiàn)),同時(shí)由于計(jì)算預(yù)算增加,需要花費(fèi)更多時(shí)間優(yōu)化這些參數(shù)。因此,機(jī)器學(xué)習(xí)和統(tǒng)計(jì)的最佳點(diǎn)從(廣義)線性模型和核方法轉(zhuǎn)移到了深度神經(jīng)網(wǎng)絡(luò)。這也是為什么許多深度學(xué)習(xí)中流砥柱的原因之一,例如多層感知器 [McCulloch & Pitts, 1943]、卷積神經(jīng)網(wǎng)絡(luò) [LeCun et al., 1998]、長(zhǎng)短期記憶 [Hochreiter & Schmidhuber, 1997]和 Q-Learning [Watkins & Dayan, 1992]在相對(duì)休眠相當(dāng)長(zhǎng)一段時(shí)間后,在過去十年中基本上被“重新發(fā)現(xiàn)”。

    統(tǒng)計(jì)模型、應(yīng)用程序和算法的最新進(jìn)展有時(shí)被比作寒武紀(jì)大爆發(fā):物種進(jìn)化的快速進(jìn)展時(shí)刻。事實(shí)上,最先進(jìn)的技術(shù)不僅僅是可用資源的結(jié)果,它適用于幾十年前的算法。請(qǐng)注意,下面的列表幾乎沒有觸及幫助研究人員在過去十年中取得巨大進(jìn)步的想法的表面。

    • 容量控制的新方法,例如dropout [Srivastava et al., 2014],有助于減輕過度擬合的危險(xiǎn)。這是通過在整個(gè)神經(jīng)網(wǎng)絡(luò)中應(yīng)用噪聲注入[Bishop, 1995]來實(shí)現(xiàn)的,將權(quán)重替換為用于訓(xùn)練目的的隨機(jī)變量。

    • 注意力機(jī)制解決了困擾統(tǒng)計(jì)學(xué)一個(gè)多世紀(jì)的第二個(gè)問題:如何在不增加可學(xué)習(xí)參數(shù)數(shù)量的情況下增加系統(tǒng)的內(nèi)存和復(fù)雜性。研究人員通過使用只能被視為可學(xué)習(xí)的指針結(jié)構(gòu)找到了一個(gè)優(yōu)雅的解決方案 [Bahdanau et al., 2014]。不必記住整個(gè)文本序列,例如,對(duì)于固定維度表示的機(jī)器翻譯,需要存儲(chǔ)的只是指向翻譯過程中間狀態(tài)的指針。這允許顯著提高長(zhǎng)序列的準(zhǔn)確性,因?yàn)槟P筒辉傩枰陂_始生成新序列之前記住整個(gè)序列。

    • 多階段設(shè)計(jì),例如,通過記憶網(wǎng)絡(luò) [Sukhbaatar et al., 2015]和神經(jīng)程序解釋器[Reed & DeFreitas, 2015]允許統(tǒng)計(jì)建模者描述迭代的推理方法。這些工具允許重復(fù)修改深度神經(jīng)網(wǎng)絡(luò)的內(nèi)部狀態(tài),從而在推理鏈中執(zhí)行后續(xù)步驟,類似于處理器如何修改內(nèi)存以進(jìn)行計(jì)算。

    • 另一個(gè)關(guān)鍵發(fā)展是生成對(duì)抗網(wǎng)絡(luò)的發(fā)明[Goodfellow et al., 2014]. 傳統(tǒng)上,用于密度估計(jì)和生成模型的統(tǒng)計(jì)方法側(cè)重于尋找適當(dāng)?shù)母怕史植己?#xff08;通常是近似的)從中采樣的算法。因此,這些算法在很大程度上受到統(tǒng)計(jì)模型缺乏靈活性的限制。生成對(duì)抗網(wǎng)絡(luò)的關(guān)鍵創(chuàng)新是用具有可微參數(shù)的任意算法替換采樣器。然后以鑒別器(實(shí)際上是雙樣本測(cè)試)無法區(qū)分假數(shù)據(jù)和真實(shí)數(shù)據(jù)的方式對(duì)這些數(shù)據(jù)進(jìn)行調(diào)整。通過使用任意算法生成數(shù)據(jù)的能力,它為各種技術(shù)開辟了密度估計(jì)。疾馳的斑馬 [Zhu et al., 2017]和假名人面孔的 例子[Karras et al., 2017]都證明了這一進(jìn)步。即使是業(yè)余涂鴉者也可以僅根據(jù)描述場(chǎng)景布局的草圖來制作逼真的圖像[Park et al., 2019]。

    • 在許多情況下,單個(gè) GPU 不足以處理大量可用于訓(xùn)練的數(shù)據(jù)。在過去的十年中,構(gòu)建并行和分布式訓(xùn)練算法的能力得到了顯著提高。設(shè)計(jì)可擴(kuò)展算法的關(guān)鍵挑戰(zhàn)之一是深度學(xué)習(xí)優(yōu)化的主力,隨機(jī)梯度下降,依賴于要處理的相對(duì)較小的小批量數(shù)據(jù)。同時(shí),小批量限制了 GPU 的效率。因此,在 1024 個(gè) GPU 上進(jìn)行小批量訓(xùn)練,例如每批 32 張圖像,總計(jì)約 32000 張圖像的小批量。最近的工作,首先是 Li [Li, 2017],隨后是 [You et al., 2017]和[Jia et al., 2018] 將大小提高到 64000 個(gè)觀察值,將 ResNet-50 模型在 ImageNet 數(shù)據(jù)集上的訓(xùn)練時(shí)間減少到不到 7 分鐘。為了比較——最初的訓(xùn)練時(shí)間是以天為單位測(cè)量的。

    • 并行計(jì)算的能力也對(duì)強(qiáng)化學(xué)習(xí)的進(jìn)步做出了相當(dāng)重要的貢獻(xiàn),至少在模擬是一種選擇時(shí)是這樣。這導(dǎo)致計(jì)算機(jī)在圍棋、雅達(dá)利游戲、星際爭(zhēng)霸和物理模擬(例如,使用 MuJoCo)中實(shí)現(xiàn)超人性能方面取得了重大進(jìn)展。例如,參見 [Silver et al., 2016],了解如何在 AlphaGo 中實(shí)現(xiàn)這一目標(biāo)。簡(jiǎn)而言之,如果有大量(狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì))三元組可用,即只要有可能嘗試很多事情來了解它們之間的關(guān)系,強(qiáng)化學(xué)習(xí)效果最好。模擬提供了這樣的途徑。

    • 深度學(xué)習(xí)框架在傳播思想方面發(fā)揮了至關(guān)重要的作用。允許輕松建模的第一代框架包括Caffe、 Torch和 Theano。許多開創(chuàng)性的論文都是使用這些工具編寫的。到目前為止,它們已被 TensorFlow(通常通過其高級(jí) API Keras使用)、 CNTK、Caffe 2和Apache MXNet 所取代。第三代工具,即用于深度學(xué)習(xí)的命令式工具,可以說是由 Chainer帶頭的,它使用類似于 Python NumPy 的語(yǔ)法來描述模型。這個(gè)想法被PyTorch和MXNet 的 Gluon API和 Jax。

    構(gòu)建更好工具的系統(tǒng)研究人員和構(gòu)建更好神經(jīng)網(wǎng)絡(luò)的統(tǒng)計(jì)建模人員之間的分工大大簡(jiǎn)化了事情。例如,訓(xùn)練一個(gè)線性邏輯回歸模型曾經(jīng)是一個(gè)不平凡的家庭作業(yè)問題,值得給新的機(jī)器學(xué)習(xí)博士。2014年卡內(nèi)基梅隆大學(xué)的學(xué)生。到現(xiàn)在,這個(gè)任務(wù)用不到10行代碼就可以完成,牢牢掌握在程序員的手中。

    1.6. 成功的故事

    人工智能在交付成果方面有著悠久的歷史,否則這些成果將難以實(shí)現(xiàn)。例如,自 1990 年代以來就已經(jīng)部署了使用光學(xué)字符識(shí)別的郵件分揀系統(tǒng)。畢竟,這是著名的 MNIST 手寫數(shù)字?jǐn)?shù)據(jù)集的來源。這同樣適用于閱讀銀行存款支票和對(duì)申請(qǐng)人的信用評(píng)分。自動(dòng)檢查金融交易是否存在欺詐行為。這構(gòu)成了許多電子商務(wù)支付系統(tǒng)的支柱,例如 PayPal、Stripe、支付寶、微信、Apple、Visa 和 MasterCard。幾十年來,國(guó)際象棋計(jì)算機(jī)程序一直具有競(jìng)爭(zhēng)力。機(jī)器學(xué)習(xí)提供互聯(lián)網(wǎng)上的搜索、推薦、個(gè)性化和排名。換句話說,機(jī)器學(xué)習(xí)無處不在,盡管經(jīng)常隱藏在視線之外。

    直到最近,人工智能才成為人們關(guān)注的焦點(diǎn),主要是因?yàn)榻鉀Q了以前被認(rèn)為難以解決且與消費(fèi)者直接相關(guān)的問題。許多這樣的進(jìn)步歸功于深度學(xué)習(xí)。

    • 智能助手,如蘋果的 Siri、亞馬遜的 Alexa 和谷歌的助手,能夠以合理的準(zhǔn)確度回答口語(yǔ)問題。這包括一些瑣碎的任務(wù),例如打開電燈開關(guān)(對(duì)殘疾人士的恩惠)、預(yù)約理發(fā)師和提供電話支持對(duì)話。這可能是人工智能正在影響我們生活的最明顯跡象。

    • 數(shù)字助理的一個(gè)關(guān)鍵要素是準(zhǔn)確識(shí)別語(yǔ)音的能力。此類系統(tǒng)的準(zhǔn)確性逐漸提高到在某些應(yīng)用中達(dá)到與人類相同的程度[Xiong et al., 2018]。

    • 對(duì)象識(shí)別同樣取得了長(zhǎng)足的進(jìn)步。在 2010 年,估計(jì)圖片中的對(duì)象是一項(xiàng)相當(dāng)具有挑戰(zhàn)性的任務(wù)。在 ImageNet 基準(zhǔn)測(cè)試中,NEC 實(shí)驗(yàn)室和伊利諾伊大學(xué)厄巴納-香檳分校的研究人員實(shí)現(xiàn)了 28% 的 top-5 錯(cuò)誤率 [Lin et al., 2010]。到 2017 年,這個(gè)錯(cuò)誤率降低到 2.25% [Hu et al., 2018]。同樣,在識(shí)別鳥類或診斷皮膚癌方面也取得了驚人的成果。

    • 游戲曾經(jīng)是人類智慧的堡壘。從 TD-Gammon 開始,一個(gè)使用時(shí)間差異強(qiáng)化學(xué)習(xí)、算法和計(jì)算進(jìn)步來玩西洋雙陸棋的程序已經(jīng)產(chǎn)生了適用于廣泛應(yīng)用的算法。與西洋雙陸棋不同,國(guó)際象棋的狀態(tài)空間和動(dòng)作集要復(fù)雜得多。DeepBlue 使用大規(guī)模并行性、專用硬件和通過博弈樹進(jìn)行高效搜索擊敗了 Garry Kasparov [Campbell et al., 2002]。由于其巨大的狀態(tài)空間,圍棋更加困難。AlphaGo 在 2015 年使用深度學(xué)習(xí)與蒙特卡洛樹采樣相結(jié)合,達(dá)到了人類水平 [Silver et al., 2016]. 撲克中的挑戰(zhàn)是狀態(tài)空間很大并且沒有被完全觀察到(我們不知道對(duì)手的牌)。Libratus 使用有效的結(jié)構(gòu)化策略在撲克中超越了人類的表現(xiàn) [Brown & Sandholm, 2017]。這說明了游戲中令人印象深刻的進(jìn)步以及高級(jí)算法在其中發(fā)揮了關(guān)鍵作用的事實(shí)。

    • 人工智能進(jìn)步的另一個(gè)跡象是自動(dòng)駕駛汽車和卡車的出現(xiàn)。雖然目前還沒有完全實(shí)現(xiàn)完全自治,但在這個(gè)方向上已經(jīng)取得了巨大的進(jìn)展,特斯拉、英偉達(dá)和 Waymo 等公司推出的產(chǎn)品至少可以實(shí)現(xiàn)部分自治。完全自動(dòng)駕駛之所以如此具有挑戰(zhàn)性,是因?yàn)檎_的駕駛需要有感知、推理和將規(guī)則整合到系統(tǒng)中的能力。目前,深度學(xué)習(xí)主要用于這些問題的計(jì)算機(jī)視覺方面。其余部分由工程師大量調(diào)整。

    同樣,上面的列表幾乎沒有觸及機(jī)器學(xué)習(xí)影響實(shí)際應(yīng)用的表面。例如,機(jī)器人學(xué)、物流學(xué)、計(jì)算生物學(xué)、粒??子物理學(xué)和天文學(xué)至少部分歸功于機(jī)器學(xué)習(xí)。因此,機(jī)器學(xué)習(xí)正成為工程師和科學(xué)家無處不在的工具。

    人工智能啟示錄或人工智能奇點(diǎn)的問題經(jīng)常在關(guān)于人工智能的非技術(shù)文章中提出。令人擔(dān)憂的是,機(jī)器學(xué)習(xí)系統(tǒng)會(huì)以某種方式變得有感知力,并獨(dú)立于程序員(和大師)決定直接影響人類生計(jì)的事情。在某種程度上,人工智能已經(jīng)以直接的方式影響了人類的生計(jì):信用度是自動(dòng)評(píng)估的,自動(dòng)駕駛儀主要用于導(dǎo)航車輛,是否準(zhǔn)予保釋的決定使用統(tǒng)計(jì)數(shù)據(jù)作為輸入。更輕浮的是,我們可以讓 Alexa 打開咖啡機(jī)。

    幸運(yùn)的是,我們遠(yuǎn)不是一個(gè)準(zhǔn)備好操縱其人類創(chuàng)造者(或燒掉他們的咖啡)的有感知力的人工智能系統(tǒng)。首先,人工智能系統(tǒng)是以特定的、面向目標(biāo)的方式設(shè)計(jì)、訓(xùn)練和部署的。雖然他們的行為可能給人一種普遍智能的錯(cuò)覺,但它是設(shè)計(jì)基礎(chǔ)的規(guī)則、啟發(fā)式和統(tǒng)計(jì)模型的組合。其次,目前的 通用人工智能工具根本不存在能夠自我改進(jìn)、自我推理以及能夠在嘗試解決通用任務(wù)的同時(shí)修改、擴(kuò)展和改進(jìn)自己的架構(gòu)的工具。

    一個(gè)更緊迫的問題是人工智能如何在我們的日常生活中被使用??ㄜ囁緳C(jī)和店員完成的許多瑣碎任務(wù)很可能可以并且將會(huì)實(shí)現(xiàn)自動(dòng)化。農(nóng)場(chǎng)機(jī)器人可能會(huì)降低有機(jī)農(nóng)業(yè)的成本,但它們也會(huì)使收割作業(yè)自動(dòng)化。工業(yè)革命的這一階段可能會(huì)對(duì)大部分社會(huì)產(chǎn)生深遠(yuǎn)的影響,因?yàn)榭ㄜ囁緳C(jī)和店員是許多國(guó)家最常見的工作。此外,如果不加注意地應(yīng)用統(tǒng)計(jì)模型,可能會(huì)導(dǎo)致種族、性別或年齡偏見,如果自動(dòng)驅(qū)動(dòng)相應(yīng)的決策,則會(huì)引起對(duì)程序公平性的合理?yè)?dān)憂。確保謹(jǐn)慎使用這些算法很重要。

    1.7. 特征

    到目前為止,我們已經(jīng)廣泛地討論了機(jī)器學(xué)習(xí),它既是人工智能的一個(gè)分支,也是人工智能的一種方法。盡管深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)子集,但令人眼花繚亂的算法和應(yīng)用程序集使得很難評(píng)估深度學(xué)習(xí)的具體成分可能是什么。這就像試圖確定披薩所需的成分一樣困難,因?yàn)閹缀趺總€(gè)成分都是可以替代的。

    正如我們所描述的,機(jī)器學(xué)習(xí)可以使用數(shù)據(jù)來學(xué)習(xí)輸入和輸出之間的轉(zhuǎn)換,例如在語(yǔ)音識(shí)別中將音頻轉(zhuǎn)換為文本。這樣做時(shí),通常需要以適合算法的方式表示數(shù)據(jù),以將這些表示轉(zhuǎn)換為輸出。深度學(xué)習(xí)的深度正是因?yàn)樗哪P蛯W(xué)習(xí)了許多層的轉(zhuǎn)換,其中每一層都提供一個(gè)級(jí)別的表示。例如,靠近輸入的層可能代表數(shù)據(jù)的低級(jí)細(xì)節(jié),而靠近分類輸出的層可能代表用于區(qū)分的更抽象的概念。由于表示學(xué)習(xí)深度學(xué)習(xí)旨在尋找表征本身,可以稱為多級(jí)表征學(xué)習(xí)。

    到目前為止,我們討論的問題,例如從原始音頻信號(hào)中學(xué)習(xí),圖像的原始像素值,或任意長(zhǎng)度的句子與外語(yǔ)對(duì)應(yīng)物之間的映射,都是深度學(xué)習(xí)擅長(zhǎng)的問題,也是傳統(tǒng)機(jī)器學(xué)習(xí)擅長(zhǎng)的問題。方法步履蹣跚。事實(shí)證明,這些多層模型能夠以以前的工具無法解決的方式處理低級(jí)感知數(shù)據(jù)??梢哉f,深度學(xué)習(xí)方法最重要的共同點(diǎn)是使用端到端訓(xùn)練。也就是說,不是基于單獨(dú)調(diào)整的組件組裝系統(tǒng),而是構(gòu)建系統(tǒng)然后共同調(diào)整它們的性能。例如,在計(jì)算機(jī)視覺中,科學(xué)家們用來分離特征工程的過程從構(gòu)建機(jī)器學(xué)習(xí)模型的過程中。Canny 邊緣檢測(cè)器 [Canny, 1987]和 Lowe 的 SIFT 特征提取器 [Lowe, 2004]作為將圖像映射到特征向量的算法占據(jù)主導(dǎo)地位十多年。在過去的日子里,將機(jī)器學(xué)習(xí)應(yīng)用于這些問題的關(guān)鍵部分包括提出手動(dòng)設(shè)計(jì)的方法,將數(shù)據(jù)轉(zhuǎn)換為某種適合淺層模型的形式。不幸的是,與算法自動(dòng)執(zhí)行的對(duì)數(shù)百萬(wàn)個(gè)選擇的一致評(píng)估相比,人類通過獨(dú)創(chuàng)性可以完成的工作很少。當(dāng)深度學(xué)習(xí)接管時(shí),這些特征提取器被自動(dòng)調(diào)整的過濾器所取代,從而產(chǎn)生了卓越的準(zhǔn)確性。

    因此,深度學(xué)習(xí)的一個(gè)關(guān)鍵優(yōu)勢(shì)在于它不僅取代了傳統(tǒng)學(xué)習(xí)管道末端的淺層模型,而且取代了特征工程的勞動(dòng)密集型過程。此外,通過取代大部分特定領(lǐng)域的預(yù)處理,深度學(xué)習(xí)消除了許多以前分隔計(jì)算機(jī)視覺、語(yǔ)音識(shí)別、自然語(yǔ)言處理、醫(yī)學(xué)信息學(xué)和其他應(yīng)用領(lǐng)域的界限,提供了一套統(tǒng)一的工具來解決各種問題。

    除了端到端訓(xùn)練之外,我們正在經(jīng)歷從參數(shù)統(tǒng)計(jì)描述到完全非參數(shù)模型的轉(zhuǎn)變。當(dāng)數(shù)據(jù)稀缺時(shí),需要依靠簡(jiǎn)化對(duì)現(xiàn)實(shí)的假設(shè)來獲得有用的模型。當(dāng)數(shù)據(jù)豐富時(shí),可以用更準(zhǔn)確地?cái)M合現(xiàn)實(shí)的非參數(shù)模型來代替。在某種程度上,這反映了物理學(xué)在上世紀(jì)中葉隨著計(jì)算機(jī)的出現(xiàn)而取得的進(jìn)步。與其手動(dòng)求解電子行為的參數(shù)近似,現(xiàn)在可以求助于相關(guān)偏微分方程的數(shù)值模擬。這導(dǎo)致了更準(zhǔn)確的模型,盡管通常以犧牲可解釋性為代價(jià)。

    與以前工作的另一個(gè)區(qū)別是接受次優(yōu)解決方案,處理非凸非線性優(yōu)化問題,以及在證明它們之前嘗試事物的意愿。這種在處理統(tǒng)計(jì)問題方面新發(fā)現(xiàn)的經(jīng)驗(yàn)主義,再加上人才的迅速涌入,導(dǎo)致了實(shí)用算法的快速發(fā)展,盡管在許多情況下是以修改和重新發(fā)明存在了幾十年的工具為代價(jià)的。

    最后,深度學(xué)習(xí)社區(qū)以跨學(xué)術(shù)和企業(yè)邊界共享工具而自豪,發(fā)布了許多優(yōu)秀的庫(kù)、統(tǒng)計(jì)模型和訓(xùn)練有素的網(wǎng)絡(luò)作為開源。正是本著這種精神,構(gòu)成本書的筆記本可以免費(fèi)分發(fā)和使用。我們一直在努力降低每個(gè)人學(xué)習(xí)深度學(xué)習(xí)的門檻,我們希望我們的讀者能從中受益。

    1.8. 概括

    機(jī)器學(xué)習(xí)研究計(jì)算機(jī)系統(tǒng)如何利用經(jīng)驗(yàn)(通常是數(shù)據(jù))來提高特定任務(wù)的性能。它結(jié)合了統(tǒng)計(jì)、數(shù)據(jù)挖掘和優(yōu)化的思想。通常,它被用作實(shí)施人工智能解決方案的一種手段。

    作為機(jī)器學(xué)習(xí)的一類,表征學(xué)習(xí)側(cè)重于如何自動(dòng)找到合適的方式來表示數(shù)據(jù)。深度學(xué)習(xí)是通過學(xué)習(xí)多層變換的多層次表示學(xué)習(xí)。

    深度學(xué)習(xí)不僅取代了傳統(tǒng)機(jī)器學(xué)習(xí)管道末端的淺層模型,而且取代了特征工程的勞動(dòng)密集型過程。

    深度學(xué)習(xí)的大部分最新進(jìn)展是由廉價(jià)傳感器和互聯(lián)網(wǎng)規(guī)模應(yīng)用程序產(chǎn)生的大量數(shù)據(jù)以及計(jì)算方面的重大進(jìn)展(主要是通過 GPU)引發(fā)的。

    整個(gè)系統(tǒng)優(yōu)化是獲得高性能的關(guān)鍵組成部分。高效的深度學(xué)習(xí)框架的可用性使得設(shè)計(jì)和實(shí)施變得更加容易。

    參考

    https://d2l.ai/chapter_introduction/index.html

    總結(jié)

    以上是生活随笔為你收集整理的翻译: 深入神经网络概览Dive into Deep Learning的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。