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