這裡介紹slot fillng,可以使用feedforward network。對於輸入的詞彙,可以採用1 of n編碼或者其他方式,輸入後,進行歸類操作。但是,由於網路沒有記憶力,所以對於前後語句有關聯的問題,很難解決。需要採用recurrent neural network。每一次hidden layer的輸出會被儲存,然後作為共同輸入進行網路操作。也就是說,輸入的順序會影響輸出的結果。
當然,rnn可以採用deep structure的形式。rnn可以採用hidden layer的值進行儲存而後續使用,稱為elman network,當然也可以採用output layer輸出值進行儲存,稱為jordan network。rnn可以採用雙向的形式,如下圖所示,其好處是rnn能夠接觸到的資料範圍既包括正向的資訊,也包括反向的資訊,因此其資訊利用率較高。
乙個較為廣泛的例子是lstm,long short-term memory,其memory形式較為常用。包含三個部分,首先是input gate,如果網路的一部分想要寫入memory,則需要通過input gate,該gate由signal control(scalar)進行控制,這個控制訊號同樣由網路的一部分進行控制,這些都是通過訓練資料學習得到。對於memory資料讀取,同樣也存在乙個output gate,決定其他網路是否可以從中讀取資料。第三個部分是forget gate,可以決定memory cell什麼時候檫除內部資料,進行format操作,這也是有網路其他部分決定的。因此,如下圖所示,可以認為lstm有四個輸入,乙個輸出。
更詳細的lstm如下圖所示,包含了輸入訊號z,輸入控制訊號zi,forget gate控制訊號zf,輸出控制訊號zg。一般的三個控制訊號多採用sigmoid function,值範圍為0~1,代表gate開啟的程度。
與神經網路的原形有所差異,lstm需要四個輸入,因此需要將輸入乘以不同的權重,作為各個輸入的情況,然後將lstm作為神經元進行訓練操作。
與rnn的關係是,可以將memroy cell裡面資料表示成乙個vector,表示為ct
−1c t−
1;而對於輸入資料,可以通過矩陣乘法轉換為四個向量,z,
zi,z
o,zf
z ,z
i,zo
,zf。
2023年2月8日
同樣可以採用gd進行訓練,對於rnn可以採用bptt進行引數更新。但是很多情況下,rnn的誤差曲線可能會出現不收斂的情況,其可能原因是程式出現bug或者是由於rnn的誤差曲線存在問題。如下圖所示,rnn的error su***ce很崎嶇,要麼非常平坦,要麼非常陡峭。這種特性來自於memory效應,由於具有記憶效應,因此對於輸入的一點變化,可能會造成 gradient explode或者gradient vanishing。
採用lstm進行訓練,可以解決gradient vanishing。lstm存在乙個forget gate,可以在適當時候將memory進行清空。
乙個較為有趣的模型為attention-based model,對於能夠操作reading head controller和writing head controller的情況,最終形成了neural turing machine。使用的場景包括reading comprehension。
deep learning能夠實現較好的功能。
二者可以結合,可以通過rnn進行預處理,然後進行structured learning。例如,語音處理可以如下圖處理,將二者進行結合。還可以進行semantic tagging,
2023年2月9日
李巨集毅機器學習 Introduction
人工智慧是我們想要達到的目標,即讓機器和人一樣智慧型。而機器學習是方法,讓機器從資料中學習,從而得到智慧型的方法。智慧型是什麼呢?對於人類智慧型而言,根據霍華德 加德納的多元智慧型理論,人類的智慧型分為以下七種智慧型 這不僅涵蓋了現在人工智慧的研究領域,計算機視覺 語音識別 自然語言處理等。而且也指...
李巨集毅機器學習attack model 學習筆記
loss函式及限制條件 無目標攻擊 l 負的 y 與y true 交叉熵 輸入的x 使y 與y true越遠越好 有目標攻擊 輸入的x 使y 與y true越遠越好且y 與y false越近越好 限制條件 x與x0距離需要小於乙個值,不被發現,否則攻擊就無意義 攻擊的目標是x在乙個小的變化內使模型失...
李巨集毅機器學習 學習筆記
function set就是model 機器學習3大步驟 1.定義模型 function 集合 2.指定模型 function 好壞的評價指標 3.通過演算法選擇到最佳的模型 function alphago下棋模型抽象為棋局向下一步的分類問題 減少擁有label的data用量的方法 1.semi ...