TNU深度學習筆記2

2021-07-23 01:24:20 字數 1591 閱讀 1334

這節課主要講了怎麼訓練rnn,用的方法是bptt(backpropagation through time)。

rnn的目標是訓練引數wh

,wo,

wi。bptt的做法是,先將rnn隨著時間展開,如下圖:

展開之後像訓練普通神經網路一樣做backpropagation就行了,唯一的區別在於rnn輸入是乙個連續的序列,輸出也是乙個連續的序列,因此在每個輸出的y上都要做backpropagation的初始化。

但是訓練rnn沒有這麼容易,原因是:

可能的解決方法有:

這節課介紹了structured learning和解決structured learning問題的基本框架。

解決structured learning的基本框架:

為了表示除以上框架,有三個問題需要解決:

這裡聯絡到了hmm,並推薦了viterbi algorithm。

給定觀察空間o=

,狀態空間s=

,乙個觀察序列y=

。轉移矩陣a∈

rk∗k

,aij

表示從狀態si

轉移到sj

的概率。放射矩陣b∈

rk∗n

,bij

表示觀察點oj

來自狀態si

的概率。路徑x=

表示乙個序列產生觀察序列y=

的狀態序列。初始化的π∈

rk∗1

,表示x1

==si 的概率。

在這個dp問題中,我們用到兩個二維陣列t1

,t2∈

rk∗t

。 t1

[i][

j]表示到

j 的最可能的路徑x^

=,並且xj

^=si

的概率。 t2

[i][

j]儲存了這條路徑。

狀態轉移方程: t1

[i][

j]=m

axk(

t1[k

][j−

1]∗a

ki∗b

iyj)

, t2

[i][

j]=a

rgma

xk(t

1[k]

[j−1

]∗ak

i∗bi

yj)

深度學習筆記(2)

2 分詞 對每個句子進行分詞,也就是將乙個句子劃分成若干個詞 token 轉換為乙個詞的序列。3 建立字典 將每個詞對映到乙個唯一的索引 index 為了方便模型處理,我們需要將字串轉換為數字。因此我們需要先構建乙個字典 vocabulary 將每個詞對映到乙個唯一的索引編號。4 將詞轉為索引 使用...

《python深度學習》筆記2

這是 python深度學習 的 我的一些注釋筆記,可能有一些函式已經有庫實現了,我先放在著,以後遇到了我再過來補,如果有大神指教就更好了 import numpy as np import pandas as pd from keras.datasets import imdb from keras...

動手學深度學習學習筆記(2)

操作 算術操作 在pytorch中,同一種操作可能有很多種形式,下面用加法作為例子。加法形式一 y torch.rand 5,3 print x y 加法形式二 print torch.add x,y 還可指定輸出 result torch.empty 5,3 torch.add x,y,out r...