NLP理論基礎和實踐(高階)task 05

2021-09-26 06:12:25 字數 2634 閱讀 6500

nlp理論基礎和實踐(高階)記錄。時間週期:兩周

task

迴圈神經網路的主要用途是處理和**序列資料。

對於乙個序列資料,可以將這個序列上不同時刻的資料依次傳入迴圈神經網路的輸入層,而輸出可以是對序列中下乙個時刻的**,也可以是對當前時刻資訊的處理結果(比如語音識別結果)。

1、一般rnn的結構

我們從基礎的神經網路中知道,神經網路包含輸入層、隱層、輸出層,通過啟用函式控制輸出,層與層之間通過權值連線。啟用函式是事先確定好的,那麼神經網路模型通過訓練「學「到的東西就蘊含在「權值「中。

基礎的神經網路只在層與層之間建立了權連線,rnn最大的不同之處就是在層之間的神經元之間也建立的權連線。如圖。

這是乙個標準的rnn結構圖,圖中每個箭頭代表做一次變換,也就是說箭頭連線帶有權值。左側是摺疊起來的樣子,右側是展開的樣子,左側中h旁邊的箭頭代表此結構中的「迴圈「體現在隱層。

在展開結構中我們可以觀察到,在標準的rnn結構中,隱層的神經元之間也是帶有權值的。也就是說,隨著序列的不斷推進,前面的隱層將會影響後面的隱層。圖中o代表輸出,y代表樣本給出的確定值,l代表損失函式,我們可以看到,「損失「也是隨著序列的推薦而不斷積累的。

除上述特點之外,標準rnn的還有以下特點:

1、權值共享,圖中的w全是相同的,u和v也一樣。

2、每乙個輸入值都只與它本身的那條路線建立權連線,不會和別的神經元連線。

2、lstm

下面來了解一下lstm(long short-term memory)。長短期記憶網路是rnn的一種變體,rnn由於梯度消失的原因只能有短期記憶,lstm網路通過精妙的門控制將短期記憶與長期記憶結合起來,並且一定程度上解決了梯度消失的問題。

lstm是一種擁有三個「門」的特殊網路結構,包括遺忘門、輸入門、輸出門。所謂「門」結構就是乙個使用sigmoid神經網路和乙個按位做乘法的操作,這兩個操作合在一起就是乙個「門」結構。

[1]「遺忘門」的作用是讓迴圈神經網路「忘記」之前沒有用的資訊。

[2]迴圈神經網路「忘記」了部分之前的狀態後,還需要從當前的輸入補充最新的記憶。這個過程就是「輸入門」完成的。

[3]lstm結構在計算得到新狀態後需要產生當前時刻的輸出,這個過程是由「輸出門」完成的。

tensorflow中可以通過

tf.nn.rnn_cell.basiclstmcell()來實現lstm

3、gru結構

gru是lstm網路的一種效果很好的變體,它較lstm網路的結構更加簡單,而且效果也很好,因此也是當前非常流形的一種網路。gru既然是lstm的變體,因此也是可以解決rnn網路中的長依賴問題。

在lstm中引入了三個門函式:輸入門、遺忘門和輸出門來控制輸入值、記憶值和輸出值。而在gru模型中只有兩個門:分別是更新門和重置門。具體結構如下圖所示:

tensorflow中可以通過

tf.nn.rnn_cell.grucell()來實現bilstm

4、bilstm

如果能像訪問過去的上下文資訊一樣,訪問未來的上下文,這樣對於許多序列標註任務是非常有益的。例如,在最特殊字元分類的時候,如果能像知道這個字母之前的字母一樣,知道將要來的字母,這將非常有幫助。

雙向迴圈神經網路(brnn)的基本思想是提出每乙個訓練序列向前和向後分別是兩個迴圈神經網路(rnn),而且這兩個都連線著乙個輸出層。這個結構提供給輸出層輸入序列中每乙個點的完整的過去和未來的上下文資訊。下圖展示的是乙個沿著時間展開的雙向迴圈神經網路。六個獨特的權值在每乙個時步被重複的利用,六個權值分別對應:輸入到向前和向後隱含層(w1, w3),隱含層到隱含層自己(w2, w5),向前和向後隱含層到輸出層(w4, w6)。值得注意的是:向前和向後隱含層之間沒有資訊流,這保證了展開圖是非迴圈的。

tensorflow中可以通過

tf.nn.rnn_cell.basiclstmcell()來實現bilstm

5、深層迴圈神經網路(drnn)

tensorflow中可以通過

tf.rnn_cell.multirnncell(lstm * number_of_layer)來構建drnn,其中number_of_layer表示了有多少層

在我們構建自己的任務模型時,往往會設定dropout來讓構建的網路模型更加健壯,類似在卷積神經網路只在最後全連線層使用dropout,drnn一般只在不同層迴圈體結構中使用dropout,而不在同一層的迴圈體結構中使用。即從時刻t-1傳遞到t時刻時,rnn不進行狀態的dropout,但在同一時刻t中,不同層迴圈體之間會使用dropout。

NLP(理論基礎)

小白一枚,看了很多天的nlp,也沒看出什麼頭緒。不 的我感覺只要用心去看,即使看不懂,一點一點的去啃,也能看個大概。最重要的是思想。1 nltk安裝 pip install nltk nltk就是乙個工具包,裡面有很多語料,很多模型。可以用來分詞。import nltk sentence hello...

爬蟲高階之路 1 理論基礎

在大資料的背景下,我們需要網路上的金融,醫學,新聞等資料進行研究時,如果人工的手段去獲取這些資料的話,需要大量的時間和精力。為此網路爬蟲的產生為我們解決了這些問題。網路爬蟲可以自動的瀏覽網路中的資訊,當然瀏覽資訊的時候需要按照我們制定的規則去瀏覽,這些規則我們將其稱為網路爬蟲的演算法。使用pytho...

Camera理論基礎和工作原理

1 拍照成像流程 專業詞彙單位 camera理論基礎和工作原理 光線通過鏡頭lens進入攝像頭內部,然後經過ir filter過濾紅外光,最後到達sensor 感測器 senor分為按照材質可以分為cmos和ccd兩種,可以將光學訊號轉換為電訊號,再通過內部的adc電路轉換為數碼訊號,然後傳輸給ds...