在上一篇文章中,我們介紹了傳統(tǒng)機器學(xué)習(xí)的基礎(chǔ)知識和多種算法。在本文中,我們會介紹人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法,供各位老師選擇。
01
人工神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)模型之所以得名,是因為所擬合的數(shù)學(xué)模型的形式受到大腦中神經(jīng)元的連接和行為的啟發(fā),最初是為了研究大腦功能而設(shè)計的。然而,數(shù)據(jù)科學(xué)中常用的神經(jīng)網(wǎng)絡(luò)作為大腦模型已經(jīng)過時,現(xiàn)在它們只是能夠在某些應(yīng)用中提供最先進性能的機器學(xué)習(xí)模型。近年來,由于深度神經(jīng)網(wǎng)絡(luò)的架構(gòu)和訓(xùn)練方面的快速發(fā)展,人們對神經(jīng)網(wǎng)絡(luò)模型的興趣日益增長。在本文中,我們將描述基本的神經(jīng)網(wǎng)絡(luò)以及在生物學(xué)研究中廣泛使用的各種類型。
02
神經(jīng)網(wǎng)絡(luò)基本原理
神經(jīng)網(wǎng)絡(luò)有一個重要的特性,就是它們可以模擬幾乎任何數(shù)學(xué)函數(shù)。這意味著,只要配置得當,神經(jīng)網(wǎng)絡(luò)可以非常準確地模擬任何復(fù)雜的過程,無論是生物學(xué)過程還是其他類型的過程。這種能力是神經(jīng)網(wǎng)絡(luò)幾十年來備受關(guān)注的原因之一。人工神經(jīng)元是構(gòu)成神經(jīng)網(wǎng)絡(luò)的基本單元。我們可以把人工神經(jīng)元想象成一個簡單的數(shù)學(xué)公式,它接收一些輸入值,對這些輸入值進行一些計算,然后輸出一個結(jié)果。這個過程可以用下面的公式表示:
xi是輸入值,比如一個特征或變量;wi是每個輸入值的權(quán)重;b是偏置項,可以調(diào)整每個神經(jīng)元的輸出范圍,使其更靈活;σ 是激活函數(shù),它對輸入值進行非線性變換,使得神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)和表示更復(fù)雜的函數(shù)。為了構(gòu)建一個神經(jīng)網(wǎng)絡(luò),這些人工神經(jīng)元會被分層排列。每一層的輸出會成為下一層的輸入。這樣,信息會在網(wǎng)絡(luò)中逐層傳遞,最終得到一個輸出結(jié)果。網(wǎng)絡(luò)中的每個節(jié)點(即人工神經(jīng)元)都會執(zhí)行上面的計算,然后將結(jié)果傳遞給下一層。排列人工神經(jīng)元的各種方法,被稱為“神經(jīng)網(wǎng)絡(luò)架構(gòu)”。
03
神經(jīng)網(wǎng)絡(luò)架構(gòu)方法
多層感知器
多層感知器是最基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)模型,由多層全連接的神經(jīng)元組成。輸入神經(jīng)元代表數(shù)據(jù)特征,每對神經(jīng)元之間的連接代表一個可訓(xùn)練的權(quán)重。優(yōu)化這些權(quán)重的過程稱為訓(xùn)練。輸出神經(jīng)元代表最終的預(yù)測結(jié)果。多層感知器能做出復(fù)雜的決策,因為每層神經(jīng)元都會接收前一層所有神經(jīng)元的輸出。盡管在許多應(yīng)用中已被新型模型超越,多層感知器仍因訓(xùn)練簡單和快速而廣泛用于生物建模。新型模型也常使用全連接層作為子組件。
圖1. 多層感知器模型
卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)特別適合處理具有局部結(jié)構(gòu)的數(shù)據(jù),其中數(shù)據(jù)具有一些類型的局部結(jié)構(gòu),而識別這種結(jié)構(gòu)是分析的關(guān)鍵目標。CNN由一個或多個卷積層組成,其中輸出是通過對輸入數(shù)據(jù)的局部特征組應(yīng)用一個小的一層全連接神經(jīng)網(wǎng)絡(luò)(稱為“過濾器”或“核”)得到的結(jié)果。對于圖像,這個局部區(qū)域是一小塊像素。卷積層的輸出也是類似圖像的數(shù)組,表示過濾器在整個輸入上滑動并在每個位置計算輸出的結(jié)果。在生物學(xué)中,CNN在蛋白質(zhì)結(jié)構(gòu)預(yù)測、基因變異識別、3D基因組折疊、DNA-蛋白質(zhì)相互作用、低溫電子顯微鏡圖像分析和醫(yī)學(xué)圖像分類等任務(wù)中取得了顯著成功,表現(xiàn)常常與專家水平相當。
圖2. 卷積神經(jīng)網(wǎng)絡(luò)模型
循環(huán)神經(jīng)網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)最適合處理有序的序列數(shù)據(jù),比如文字或時間序列,其中每個數(shù)據(jù)點與前一個數(shù)據(jù)點之間有某種聯(lián)系。RNN的工作原理是,它會逐個處理序列中的每個數(shù)據(jù)點,并根據(jù)之前的數(shù)據(jù)點生成輸出。這樣,RNN可以生成整個序列的表征,這個表征可以傳遞給網(wǎng)絡(luò)的其他部分進行進一步處理。這使得RNN可以處理任意長度的序列,并將其轉(zhuǎn)換為固定大小的表征,方便后續(xù)分析。在生物學(xué)中,RNN有很多應(yīng)用,比如分析基因或蛋白質(zhì)序列。例如,經(jīng)過大量蛋白質(zhì)序列訓(xùn)練的RNN能夠捕捉到進化和結(jié)構(gòu)信息,并應(yīng)用于設(shè)計新型蛋白質(zhì)序列。
圖3. 循環(huán)神經(jīng)網(wǎng)絡(luò)模型
圖卷積網(wǎng)絡(luò)
圖卷積網(wǎng)絡(luò)(GCN)特別適合處理那些雖然沒有明顯的可視結(jié)構(gòu),但由實體通過各種關(guān)系或互動連接組成的數(shù)據(jù)。在生物學(xué)中,這類數(shù)據(jù)的例子包括分子(由原子和化學(xué)鍵組成)和蛋白質(zhì)-蛋白質(zhì)相互作用網(wǎng)絡(luò)(由蛋白質(zhì)和它們之間的相互作用組成)。圖卷積網(wǎng)絡(luò)利用圖的結(jié)構(gòu)來決定信息在神經(jīng)網(wǎng)絡(luò)中的流動方式。在網(wǎng)絡(luò)中更新每個節(jié)點的特征時,會考慮相鄰節(jié)點的特征。最后一層的節(jié)點特征可以作為輸出。圖卷積網(wǎng)絡(luò)還可以結(jié)合不同的信息源進行預(yù)測。例如,可以結(jié)合藥物-基因和食物-基因關(guān)系圖來預(yù)測有助于防癌的食物。
圖4. 圖卷積網(wǎng)絡(luò)模型
自編碼器
自編碼器是一種特殊的神經(jīng)網(wǎng)絡(luò),它的目標是將數(shù)據(jù)壓縮成一個更小、更簡潔的形式,然后再還原回原來的樣子。自編碼器分為兩部分:
編碼器:編碼器是一個神經(jīng)網(wǎng)絡(luò),負責將輸入數(shù)據(jù)轉(zhuǎn)換為一個緊湊的內(nèi)部表示,稱為“潛在向量”或“潛在表示”,表示新空間中的一個點。
解碼器:解碼器將這個潛在向量還原成與原始輸入相同維度的數(shù)據(jù)。
整個過程可以理解為:編碼器將數(shù)據(jù)“壓縮”成一個小文件,解碼器再將這個小文件“解壓縮”回原來的數(shù)據(jù)。雖然看起來像是多此一舉,但這樣做有兩個好處:通過壓縮和解壓縮,自編碼器能夠?qū)W習(xí)數(shù)據(jù)的重要特征,比如數(shù)據(jù)點之間的相似性;訓(xùn)練完成后,解碼器可以單獨使用,生成新的數(shù)據(jù)樣本。這些新樣本可以在實驗室中測試,有助于合成生物學(xué)的研究。自編碼器已應(yīng)用于一系列生物學(xué)問題,包括預(yù)測DNA甲基化狀態(tài)、基因和蛋白質(zhì)序列的設(shè)計以及單細胞RNA測序分析。
圖5. 自編碼器模型
04
訓(xùn)練和改進神經(jīng)網(wǎng)絡(luò)
選擇了一個合適的神經(jīng)網(wǎng)絡(luò)模型后,通常先用單個訓(xùn)練樣例(例如,單張圖像或單個基因序列)對其進行訓(xùn)練。這種訓(xùn)練模型本身并不適用于預(yù)測,但可以幫助揭示編程錯誤。訓(xùn)練損失函數(shù)應(yīng)該迅速趨近于零,因為網(wǎng)絡(luò)只是記住了輸入;如果做不到這一點,代碼中可能存在錯誤,或者算法不夠復(fù)雜,無法建模輸入數(shù)據(jù)。一旦網(wǎng)絡(luò)通過了這個基本的調(diào)試測試,就可以開始對整個訓(xùn)練集進行訓(xùn)練,最小化訓(xùn)練損失函數(shù)。這可能需要調(diào)整超參數(shù),如學(xué)習(xí)率。通過監(jiān)控訓(xùn)練集和驗證集的損失,可以檢測到網(wǎng)絡(luò)的過擬合現(xiàn)象,即訓(xùn)練損失繼續(xù)下降,而驗證集的損失開始增加。通常在這個時候停止訓(xùn)練,這個過程稱為提前停止。提前停止是防止過擬合的好方法,但訓(xùn)練過程中還可以使用其他技術(shù),如模型正則化或dropout技術(shù)。
在這一系列文章中,我們先后介紹了機器學(xué)習(xí)的基礎(chǔ)知識,包括基本概念和重要術(shù)語。隨后分別介紹了傳統(tǒng)機器學(xué)習(xí)和人工神經(jīng)網(wǎng)絡(luò),并詳細描述了多種機器學(xué)習(xí)模型和神經(jīng)網(wǎng)絡(luò)架構(gòu)方法。通過這四篇文章,老師們可以全面了解機器學(xué)習(xí)的核心概念和技術(shù),為進一步深入學(xué)習(xí)和應(yīng)用做好準備。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4779瀏覽量
101040 -
人工神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
1文章
120瀏覽量
14653
原文標題:生物學(xué)家的機器學(xué)習(xí)指南(四)-神經(jīng)網(wǎng)絡(luò)模型小百科
文章出處:【微信號:SBCNECB,微信公眾號:上海生物芯片】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論