Ⅰ 什麼是人工神經網路及其演算法實現方式
人工神經網路(Artificial Neural Network,即ANN ),是20世紀80 年代以來人工智慧領域興起的研究熱點。它從信息處理角度對人腦神經元網路進行抽象, 建立某種簡單模型,按不同的連接方式擾亂組成不同的網路。在工程與學術界也常直接簡稱為神經網路或類神經網路。神經網路是一種運算模型,由大量的節點(或稱神經元)之間相互聯接構成。每個節點代表一種特定脊蠢的輸出函數,稱為激勵函數(activation function)。每兩個節點間的連接都代表一個對於通過該連接信號的加權值,稱之為櫻李陪權重,這相當於人工神經網路的記憶。網路的輸出則依網路的連接方式,權重值和激勵函數的不同而不同。而網路自身通常都是對自然界某種演算法或者函數的逼近,也可能是對一種邏輯策略的表達。
最近十多年來,人工神經網路的研究工作不斷深入,已經取得了很大的進展,其在模式識別、智能機器人、自動控制、預測估計、生物、醫學、經濟等領域已成功地解決了許多現代計算機難以解決的實際問題,表現出了良好的智能特性。
Ⅱ 第五章 神經網路
神經網路 :神經網路是由具有適應性的簡單單元組成的廣泛並行互連的網路,它的組織能夠模擬生物神經系統對真實世界物體所作出的交互反應。
神經網路中最基本的成分便是 神經元模型 。
M-P神經元模型:
感知機由兩層神經元組成,分別為輸入層、輸出層。
以下是具體過程:
多層神經網路的拓撲結構如圖:
如上圖可知,多層網路由輸入層、隱含層和輸出層組成,頂層是輸出層,底層是輸入層,中間的便是隱含層。隱含層與輸出層都具有功能神經元。
多層前饋神經網路的結構需要滿足:
1、每層神經元必須與下一層完全互連
2、神經元之間不存在同層連接
3、神經元不可跨層連接
只需包含一個足夠多神經元的隱層,就能以任意精度逼近任意復雜度的連續函數
BP神經網路由於學習能力太強大比較榮譽造成過擬合問題,故有兩種策略來減緩過擬合的問題:
1、早停:將數據分成訓練集和驗證集,訓練集學習,驗證集評估性能,在訓練過程中,若訓練集的累積誤差降低,而驗證集的累積誤差提高,則終止訓練;
2、引入正則化:其基本思想是在誤差目標函數中增加一個用於描述網路復雜程度的部分,有如連接權和閾值的平方和:
其中λ∈(0,1)用於對累積經驗誤差與網路復雜度這兩項進行折中,常通過交叉驗證法來估計。
神經網路的訓練過程可看作一個參數尋優的過程,即尋找到適當的參數使得E最小。於是我們時常會談及「全局最小」和「局部最小」。
1、全局最小:即全局最小解,在參數空間中,所有其他點的誤差函數值均大於該點;
2、局部最小:即局部最小解,在參數空間中,其鄰近的點的誤差函數值均大於該點。
我們要達到局部極小點,很容易,只要滿足梯度為零的點便是了,局部極小點可以有多個,但全局最小點只有一個。顯然,我們追求的是全局最小,而非局部極小,於是人們通常採用以下策略來試圖「跳出」局部極小,使其接近全局最小:
1、以多組不同參數值初始化多個神經網路,按標准方法訓練,在迭代停止後,取其中誤差最小的解作為最終參數;
2、使用隨機梯度下降(在計算梯度時加入了隨機因素),使得在局部最小時,計算的梯度仍可能不為0,從而可能跳出局部極小,繼續進行迭代;
3、「模擬退火」技術,在每一步都以一定的概率接受比當前解更差的結果,但接受「次優解」的概率要隨著迭代進行,時間推移而逐漸減低以確保演算法的穩定。
1、RBF網路
單隱層前饋神經網路 ,使用徑向基函數作為隱層神經元激活函數,輸出層是對隱層神經元輸出的線性組合。RBF網路可表示為:
2、ART網路
競爭型學習 (神經網路中一種常用的 無監督學習 策略),由 比較層、識別層、識別閾值和重置模塊 組成。接收到比較層的輸入信號後,識別層神經元相互競爭以產生獲勝神經元,最簡單的方式就是計算輸入向量與每個識別層神經元所對應的模式類代表向量間的距離,距離小者獲勝。若獲勝神經元對應的代表向量與輸入向量間 相似度大於識別閾值 ,則將輸入樣本歸為該代表向量所屬類別,網路 連接權 也會進行 更新 以保證後面接收到相似的輸入樣本時該模式類會計算出更大的相似度,使得這樣的樣本能夠歸於一類;如果 相似度不大於識別閾值 ,則 重置模塊 會在 識別層 加一個神經元,其 代表向量 就 設置 為當前 輸入向量 。
3、SOM網路
競爭型學習的無監督神經網路 ,將高維輸入數據映射到低維空間(通常是二維),且保持輸入數據在高維空間的拓撲結構。
4、級聯相關網路
結構自適應網路 。
5、Elman網路
遞歸神經網路 。
6、Boltzmann機
基於能量的模型,其神經元分為顯層與隱層,顯層用於數據輸入輸出,隱層被理解為數據的內在表達。其神經元皆為布爾型,1為激活,0為抑制。
理論上,參數越多的模型其復雜程度越高,能完成更加復雜的學習任務。但是復雜模型的訓練效率低下,容易過擬合。但由於大數據時代、雲計算,計算能力大幅提升緩解了訓練效率低下,而訓練數據的增加則可以降低過擬合風險。
於是如何增加模型的復雜程度呢?
1、增加隱層數;
2、增加隱層神經元數.
如何有效訓練多隱層神經網路?
1、無監督逐層訓練:每次訓練一層隱節點,把上一層隱節點的輸出當作輸入來訓練,本層隱結點訓練好後,輸出再作為下一層的輸入來訓練,這稱為預訓練,全部預訓練完成後,再對整個網路進行微調。「預訓練+微調」即把大量的參數進行分組,先找出每組較好的設置,再基於這些局部最優的結果來訓練全局最優;
2、權共享:令同一層神經元使用完全相同的連接權,典型的例子是卷積神經網路。這樣做可以大大減少需要訓練的參數數目。
深度學習 可理解為一種特徵學習或者表示學習,是通過 多層處理 ,逐漸將初始的 低層特徵表示 轉化為 高層特徵表示 後,用 簡單模型 即可完成復雜的分類等 學習任務 。
Ⅲ 人工神經網路有哪些類型
人工神經網路模型主要考慮網路連接的拓撲結構、神經元的特徵、學習規則等。目前,已有近40種神經網路模型,其中有反傳網路、感知器、自組織映射、Hopfield網路、波耳茲曼機、適應諧振理論等。根據連接的拓撲結構,神經網路模型可以分為:
(1)前向網路 網路中各個神經元接受前一級的輸入,並輸出到下一級,網路中沒有反饋,可以用一個有向無環路圖表示。這種網路實現信號從輸入空間到輸出空間的變換,它的信息處理能力來自於簡單非線性函數的多次復合。網路結構簡單,易於實現。反傳網路是一種典型的前向網路。
(2)反饋網路 網路內神經元間有反饋,可以用一個無向的完備圖表示。這種神經網路的信息處理是狀態的變換,可以用動力學系統理論處理。系統的穩定性與聯想記憶功能有密切關系。Hopfield網路、波耳茲曼機均屬於這種類型。
學習是神經網路研究的一個重要內容,它的適應性是通過學習實現的。根據環境的變化,對權值進行調整,改善系統的行為。由Hebb提出的Hebb學習規則為神經網路的學習演算法奠定了基礎。Hebb規則認為學習過程最終發生在神經元之間的突觸部位,突觸的聯系強度隨著突觸前後神經元的活動而變化。在此基礎上,人們提出了各種學習規則和演算法,以適應不同網路模型的需要。有效的學習演算法,使得神經網路能夠通過連接權值的調整,構造客觀世界的內在表示,形成具有特色的信息處理方法,信息存儲和處理體現在網路的連接中。
根據學習環境不同,神經網路的學習方式可分為監督學習和非監督學習。在監督學習中,將訓練樣本的數據加到網路輸入端,同時將相應的期望輸出與網路輸出相比較,得到誤差信號,以此控制權值連接強度的調整,經多次訓練後收斂到一個確定的權值。當樣本情況發生變化時,經學習可以修改權值以適應新的環境。使用監督學習的神經網路模型有反傳網路、感知器等。非監督學習時,事先不給定標准樣本,直接將網路置於環境之中,學習階段與工作階段成為一體。此時,學習規律的變化服從連接權值的演變方程。非監督學習最簡單的例子是Hebb學習規則。競爭學習規則是一個更復雜的非監督學習的例子,它是根據已建立的聚類進行權值調整。自組織映射、適應諧振理論網路等都是與競爭學習有關的典型模型。
研究神經網路的非線性動力學性質,主要採用動力學系統理論、非線性規劃理論和統計理論,來分析神經網路的演化過程和吸引子的性質,探索神經網路的協同行為和集體計算功能,了解神經信息處理機制。為了探討神經網路在整體性和模糊性方面處理信息的可能,混沌理論的概念和方法將會發揮作用。混沌是一個相當難以精確定義的數學概念。一般而言,「混沌」是指由確定性方程描述的動力學系統中表現出的非確定性行為,或稱之為確定的隨機性。「確定性」是因為它由內在的原因而不是外來的雜訊或干擾所產生,而「隨機性」是指其不規則的、不能預測的行為,只可能用統計的方法描述。混沌動力學系統的主要特徵是其狀態對初始條件的靈敏依賴性,混沌反映其內在的隨機性。混沌理論是指描述具有混沌行為的非線性動力學系統的基本理論、概念、方法,它把動力學系統的復雜行為理解為其自身與其在同外界進行物質、能量和信息交換過程中內在的有結構的行為,而不是外來的和偶然的行為,混沌狀態是一種定態。混沌動力學系統的定態包括:靜止、平穩量、周期性、准同期性和混沌解。混沌軌線是整體上穩定與局部不穩定相結合的結果,稱之為奇異吸引子。
Ⅳ BP神經網路的可行性分析
神經網路的是我的畢業論文的一部分
4.人工神經網路
人的思維有邏輯性和直觀性兩種不同的基本方式。邏輯性的思維是指根據邏輯規則進行推理的過程;它先將信息化成概念,並用符號表示,然後,根據符號運算按串列模式進行邏輯推理。這一過程可以寫成串列的指令,讓計算機執行。然而,直觀性的思維是將分布式存儲的信息綜合起來,結果是忽然間產生想法或解決問題的辦法。這種思維方式的根本之點在於以下兩點:1.信息是通過神經元上的興奮模式分布在網路上;2.信息處理是通過神經元之間同時相互作用的動態過程來完成的。
人工神經網路就是模擬人思維的第二種方式。這是一個非線性動力學系統,其特色在於信息的分布式存儲和並行協同處理。雖然單個神經元的結構極其簡單,功能有限,但大量神經元構成的網路系統所能實現的行為卻是極其豐富多彩的。
4.1人工神經網路學習的原理
人工神經網路首先要以一定的學習准則進行學習,然後才能工作。現以人工神經網路對手寫「A」、「B」兩個字母的識別為例進行說明,規定當「A」輸入網路時,應該輸出「1」,而當輸入為「B」時,輸出為「0」。
所以網路學習的准則應該是:如果網路做出錯誤的判決,則通過網路的學習,應使得網路減少下次犯同樣錯誤的可能性。首先,給網路的各連接權值賦予(0,1)區間內的隨機值,將「A」所對應的圖像模式輸入給網路,網路將輸入模式加權求和、與門限比較、再進行非線性運算,得到網路的輸出。在此情況下,網路輸出為「1」和「0」的概率各為50%,也就是說是完全隨機的。這時如果輸出為「1」(結果正確),則使連接權值增大,以便使網路再次遇到「A」模式輸入時,仍然能做出正確的判斷。
如果輸出為「0」(即結果錯誤),則把網路連接權值朝著減小綜合輸入加權值的方向調整,其目的在於使網路下次再遇到「A」模式輸入時,減小犯同樣錯誤的可能性。如此操作調整,當給網路輪番輸入若干個手寫字母「A」、「B」後,經過網路按以上學習方法進行若干次學習後,網路判斷的正確率將大大提高。這說明網路對這兩個模式的學習已經獲得了成功,它已將這兩個模式分布地記憶在網路的各個連接權值上。當網路再次遇到其中任何一個模式時,能夠做出迅速、准確的判斷和識別。一般說來,網路中所含的神經元個數越多,則它能記憶、識別的模式也就越多。
4.2人工神經網路的優缺點
人工神經網路由於模擬了大腦神經元的組織方式而具有了人腦功能的一些基本特徵,為人工智慧的研究開辟了新的途徑,神經網路具有的優點在於:
(1)並行分布性處理
因為人工神經網路中的神經元排列並不是雜亂無章的,往往是分層或以一種有規律的序列排列,信號可以同時到達一批神經元的輸入端,這種結構非常適合並行計算。同時如果將每一個神經元看作是一個小的處理單元,則整個系統可以是一個分布式計算系統,這樣就避免了以往的「匹配沖突」,「組合爆炸」和「無窮遞歸」等題,推理速度快。
(2)可學習性
一個相對很小的人工神經網路可存儲大量的專家知識,並且能根據學習演算法,或者利用樣本指導系統來模擬現實環境(稱為有教師學習),或者對輸入進行自適應學習(稱為無教師學習),不斷地自動學習,完善知識的存儲。
(3)魯棒性和容錯性
由於採用大量的神經元及其相互連接,具有聯想記憶與聯想映射能力,可以增強專家系統的容錯能力,人工神經網路中少量的神經元發生失效或錯誤,不會對系統整體功能帶來嚴重的影響。而且克服了傳統專家系統中存在的「知識窄台階」問題。
(4)泛化能力
人工神經網路是一類大規模的非線形系統,這就提供了系統自組織和協同的潛力。它能充分逼近復雜的非線形關系。當輸入發生較小變化,其輸出能夠與原輸入產生的輸出保持相當小的差距。
(5)具有統一的內部知識表示形式,任何知識規則都可以通過對範例的學習存儲於同一個神經網路的各連接權值中,便於知識庫的組織管理,通用性強。
雖然人工神經網路有很多優點,但基於其固有的內在機理,人工神經網路也不可避免的存在自己的弱點:
(1)最嚴重的問題是沒能力來解釋自己的推理過程和推理依據。
(2)神經網路不能向用戶提出必要的詢問,而且當數據不充分的時候,神經網路就無法進行工作。
(3)神經網路把一切問題的特徵都變為數字,把一切推理都變為數值計算,其結果勢必是丟失信息。
(4)神經網路的理論和學習演算法還有待於進一步完善和提高。
4.3神經網路的發展趨勢及在柴油機故障診斷中的可行性
神經網路為現代復雜大系統的狀態監測和故障診斷提供了全新的理論方法和技術實現手段。神經網路專家系統是一類新的知識表達體系,與傳統專家系統的高層邏輯模型不同,它是一種低層數值模型,信息處理是通過大量的簡單處理元件(結點) 之間的相互作用而進行的。由於它的分布式信息保持方式,為專家系統知識的獲取與表達以及推理提供了全新的方式。它將邏輯推理與數值運算相結合,利用神經網路的學習功能、聯想記憶功能、分布式並行信息處理功能,解決診斷系統中的不確定性知識表示、獲取和並行推理等問題。通過對經驗樣本的學習,將專家知識以權值和閾值的形式存儲在網路中,並且利用網路的信息保持性來完成不精確診斷推理,較好地模擬了專家憑經驗、直覺而不是復雜的計算的推理過程。
但是,該技術是一個多學科知識交叉應用的領域,是一個不十分成熟的學科。一方面,裝備的故障相當復雜;另一方面,人工神經網路本身尚有諸多不足之處:
(1)受限於腦科學的已有研究成果。由於生理實驗的困難性,目前對於人腦思維與記憶機制的認識還很膚淺。
(2)尚未建立起完整成熟的理論體系。目前已提出了眾多的人工神經網路模型,歸納起來,這些模型一般都是一個由結點及其互連構成的有向拓撲網,結點間互連強度所構成的矩陣,可通過某種學習策略建立起來。但僅這一共性,不足以構成一個完整的體系。這些學習策略大多是各行其是而無法統一於一個完整的框架之中。
(3)帶有濃厚的策略色彩。這是在沒有統一的基礎理論支持下,為解決某些應用,而誘發出的自然結果。
(4)與傳統計算技術的介面不成熟。人工神經網路技術決不能全面替代傳統計算技術,而只能在某些方面與之互補,從而需要進一步解決與傳統計算技術的介面問題,才能獲得自身的發展。
雖然人工神經網路目前存在諸多不足,但是神經網路和傳統專家系統相結合的智能故障診斷技術仍將是以後研究與應用的熱點。它最大限度地發揮兩者的優勢。神經網路擅長數值計算,適合進行淺層次的經驗推理;專家系統的特點是符號推理,適合進行深層次的邏輯推理。智能系統以並行工作方式運行,既擴大了狀態監測和故障診斷的范圍,又可滿足狀態監測和故障診斷的實時性要求。既強調符號推理,又注重數值計算,因此能適應當前故障診斷系統的基本特徵和發展趨勢。隨著人工神經網路的不斷發展與完善,它將在智能故障診斷中得到廣泛的應用。
根據神經網路上述的各類優缺點,目前有將神經網路與傳統的專家系統結合起來的研究傾向,建造所謂的神經網路專家系統。理論分析與使用實踐表明,神經網路專家系統較好地結合了兩者的優點而得到更廣泛的研究和應用。
離心式製冷壓縮機的構造和工作原理與離心式鼓風機極為相似。但它的工作原理與活塞式壓縮機有根本的區別,它不是利用汽缸容積減小的方式來提高汽體的壓力,而是依靠動能的變化來提高汽體壓力。離心式壓縮機具有帶葉片的工作輪,當工作輪轉動時,葉片就帶動汽體運動或者使汽體得到動能,然後使部分動能轉化為壓力能從而提高汽體的壓力。這種壓縮機由於它工作時不斷地將製冷劑蒸汽吸入,又不斷地沿半徑方向被甩出去,所以稱這種型式的壓縮機為離心式壓縮機。其中根據壓縮機中安裝的工作輪數量的多少,分為單級式和多級式。如果只有一個工作輪,就稱為單級離心式壓縮機,如果是由幾個工作輪串聯而組成,就稱為多級離心式壓縮機。在空調中,由於壓力增高較少,所以一般都是採用單級,其它方面所用的離心式製冷壓縮機大都是多級的。單級離心式製冷壓縮機的構造主要由工作輪、擴壓器和蝸殼等所組成。 壓縮機工作時製冷劑蒸汽由吸汽口軸向進入吸汽室,並在吸汽室的導流作用引導由蒸發器(或中間冷卻器)來的製冷劑蒸汽均勻地進入高速旋轉的工作輪3(工作輪也稱葉輪,它是離心式製冷壓縮機的重要部件,因為只有通過工作輪才能將能量傳給汽體)。汽體在葉片作用下,一邊跟著工作輪作高速旋轉,一邊由於受離心力的作用,在葉片槽道中作擴壓流動,從而使汽體的壓力和速度都得到提高。由工作輪出來的汽體再進入截面積逐漸擴大的擴壓器4(因為汽體從工作輪流出時具有較高的流速,擴壓器便把動能部分地轉化為壓力能,從而提高汽體的壓力)。汽體流過擴壓器時速度減小,而壓力則進一步提高。經擴壓器後汽體匯集到蝸殼中,再經排氣口引導至中間冷卻器或冷凝器中。
二、離心式製冷壓縮機的特點與特性
離心式製冷壓縮機與活塞式製冷壓縮機相比較,具有下列優點:
(1)單機製冷量大,在製冷量相同時它的體積小,佔地面積少,重量較活塞式輕5~8倍。
(2)由於它沒有汽閥活塞環等易損部件,又沒有曲柄連桿機構,因而工作可靠、運轉平穩、噪音小、操作簡單、維護費用低。
(3)工作輪和機殼之間沒有摩擦,無需潤滑。故製冷劑蒸汽與潤滑油不接觸,從而提高了蒸發器和冷凝器的傳熱性能。
(4)能經濟方便的調節製冷量且調節的范圍較大。
(5)對製冷劑的適應性差,一台結構一定的離心式製冷壓縮機只能適應一種製冷劑。
(6)由於適宜採用分子量比較大的製冷劑,故只適用於大製冷量,一般都在25~30萬大卡/時以上。如製冷量太少,則要求流量小,流道窄,從而使流動阻力大,效率低。但近年來經過不斷改進,用於空調的離心式製冷壓縮機,單機製冷量可以小到10萬大卡/時左右。
製冷與冷凝溫度、蒸發溫度的關系。
由物理學可知,回轉體的動量矩的變化等於外力矩,則
T=m(C2UR2-C1UR1)
兩邊都乘以角速度ω,得
Tω=m(C2UωR2-C1UωR1)
也就是說主軸上的外加功率N為:
N=m(U2C2U-U1C1U)
上式兩邊同除以m則得葉輪給予單位質量製冷劑蒸汽的功即葉輪的理論能量頭。 U2 C2
ω2 C2U R1 R2 ω1 C1 U1 C2r β 離心式製冷壓縮機的特性是指理論能量頭與流量之間變化關系,也可以表示成製冷
W=U2C2U-U1C1U≈U2C2U
(因為進口C1U≈0)
又C2U=U2-C2rctgβ C2r=Vυ1/(A2υ2)
故有
W= U22(1-
Vυ1
ctgβ)
A2υ2U2
式中:V—葉輪吸入蒸汽的容積流量(m3/s)
υ1υ2 ——分別為葉輪入口和出口處的蒸汽比容(m3/kg)
A2、U2—葉輪外緣出口面積(m2)與圓周速度(m/s)
β—葉片安裝角
由上式可見,理論能量頭W與壓縮機結構、轉速、冷凝溫度、蒸發溫度及葉輪吸入蒸汽容積流量有關。對於結構一定、轉速一定的壓縮機來說,U2、A2、β皆為常量,則理論能量頭W僅與流量V、蒸發溫度、冷凝溫度有關。
按照離心式製冷壓縮機的特性,宜採用分子量比較大的製冷劑,目前離心式製冷機所用的製冷劑有F—11、F—12、F—22、F—113和F—114等。我國目前在空調用離心式壓縮機中應用得最廣泛的是F—11和F—12,且通常是在蒸發溫度不太低和大製冷量的情況下,選用離心式製冷壓縮機。此外,在石油化學工業中離心式的製冷壓縮機則採用丙烯、乙烯作為製冷劑,只有製冷量特別大的離心式壓縮機才用氨作為製冷劑。
三、離心式製冷壓縮機的調節
離心式製冷壓縮機和其它製冷設備共同構成一個能量供給與消耗的統一系統。製冷機組在運行時,只有當通過壓縮機的製冷劑的流量與通過設備的流量相等時,以及壓縮機所產生的能量頭與製冷設備的阻力相適應時,製冷系統的工況才能保持穩定。但是製冷機的負荷總是隨外界條件與用戶對冷量的使用情況而變化的,因此為了適應用戶對冷負荷變化的需要和安全經濟運行,就需要根據外界的變化對製冷機組進行調節,離心式製冷機組製冷量的調節有:1°改變壓縮機的轉速;2°採用可轉動的進口導葉;3°改變冷凝器的進水量;4°進汽節流等幾種方式,其中最常用的是轉動進口導葉調節和進汽節流兩種調節方法。所謂轉動進口導葉調節,就是轉動壓縮機進口處的導流葉片以使進入到葉輪去的汽體產生旋繞,從而使工作輪加給汽體的動能發生變化來調節製冷量。所謂進汽節流調節,就是在壓縮機前的進汽管道上安裝一個調節閥,如要改變壓縮機的工況時,就調節閥門的大小,通過節流使壓縮機進口的壓力降低,從而實現調節製冷量。離心式壓縮機製冷量的調節最經濟有效的方法就是改變進口導葉角度,以改變蒸汽進入葉輪的速度方向(C1U)和流量V。但流量V必須控制在穩定工作范圍內,以免效率下降。
Ⅳ 利用神經網路進行文本分類演算法綜述(持續更新中)
傳統的文本分類一般都是使用詞袋模型/Tf-idf作為特徵+機器學習分類器來進行分類的。隨著深度學習的發展,越來越多的神經網路模型被用來進行文本分類。本文將對這些神經網路模型做一個簡單的介紹。
本文介紹了一種詞向量模型,雖然算不得文本分類模型,但由於其可以說是fasttext的基礎。因此也簡單提一下。
作者認為cbow和skipgram及大部分詞向量模型都沒有考慮到單詞的多態性,而簡單的將一個單詞的多種形態視為獨立的單詞。例如like的不同形式有likes,liking,liked,likes,這些單詞的意思其實是相同的,但cbow/skipgram模型卻認為這些單詞是各自獨立的,沒有考慮到其形態多樣性。
因此作者提出了一個可以有效利用單詞字元級別信息的n-gram詞向量模型,該模型是以skipgram模式實現的。例如單詞 where,其n-gram表示為<wh, whe, her, ere, re>, where。其中<>分別表示前後綴。在原始的skipgram模型中,輸入僅僅只是where的onehot向量,而在此模型中輸入則變成了<wh, whe, her, ere, re>, where的onehot編碼的加和,有效的利用了字元級別的信息,因此效果更加好。
而在loss方面,文中採用了負采樣+binary LogisticRegression的策略。即對每一個目標單詞都預測為正負中的一種。
在本文中作者提供了一個基於神經網路的文本分類模型,這個模型是基於cbow的,與cbow非常類似。
和CBOW一樣,fastText模型也只有三層:輸入層、隱含層、輸出層(Hierarchical Softmax),輸入都是多個經向量表示的單詞,輸出都是一個特定的target,隱含層都是對多個詞向量的疊加平均。不同的是,CBOW的輸入是目標單詞的上下文,fastText的輸入是多個單詞及其n-gram特徵的embeding表示方式,這些特徵用來表示單個文檔;CBOW的輸入單詞被onehot編碼過,fastText的輸入特徵是被embedding過;CBOW的輸出是目標詞彙,fastText的輸出是文檔對應的類標。輸出層的實現同樣使用了層次softmax,當然如果自己實現的話,對於類別數不是很多的任務,個人認為是可以直接使用softmax的。
最後,貼一個Keras的模型fasttext簡化版。
基於詞向量表示,本文提出利用卷積神經網路來進行文本分類。其演算法如上圖所示:
在本文中,作者嘗試了多種不同的詞向量模式:
在上一篇文章中CNN網路的輸入一般是預訓練好的詞向量,而在本文中作者提出一種直接將embedding訓練與分類任務結合在一起,且能有效提取/保留詞序信息,也即有效訓練出n-gram的模型方法,其實也可以理解為一種利用CNN來進行embedding的方法。
此外,另一個問題是輸入序列長度變化問題(在上一篇文章textCNN中通過padding解決的?),在本文作者提出使用一個動態可變的pooling層來解決這個問題,使得卷積層輸出的大小是相同的。關於可變pooling其實與圖像識別中的 空間金字塔池化 (Spatial Pyramid Pooling) 是類似的。
這篇文章有點將fastText與TextCNN結合在一起的感覺,將n-gram embedding與分類任務結合在了一起進行訓練,通過CNN來進行Embedding。
Text Categorization via Region Embedding》
在本篇文章中作者提出了一個tv-embedding(即two-view embedding),它也屬於region embedding(也可以理解為ngram embedding)。這種方法與上面的bow-CNN表示相似,使用bow(bag of words)的方式來表示一個區域的詞句,然後通過某個區域(region,左右鄰域的單詞或詞句)來預測其前後的區域(單詞或詞句),即輸入區域是view1,target區域是view2。tv-embedding是單獨訓練的,在使用的時候與CNN中的embedding組合在一起(形成多個channel?)。作者認為,word2vec方法預訓練得到的embedding向量是普適性的,而通過特定任務的數據集的訓練得到tv-embedding具有任務相關的一些信息,更有利於提升我們的模型效果。
吐槽一下,這篇文章沒太看懂,也可能是英語太差,作者文章中沒有那種一眼就能讓人理解的網路圖,像textCNN的圖就非常一目瞭然,看圖就知道是怎麼做的了。
本文提出了一個使用監督學習加半監督預訓練的基於LSTM的文本分類模型。文章作者與上面相同,所以用到的很多技術可以說與上面也是同出一轍。因此簡單說下本文的一些思路。
作者認為已有的直接使用LSTM作為文本分類模型並直接將LSTM的最後一個輸出作為後續全連接分類器的方法面臨兩個問題:(1)這種方式一般都是與word embedding整合在一起(即輸入onehot經過一個embedding層再進入LSTM),但是embedding訓練不穩定,不好訓練;(2)直接使用LSTM最後一個輸出來表示整個文檔不準確,一般來說LSTM輸入中後面的單詞會在最後輸出中佔有較重的權重,但是這對於文章表示來說並不總是對的。因此作者對這兩點進行了改進:
本文其實可以看作是作者將自己前面的tv-embedding半監督訓練與RCNN的一個融合吧,大有一種一頓操作猛如虎,一看人頭0-5的感覺(因為作者的實驗結果跟一般的CNN相比其實也搶不了多少)。
本文的作者也是前面兩篇使用CNN來進行文本分類處理的文章的作者。因此在本文中,結合了前面兩篇文章提出的一些方法,並使用了一個深層的卷積神經網路。具體的細節包括:
更多詳細的關於DPCNN的細節可以查看 從DPCNN出發,撩一下深層word-level文本分類模型 。
本文提出了一種基於CNN+Attention的文本分類模型。作者認為已有的基於CNN的文本分類模型大都使用的是固定大小的卷積核,因此其學習到的表示也是固定的n-gram表示,這個n與CNN filter大小相關。但是在進行句子的語義表示時,不同句子發揮重要作用的ngram詞語常常是不同的,也即是變化的。因此,模型能根據句子來自適應的選擇每個句子最佳的n-gram對於提升模型的語義表示能力是非常關鍵的。本文便是由此思路提出了一種自適應的來選擇不同n-gram表示的模型。
本文模型在主題結構上參照了CV中的DenseNet,藉由DenseNet中的稠密連接來提取到豐富的n-gram特徵表示。舉例來說,在layer3的特徵不僅能學習到f(x1, x2, x3),還能學習到f(x1(x2,x3))這種更多層次,更加豐富的特徵。網路的結構主要包括三部分:DenseCNN主網路,Attention mole和最後的全連接層分類網路。下面對這三部分進行簡單的說明:
本文通過Dense connection + Attention來自動獲取對於文本語義最重要的n-gram特徵,結果很好。但是缺點是,這個網路比較適合較短的文本,文中對輸入文本進行了padding補齊,對於不同數據集最大長度分別為50,100等,但這對於較長的文本明顯是不足的。因此對於較長的文本或許HAN這種借用RNN來不限制輸入長短的網路會更好。
本文提出了一種結合循環神經網路(RNN)和卷積神經網路來進行文本分類的方法,其結構如上圖所示,該網路可以分為三部分:
雖然說是RNN與CNN的結合,但是其實只用到了CNN中的pooling,多少有一點噱頭的意思。文中還提到了RCNN為什麼比CNN效果好的原因,即為什麼RCNN能比CNN更好的捕捉到上下文信息:CNN使用了固定大小window(也即kernel size)來提取上下文信息,其實就是一個n-gram。因此CNN的表現很大程度上受window大小的影響,太小了會丟失一些長距離信息,太大了又會導致稀疏性問題,而且會增加計算量。
在眾多自然語言處理任務中,一個非常突出的問題就是訓練數據不足,且標注難度大。因此文本提出了一種多任務共享的RNN模型框架,其使用多個不同任務數據集來訓練同一個模型共享參數,已達到擴充數據集的作用。
文中作者提出了三個模型,如上圖所示:
三個模型的訓練方式相同:
本文提出了一個層次LSTM+Attention模型。作者認為,雖然一篇文章有多個句子組成但真正其關鍵作用的可能是其中的某幾個,因此對各個句子施加了注意力機制,以使得對文章語義貢獻較多的句子佔有更多的權重。同樣的,組成一個句子的單詞有多個,但是發揮重要作用的可能就那麼幾個,因此使用注意力機制以使得重要單詞發揮更大的作用,這些便是本文的核心思想。整個網路可分為三層,兩個LSTM層分別用來進行word encode和sentence encode,最頂上為一個全連接分類層。若加上兩層注意力層,則可認為網路為5層。下面簡單聊聊這五層網路的結構:
總體來說,本文看起來還是比較有意思的,符合人閱讀文章的習慣,我們寫文章的時候也是有中心詞和中心句的。但是由於這個層級結構是否會導致訓練慢或者不好訓練還不得而知。最後,文中還提出對文章按長短先進行排序,長度相似的進入一個batch,這將訓練速度加快了3倍。
本文提出了一個基於圖神經網路的文本分類方法。該方法的主要思想是將所有文章及其包含的詞彙都放到一個圖網路裡面去,圖網路中的節點分為兩種類型:單詞節點和文章節點。其中連接單詞節點和文章節點的邊的權重使用TF-IDF來表示,而單詞與單詞之間邊的權重則是使用點互信息(PMI)來表示。點互信息與傳統語言模型中的條件概率計算方式非常相似。只不過PMI採用的是滑窗方式而條件概率是直接在所有語料中進行統計,可以認為是將所有語料當做一個大窗口,這時就又與PMI相同了。
A表示圖網路的鄰接矩陣,表示如下:
GCN同樣也是可以含有多層隱藏層的,其各個層的計算方式如下:
其中A'為歸一化對稱鄰接矩陣, W0 ∈ R^(m×k) 為權重矩陣,ρ是激活函數,例如 ReLU ρ(x) = max(0,x) 如前所述,可以通過疊加多個GCN層來合並更高階的鄰域信息:
其中j表示層數。
損失函數定義為所有已標記文檔的交叉熵誤差:
文中提到Text GCN運行良好的原因有兩個方面:
但是其也有一些缺:
總的來說,文章的idea還是挺有意思的,效果也還不錯。初識GCN可能還是有一點難以理解,可以參考如下資料進行進一步學習:
基於圖卷積網路的文本分類演算法
如何理解 Graph Convolutional Network(GCN)?