Task1 - 3

Task 1

線性回歸

模型

線性回歸用于回歸預(yù)測(cè)呕乎,即預(yù)測(cè)一個(gè)連續(xù)的數(shù)值观堂。
y=w_1*x_1+w_2*x_2+...+w_n*x_n+b
一個(gè)n元線性回歸模型

其中 w_{1..n},b是要模型學(xué)習(xí)的值懈万,w_{1..n}被稱為權(quán)重,b稱為偏置

矩陣形式:
n維列向量W,X;\\y = W^TX+b

數(shù)據(jù)集

分為訓(xùn)練集泻蚊,驗(yàn)證集躲舌,測(cè)試集。

訓(xùn)練集(平時(shí)的作業(yè)):用于訓(xùn)練模型以學(xué)習(xí)真實(shí)參數(shù)的數(shù)據(jù)的集合性雄。

驗(yàn)證集(模擬考):通常是從訓(xùn)練集中抽取一部分出來(lái)孽糖,不參與訓(xùn)練,用于驗(yàn)證訓(xùn)練效果并調(diào)整訓(xùn)練超參數(shù)的集合毅贮。

測(cè)試集(高考办悟,考研):以其誤差近似模型泛化誤差,測(cè)試模型的泛化能力滩褥。

損失函數(shù)

衡量模型參數(shù)與真實(shí)參數(shù)的差距的函數(shù)病蛉,損失函數(shù)越小說(shuō)明模型參數(shù)的分布越逼近真實(shí)的參數(shù)分布。所以模型學(xué)習(xí)的目標(biāo)即為最小化損失函數(shù)。

對(duì)于線性回歸铺然,由于目標(biāo)是預(yù)測(cè)一個(gè)連續(xù)的數(shù)值俗孝,因此選擇平均平方誤差和損失函數(shù)-均方差損失函數(shù)(Mean Square Error-MSE)。
Loss_{MSE}=\frac{1}{2n}\sum_{k=1}^{n}(\hat{y}-y)^2
其中常數(shù)\frac{1}{2}使對(duì)平方項(xiàng)求導(dǎo)后的常數(shù)系數(shù)為1魄健,這樣在形式上稍微簡(jiǎn)單一些赋铝。

為什么要用它作為損失函數(shù)?:

在回歸問(wèn)題中沽瘦,x的測(cè)量值 t會(huì)存在一定的誤差革骨。

假定對(duì)所有的數(shù)據(jù)點(diǎn) x,模型預(yù)測(cè)值y(x,w) 與目標(biāo)值 t之間的誤差是一樣的析恋,并服從一定的概率分布良哲,比如均值為0,方差為\beta^{-1}=\sigma^2的高斯分布助隧,則有:

[圖片上傳失敗...(image-16013e-1581687516972)]

即:

[圖片上傳失敗...(image-30e8c9-1581687516972)]

image

對(duì)于一組獨(dú)立同分布的數(shù)據(jù)點(diǎn) [圖片上傳失敗...(image-3941f3-1581687516972)] 筑凫,以及這些數(shù)據(jù)對(duì)應(yīng)的目標(biāo)值 [圖片上傳失敗...(image-4d30cd-1581687516972)] ,我們得到關(guān)于這組數(shù)據(jù)的似然函數(shù):

[圖片上傳失敗...(image-bed5e9-1581687516972)]

其中并村,高斯分布的概率函數(shù)為:

[圖片上傳失敗...(image-ab5ed8-1581687516972)]

可以通過(guò)極大化這個(gè)似然函數(shù)得到關(guān)于 w的一組極大似然解巍实。

不過(guò),更方便的做法是極大對(duì)數(shù)似然函數(shù)哩牍,因?yàn)閷?duì)數(shù)函數(shù)是嚴(yán)格單增的蔫浆,所以極大對(duì)數(shù)似然的解與極大似然的解是相同的。

對(duì)數(shù)似然函數(shù)為:

[圖片上傳失敗...(image-4a09ba-1581687516972)]

如果我們不考慮 \beta 的影響姐叁,那么瓦盛,對(duì)于參數(shù) w來(lái)說(shuō),最小化平方誤差和的解外潜,就等于極大對(duì)數(shù)似然的估計(jì)原环。

因此,最小化平方誤差和 E(w) 與極大似然等價(jià)处窥,考慮到似然函數(shù)的定義嘱吗,優(yōu)化 E(w)相當(dāng)于在給定高斯誤差的假設(shè)下,尋找一組 w 使得觀察到目標(biāo)值w的概率最大滔驾。

作者:李金ECHO
鏈接:https://zhuanlan.zhihu.com/p/33568166
來(lái)源:知乎
著作權(quán)歸作者所有谒麦。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處哆致。

優(yōu)化函數(shù)-隨機(jī)梯度下降

用以搜索改進(jìn)模型參數(shù)使得目標(biāo)(損失函數(shù))最小化的方法绕德。
\theta{new} = \theta{old}-\alpha*\nabla_{\theta}Loss

在每次迭代中,先隨機(jī)均勻采樣一個(gè)由固定數(shù)目訓(xùn)練數(shù)據(jù)樣本所組成的小批量(mini-batch)\mathcal{B}摊阀,然后求小批量中數(shù)據(jù)樣本的平均損失有關(guān)模型參數(shù)的導(dǎo)數(shù)(梯度)耻蛇,最后用此結(jié)果與預(yù)先設(shè)定的一個(gè)正數(shù)的乘積作為模型參數(shù)在本次迭代的減小量踪蹬。
w_1\leftarrow w_1-\frac{\eta}{|B|}\sum_{i\in B}\frac{\partial Loss}{\partial w_1}= w_1-\frac{\eta}{|B|}\sum_{i\in B}x^{(i)}_1(w_1*x^{(i)}_1+w_1*x^{(i)}+b-y^{(i)}_1)
在上式中,\mathcal{B} 代表每個(gè)小批量中的樣本個(gè)數(shù)(批量大小臣咖,batch size)跃捣, \eta稱作學(xué)習(xí)率(learning rate)并取正數(shù)。

關(guān)鍵如何求出在于損失函數(shù)對(duì)于所有待學(xué)習(xí)參數(shù)的梯度 -》矩陣求導(dǎo)+反向傳播

矩陣求導(dǎo)術(shù)(上) - 長(zhǎng)軀鬼俠的文章 - 知乎 https://zhuanlan.zhihu.com/p/24709748

矩陣求導(dǎo)術(shù)(下) - 長(zhǎng)軀鬼俠的文章 - 知乎 https://zhuanlan.zhihu.com/p/24863977

Matrix Cookbook-MIT

其他的一些基于梯度的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法:

  1. SGD+動(dòng)量(Momentum)
  2. Nesterov梯度加速法
  3. Adagrad
  4. AdaDelta
  5. Adam

一文看懂各種神經(jīng)網(wǎng)絡(luò)優(yōu)化算法:從梯度下降到Adam方法 - 量子學(xué)園的文章 - 知乎 https://zhuanlan.zhihu.com/p/27449596

矢量計(jì)算

在python中夺蛇,通常使用經(jīng)過(guò)優(yōu)化的科學(xué)計(jì)算庫(kù)如numpy疚漆,pytorch等,進(jìn)行矢量計(jì)算比循環(huán)快非常多(幾十到上百倍)

而且并行化的矢量計(jì)算更適于GPU的運(yùn)算刁赦。

pytorch實(shí)現(xiàn)以及知識(shí)點(diǎn)

import torch
import torch.nn as nn
import torch.utils.data as data
import numpy as np

# 確定真實(shí)權(quán)重(娶聘,偏置)
true_w = [3.5,-1.6]
true_b = 6.6

# 生成若干樣本,并在y上加上服從正態(tài)分布的誤差
X = np.random.rand(10,2)*3
Y = np.dot(X,true_w)
Y+=np.random.normal(0,0.01,10)
X = torch.Tensor(X)
Y = torch.Tensor(Y)

#模型結(jié)構(gòu)
class LinearNet(nn.Module):
    def __init__(self):
        super(LinearNet,self).__init__()
        self.linear = nn.Linear(2,1)
    def forward(self,x):
        return self.linear(x)
net = LinearNet()

#數(shù)據(jù)生成器
dataset = data.DataLoader(data.TensorDataset(X,Y),batch_size=2,num_workers=1)
import torch.optim as optim
#聲明優(yōu)化器
optimizer = optim.SGD(net.parameters(), lr=0.03)

epoch = 20
cri = nn.MSELoss()
for i in range(epoch):
    for x,y in dataset:
        #模型預(yù)測(cè)結(jié)果
        out = net(x)
        #計(jì)算損失
        l = cri(out,y.view(-1,1))
        #重置優(yōu)化器梯度
        optimizer.zero_grad()
        #反向傳播
        l.backward()
        # 一步優(yōu)化
        optimizer.step()
    print('epoch %d, loss: %f' % (i+1, l.item()))

Softmax與分類模型

softmax

y_i=\frac{exp(x_i)}{\sum_{k=1}^{n}exp(x_k)}

作用:

  1. 將向量的各分量壓縮到0-1的范圍-概率形式

  2. 通過(guò)指數(shù)函數(shù)將最大的分量放大截型,從而擴(kuò)大最大的分量與其他分量的差距,同時(shí)能保留部分分量(所謂的soft)儒溉。

  3. 與交叉熵?fù)p失函數(shù)結(jié)合宦焦,梯度形式簡(jiǎn)潔

    當(dāng)我們對(duì)分類的Loss進(jìn)行改進(jìn)的時(shí)候,我們要通過(guò)梯度下降顿涣,每次優(yōu)化一個(gè)step大小的梯度

    我們定義選到y(tǒng)i的概率是

    [圖片上傳失敗...(image-b9208c-1581687516972)]

    然后我們求Loss對(duì)每個(gè)權(quán)重矩陣的偏導(dǎo)波闹,應(yīng)用鏈?zhǔn)椒▌t(中間推導(dǎo)省略)

    [圖片上傳失敗...(image-fbee6c-1581687516972)]

    最后結(jié)果的形式非常的簡(jiǎn)單涛碑,只要將算出來(lái)的概率的向量對(duì)應(yīng)的真正結(jié)果的那一維減1精堕,就可以了

    作者:楊思達(dá)zzzz
    鏈接:https://www.zhihu.com/question/23765351/answer/139826397
    來(lái)源:知乎
    著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)蒲障,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處歹篓。

交叉熵?fù)p失函數(shù)

衡量數(shù)據(jù)之間分布差距 -》目標(biāo):最小化模型預(yù)測(cè)分類概率分布與真實(shí)分類概率分布的差距

兩種理解方式:

  1. KL散度

    為了讓學(xué)到的模型分布更貼近真實(shí)數(shù)據(jù)分布,我們最小化 模型數(shù)據(jù)分布 與 訓(xùn)練數(shù)據(jù)之間的KL散度揉阎,而因?yàn)橛?xùn)練數(shù)據(jù)的分布是固定的庄撮,因此最小化KL散度等價(jià)于最小化交叉熵。

    為什么交叉熵(cross-entropy)可以用于計(jì)算代價(jià)毙籽? - 微調(diào)的回答 - 知乎 https://www.zhihu.com/question/65288314/answer/244557337

  2. 分類模型最大化似然函數(shù)

    給定一個(gè)包含N個(gè)數(shù)據(jù)樣本的訓(xùn)練集 [圖片上傳失敗...(image-b1664f-1581687516972)] 洞斯,以及這些數(shù)據(jù)對(duì)應(yīng)的類別 [圖片上傳失敗...(image-f69f45-1581687516972)] ,這里坑赡, [圖片上傳失敗...(image-8a411b-1581687516972)] 烙如,分類問(wèn)題的目標(biāo)是利用這組訓(xùn)練集,尋找一個(gè)合適的模型毅否,來(lái)預(yù)測(cè)一個(gè)新的數(shù)據(jù)點(diǎn) x對(duì)應(yīng)的類別 \hat{t} ⊙翘現(xiàn)在假設(shè)模型的參數(shù)為 w,模型輸出是屬于每一類的概率螟加,預(yù)測(cè)為第 [圖片上傳失敗...(image-dc0399-1581687516972)] 類的概率為 [圖片上傳失敗...(image-22d8e2-1581687516972)] 刀闷。

    對(duì)于樣本x熊泵,其屬于第t 類的概率為:

    [圖片上傳失敗...(image-648599-1581687516972)]

    因此,似然函數(shù)為:

    [圖片上傳失敗...(image-8ed587-1581687516972)]

    對(duì)數(shù)似然為:

    [圖片上傳失敗...(image-c0d8b2-1581687516972)]

    極大化對(duì)數(shù)似然甸昏,相當(dāng)于極小化:

    [圖片上傳失敗...(image-5fcfe-1581687516972)]

    事實(shí)上顽分,這正是我們常使用的多類交叉熵?fù)p失函數(shù)的表示形式。

    因此施蜜,在分類問(wèn)題中卒蘸,最小化交叉熵?fù)p失函數(shù)相當(dāng)與極大樣本的似然函數(shù)。

    https://zhuanlan.zhihu.com/p/33568166

單層Softmax分類器實(shí)現(xiàn)圖像分類

import torch
import torchvision
import torchvision.transforms as transforms
import torch.nn as nn

#下載FashionMNIST數(shù)據(jù)集
mnist_train = torchvision.datasets.FashionMNIST(root='./Datasets/FashionMNIST', train=True, download=True, transform=transforms.ToTensor())
mnist_test = torchvision.datasets.FashionMNIST(root='./Datasets/FashionMNIST', train=False, download=True, transform=transforms.ToTensor())

# 讀取數(shù)據(jù)
batch_size = 256
num_workers = 4
train_iter = torch.utils.data.DataLoader(mnist_train, batch_size=batch_size, shuffle=True, num_workers=num_workers)
test_iter = torch.utils.data.DataLoader(mnist_test, batch_size=batch_size, shuffle=False, num_workers=num_workers)

num_inputs = 784
num_outputs = 10
class classifier(nn.Module):
    def __init__(self):
        super(classifier,self).__init__()
        self.linear = nn.Linear(num_inputs,num_outputs)
        self.sm = nn.Softmax(1)
    def forward(self,x):
        x = self.linear(x.view(-1,num_inputs))
        return self.sm(x)
    
net = classifier()
nn.init.normal_(net.linear.weight, mean=0, std=0.1)
nn.init.constant_(net.linear.bias, val=0)

loss = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(net.parameters(), lr=0.1)

epoch = 5
for i in range(epoch):
    train_l_sum, train_acc_sum, train_num = 0.0, 0.0, 0
    for x,y in train_iter:
        out = net(x)
        l = loss(out,y).sum()
        optimizer.zero_grad()
        l.backward()
        optimizer.step()
        
        train_l_sum += l.item()
        train_acc_sum += (out.argmax(dim=1) == y).sum().item()
        train_num += y.shape[0]
    test_acc_sum,test_num = 0,0
    for x,y in test_iter:
        out = net(x)
        test_acc_sum += (out.argmax(dim=1) == y).sum().item()
        test_num += y.shape[0]
    print('epoch %d, loss %.4f, train acc %.3f, test acc %.3f'
              % (i + 1, train_l_sum / train_num, train_acc_sum / train_num, test_acc_sum/test_num))

多層感知機(jī)

隱藏層

多層隱藏層可以理解為對(duì)數(shù)據(jù)進(jìn)行不同層次抽象特征的提取

通用近似定理 (Universal approximation theorem):如果一個(gè)前饋神經(jīng)網(wǎng)絡(luò)具有線性輸出層和至少一層隱藏層翻默,只要給予網(wǎng)絡(luò)足夠數(shù)量的神經(jīng)元缸沃,便可以實(shí)現(xiàn)以足夠高精度來(lái)逼近任意一個(gè)在 ?n 的緊子集 (Compact subset) 上的連續(xù)函數(shù)。

激活函數(shù)

仿射變換:H=WX+B

在不增加非線性的激活函數(shù)時(shí)修械,多層感知機(jī)仍等價(jià)于單層仿射變換趾牧。

常見(jiàn)激活函數(shù)

sigmoid

  • 映射到0-1
  • 存在梯度消失
  • 計(jì)算exp消耗較大

tanh

  • 存在梯度消失
  • 關(guān)于原點(diǎn)對(duì)稱

ReLU

  • 運(yùn)算速度快
  • 緩解梯度消失
  • 存在神經(jīng)元死亡現(xiàn)象

LeakyReLU

  • 解決神經(jīng)元死亡問(wèn)題

PReLU

  • 解決神經(jīng)元死亡問(wèn)題

Maxout

  • 對(duì)ReLU和LeakyReLU的一般化歸納
  • 解決神經(jīng)元死亡問(wèn)題
  • 參數(shù)數(shù)量較多

多層感知機(jī)圖像分類

將Softmax分類器的結(jié)構(gòu)改為:

num_inputs = 784
num_hidden = 100
num_outputs = 10
class classifier(nn.Module):
    def __init__(self):
        super(classifier,self).__init__()
        self.linear1 = nn.Linear(num_inputs,num_hidden)
        self.relu = nn.ReLU()
        self.linear2 = nn.Linear(num_hidden,num_outputs)
        self.sm = nn.Softmax(1)
    def forward(self,x):
        x = self.linear1(x.view(-1,num_inputs))
        x = self.linear2(self.relu(x))
        return self.sm(x)
    
net = classifier()
nn.init.normal_(net.linear1.weight, mean=0, std=0.1)
nn.init.constant_(net.linear1.bias, val=0)
nn.init.normal_(net.linear2.weight, mean=0, std=0.1)
nn.init.constant_(net.linear2.bias, val=0)

Task 2

文本預(yù)處理

讀入文本

分詞

漢語(yǔ)NLP庫(kù):

HanLP

中文分詞 詞性標(biāo)注 命名實(shí)體識(shí)別 依存句法分析 語(yǔ)義依存分析 新詞發(fā)現(xiàn) 關(guān)鍵詞短語(yǔ)提取 自動(dòng)摘要 文本分類聚類 拼音簡(jiǎn)繁轉(zhuǎn)換 自然語(yǔ)言處理

https://github.com/hankcs/HanLP

jieba

結(jié)巴中文分詞

https://github.com/fxsjy/jieba

綜合

awesome-chinese-nlp 中文自然語(yǔ)言處理相關(guān)資料

https://github.com/crownpku/Awesome-Chinese-NLP

其他語(yǔ)言NLP庫(kù):

綜合

awesome-nlp - A curated list of resources dedicated to Natural Language Processing (NLP)

https://github.com/keon/awesome-nlp

NLTK

http://nltk.org/

建立字典

考慮詞頻閾值,是否使用特殊token

  • '<pad>' - padding肯污, 填充句子使得句子等長(zhǎng)
  • '<bos>' - beginning of sentence翘单,句子開頭標(biāo)記
  • '<eos>' - end of sentence, 句子結(jié)束標(biāo)記
  • '<unk>' - unknown蹦渣,不在詞庫(kù)中的詞的標(biāo)記

詞序列轉(zhuǎn)換為索引序列

語(yǔ)言模型

基于n元語(yǔ)法的語(yǔ)言模型

  • 語(yǔ)言模型 - 用于計(jì)算一個(gè)句子是人講的概率的模型(通順與否)

詞語(yǔ)序列 S = w_1,w_2,..,w_n

則一個(gè)句子的概率表示為P(S)=P(w_1,w_2,..,w_n)=P(w_1)P(w_2|w_1)...P(w_n|w_1,w_2,..,w_{n-1})

  • 馬爾科夫假設(shè) - 任意一個(gè)詞出現(xiàn)的概率之和它前面的幾個(gè)詞(上文)有關(guān)

一元模型:P(S)=P(w_1)P(w_2)...P(w_n)

二元模型:P(S)=P(w_1)P(w_2|w_1)...P(w_n|w_{n-1})

P(w_i)\approx \frac{num(w_i)}{|W|}

P(w_{i+1}|w_{i})\approx \frac{num(w_i,w_{i+1})}{num(w_i}

時(shí)序數(shù)據(jù)的采樣

隨機(jī)采樣

每個(gè)樣本是原始序列上任意截取的一段序列哄芜,相鄰的兩個(gè)隨機(jī)小批量在原始序列上的位置不一定相毗

X:  tensor([[ 6,  7,  8,  9, 10, 11],
        [12, 13, 14, 15, 16, 17]]) 
Y: tensor([[ 7,  8,  9, 10, 11, 12],
        [13, 14, 15, 16, 17, 18]]) 

X:  tensor([[ 0,  1,  2,  3,  4,  5],
        [18, 19, 20, 21, 22, 23]]) 
Y: tensor([[ 1,  2,  3,  4,  5,  6],
        [19, 20, 21, 22, 23, 24]]) 

相鄰采樣

在相鄰采樣中,相鄰的兩個(gè)隨機(jī)小批量在原始序列上的位置相毗鄰柬唯。

X:  tensor([[ 0,  1,  2,  3,  4,  5],
        [15, 16, 17, 18, 19, 20]]) 
Y: tensor([[ 1,  2,  3,  4,  5,  6],
        [16, 17, 18, 19, 20, 21]]) 

X:  tensor([[ 6,  7,  8,  9, 10, 11],
        [21, 22, 23, 24, 25, 26]]) 
Y: tensor([[ 7,  8,  9, 10, 11, 12],
        [22, 23, 24, 25, 26, 27]]) 

循環(huán)神經(jīng)網(wǎng)絡(luò)

[圖片上傳失敗...(image-f8e810-1581687516972)]

在時(shí)間步t认臊,隱藏狀態(tài):
H_t=\phi(X_tW_{xh}+H_{t-1}W_{hh}+b_h)
輸出為:(沒(méi)有激活函數(shù))
O_t=H_tW_{hq}+b_q
隱藏狀態(tài)H_t可視為保存了在該時(shí)間步前的歷史信息

Task 3

過(guò)擬合、欠擬合及其解決方案

  • 訓(xùn)練誤差 - 模型在訓(xùn)練集上表現(xiàn)得誤差
  • 泛化誤差 - 模型在任意非訓(xùn)練集樣本數(shù)表現(xiàn)得誤差的(期望)

欠擬合

模型的訓(xùn)練誤差和泛化誤差都較高锄奢,即模型不能很好地從訓(xùn)練樣本中學(xué)習(xí)

解決方法:

增加輸入特征

減少正則化參數(shù)

增加模型復(fù)雜度

過(guò)擬合

模型的訓(xùn)練誤差遠(yuǎn)低于泛化誤差失晴,即模型學(xué)習(xí)到的特征不能很好地從訓(xùn)練集泛化到測(cè)試集,而是只屬于訓(xùn)練集的特征

解決辦法:

增加訓(xùn)練樣本

采用正則化方法

dropout-丟棄法

Batch Normalization

梯度消失與梯度爆炸

梯度消失與梯度爆炸的根本原因都是由于梯度更新的反向傳播方法拘央,在神經(jīng)網(wǎng)絡(luò)層數(shù)過(guò)深時(shí)师坎,對(duì)于離輸出層越遠(yuǎn)的層,如果輸出層的梯度大于1堪滨,其梯度會(huì)呈指數(shù)形式增加胯陋;如果小于1,其梯度會(huì)呈指數(shù)形式遞減袱箱。

梯度消失一般出現(xiàn)于深層網(wǎng)絡(luò)遏乔,或使用了不合適的激活函數(shù)

梯度爆炸一般出現(xiàn)于深層網(wǎng)絡(luò),或權(quán)值初始化太大

解決方法:

  1. - 預(yù)訓(xùn)練加微調(diào)
  2. - 梯度剪切发笔、權(quán)重正則(衰減)(針對(duì)梯度爆炸)
  3. - 使用不同的激活函數(shù)
  4. - 使用batchnorm
  5. - 使用殘差結(jié)構(gòu)
  6. - 使用LSTM網(wǎng)絡(luò)

詳解深度學(xué)習(xí)中的梯度消失盟萨、爆炸原因及其解決方法 - DoubleV的文章 - 知乎 https://zhuanlan.zhihu.com/p/33006526

循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)階

GRU - Gate Recurrent Unit

[圖片上傳失敗...(image-f03716-1581687516972)]

[圖片上傳失敗...(image-e0154-1581687516972)]

R_t Reset door 重置門

Z_t Update door 更新門

\tilde{h_t} 候選隱藏狀態(tài)門

原文中隱藏狀態(tài)與輸入的連結(jié)方式是 Concatenate,此處公式等價(jià)

1-Z_t在更新門中或在候選狀態(tài)中等價(jià)
R_t = \sigma(X_tW_{xr}+H_{t-1}W_{hr}+b_r)\\Z_t = \sigma(X_tW_{xz}+H_{t-1}W_{hz}+b_z)\\\tilde{h_t} = tanh(X_tW_{xh}+(R_t\odot H_{t-1})W_{hh}+b_h)\\H_t = Z_t \odot H_{t-1}+(1-Z_t)\odot\tilde{h_t}

LSTM - Long Short Term Memory

img

[圖片上傳失敗...(image-c908d6-1581687516972)]
F_t = \sigma(X_tW_{xf}+H_{t-1}W_{hf}+b_f)\\I_t = \sigma(X_tW_{xi}+H_{t-1}W_{hi}+b_i)\\O_t = \sigma(X_tW_{xo}+H_{t-1}W_{ho}+b_o)\\\tilde{C_t} = tanh(X_tW_{xc}+H_{t-1}W_{hc}+b_i)\odot I_t\\C_t = C_{t-1}\odot F_t+\tilde{C_t}\\H_t=O_t\odot tanh(C_t)

人人都能看懂的LSTM介紹及反向傳播算法推導(dǎo)(非常詳細(xì)) - 陳楠的文章 - 知乎 https://zhuanlan.zhihu.com/p/83496936

LSTM細(xì)節(jié)分析理解(pytorch版) - ymmy的文章 - 知乎 https://zhuanlan.zhihu.com/p/79064602

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末了讨,一起剝皮案震驚了整個(gè)濱河市捻激,隨后出現(xiàn)的幾起案子制轰,更是在濱河造成了極大的恐慌,老刑警劉巖胞谭,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件垃杖,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡丈屹,警方通過(guò)查閱死者的電腦和手機(jī)调俘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)旺垒,“玉大人彩库,你說(shuō)我怎么就攤上這事∠冉” “怎么了骇钦?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)竞漾。 經(jīng)常有香客問(wèn)我眯搭,道長(zhǎng),這世上最難降的妖魔是什么畴蹭? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任坦仍,我火速辦了婚禮鳍烁,結(jié)果婚禮上叨襟,老公的妹妹穿的比我還像新娘。我一直安慰自己幔荒,他們只是感情好糊闽,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著爹梁,像睡著了一般右犹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上姚垃,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天念链,我揣著相機(jī)與錄音,去河邊找鬼积糯。 笑死掂墓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的看成。 我是一名探鬼主播君编,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼川慌!你這毒婦竟也來(lái)了吃嘿?” 一聲冷哼從身側(cè)響起祠乃,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兑燥,沒(méi)想到半個(gè)月后亮瓷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贪嫂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年寺庄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片力崇。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡斗塘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亮靴,到底是詐尸還是另有隱情馍盟,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布茧吊,位于F島的核電站贞岭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏搓侄。R本人自食惡果不足惜瞄桨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望讶踪。 院中可真熱鬧芯侥,春花似錦、人聲如沸乳讥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)云石。三九已至唉工,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間汹忠,已是汗流浹背淋硝。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宽菜,地道東北人谣膳。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像赋焕,于是被迫代替她去往敵國(guó)和親参歹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容