CS224D學習筆記

2021-08-04 05:26:39 字數 1256 閱讀 5170

第二次看了,理解深了一些

2017.7.24

傳統方法 通過統計乙個單詞周圍的單詞的頻率,獲得每個單詞的wordvec,然後通過svd降維,去除較大奇異值的矩陣,把vec長度在25-1000內。

缺點是1.單詞很多的時候svd複雜度很高

2.要新增新單詞時很困難,擴充套件性差

深度學習可以部分解決。

wordvector和具體任務一起訓練有可能有更好的訓練效果,但是可能會把wordvector變得主要是為了訓練任務了,如果訓練量很少,可能有些單詞變化了,有些還沒有變化,不太好。

訓練量大的時候帶著wordvector一起訓練比較好

2017.7.25

監督學習:

希望得到乙個輸入到輸出的函式

函式的形式已經給定,若干引數未知,

需要定義loss function,用梯度不斷改進引數,逼近想要得到的引數值。

loss function 加上乙個引數平方和的均值防止過擬合(防止乙個引數太大)

盡量少用for迴圈,多用矩陣乘法

普通的softmax(logistics regression)只能提供線性的邊界(因為乘以乙個矩陣之後看大於0還是小於0,就等於是一條線(或者乙個平面)的方程,只有線性邊界)

神經網路隱層有多個節點,每個節點的觸發函式都是非線性的,結合起來可以提供非線性的邊界。

不同任務一起訓練底層網路和wordvector,只有上層的softmax層分開訓練

bp演算法的過程是先自下而上再自上而下,自上而下的時候,softmax層分開訓練,其它層的loss用兩個加在一起。

因為在bp的時候乙個神經元連線到的weights都會有同樣的loss,然後再乘以連線的下層神經元,構成乙個weight的loss,所以可以疊加

特別是訓練wordvector的時候,需要很多的資料,所以可以不同任務同時訓練。

花式調參:

1.學習率:在平穩之後減少學習率

2.初始化:不能梯度消失

2017.7.27

昨天學的一課tensorflow,還行

然後看了一課gru和lstm,gru的用處,乙個是像動量一樣,當前狀態要繼承部分上一狀態;第二個是計算當前狀態的新值的時候,利用上一狀態的多少也要學習。

lstm類似,但是cell儲存的state和為下乙個狀態提供的h不是乙個值,利用h來產生輸出,利用c來傳遞前面的資訊,每次依然要考慮取多少前面的資訊。

recursive nn,用來分詞,遞迴地每次合併兩個單詞/句子/片語,問題在於每次要選擇兩個得分最高的。

cs224d 詞向量表示

1.1 word meaning的兩種定義 definition meaning 單詞的含義指代了客觀存在的具體事物,如眼鏡。distributional similarity meaning 上下文代表了單詞的含義,如下 distributional similarity meaning也是wor...

NLP深度學習 CS224學習筆記12

1.2 語法鬆綁su rnn 不同類別輸入的最優w不同。對學習w的工作量加大,但效能提公升。現在模型受輸入的語法類別條件約束。我們決定類別的方法是通過乙個簡單的probabilistic context free grammar pcfg,通過計算penn tree bank的統計摘要習得。例如th...

CS224n學習筆記 Lecture1 2

開始的這部分主要是對dl4nlp的乙個簡介。個人理解,dl4nlp中,所有層級都是以向量的形式進行處理,用向量表示單詞 用向量表示句子等。向量是最靈活的形式,維度自由,可組成矩陣,可組成高維的tensor等。進行nlp等後續任務,首先需要輸入。輸入 主要有兩個,乙個是來自語音speech,乙個是來自...