婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > 變長雙向rnn的正確使用姿勢教學(xué)

變長雙向rnn的正確使用姿勢教學(xué)

熱門標(biāo)簽:朝陽手機(jī)外呼系統(tǒng) 北瀚ai電銷機(jī)器人官網(wǎng)手機(jī)版 地圖標(biāo)注面積 所得系統(tǒng)電梯怎樣主板設(shè)置外呼 小蘇云呼電話機(jī)器人 北京電銷外呼系統(tǒng)加盟 儋州電話機(jī)器人 市場上的電銷機(jī)器人 佛山400電話辦理

如何使用雙向RNN

在《深度學(xué)習(xí)之TensorFlow入門、原理與進(jìn)階實(shí)戰(zhàn)》一書的9.4.2中的第4小節(jié)中,介紹過變長動(dòng)態(tài)RNN的實(shí)現(xiàn)。

這里在來延伸的講解一下雙向動(dòng)態(tài)rnn在處理變長序列時(shí)的應(yīng)用。其實(shí)雙向RNN的使用中,有一個(gè)隱含的注意事項(xiàng),非常容易犯錯(cuò)。

本文就在介紹下雙向RNN的常用函數(shù)、用法及注意事項(xiàng)。

動(dòng)態(tài)雙向rnn有兩個(gè)函數(shù):

stack_bidirectional_dynamic_rnn
bidirectional_dynamic_rnn

二者的實(shí)現(xiàn)上大同小異,放置的位置也不一樣,前者放在contrib下面,而后者顯得更加根紅苗正,放在了tf的核心庫下面。在使用時(shí)二者的返回值也有所區(qū)別。下面就來一一介紹。

示例代碼

先以GRU的cell代碼為例:

import tensorflow as tf
import numpy as np
tf.reset_default_graph()
# 創(chuàng)建輸入數(shù)據(jù)
X = np.random.randn(2, 4, 5)# 批次 、序列長度、樣本維度
# 第二個(gè)樣本長度為3
X[1,2:] = 0
seq_lengths = [4, 2]
Gstacked_rnn = []
Gstacked_bw_rnn = []
for i in range(3):
    Gstacked_rnn.append(tf.contrib.rnn.GRUCell(3))
    Gstacked_bw_rnn.append(tf.contrib.rnn.GRUCell(3))
#建立前向和后向的三層RNN
Gmcell = tf.contrib.rnn.MultiRNNCell(Gstacked_rnn)
Gmcell_bw = tf.contrib.rnn.MultiRNNCell(Gstacked_bw_rnn)
sGbioutputs, sGoutput_state_fw, sGoutput_state_bw = tf.contrib.rnn.stack_bidirectional_dynamic_rnn([Gmcell],[Gmcell_bw], X,sequence_length=seq_lengths,                                           dtype=tf.float64)
Gbioutputs, Goutput_state_fw = tf.nn.bidirectional_dynamic_rnn(Gmcell,Gmcell_bw, X,sequence_length=seq_lengths,dtype=tf.float64)

上面例子中是創(chuàng)建雙向RNN的方法示例。可以看到帶有stack的雙向RNN會(huì)輸出3個(gè)返回值,而不帶有stack的雙向RNN會(huì)輸出2個(gè)返回值。

這里面還要注意的是,在沒有未cell初始化時(shí)必須要將dtype參數(shù)賦值。不然會(huì)報(bào)錯(cuò)。

代碼:BiRNN輸出

下面添加代碼,將輸出的值打印出來,看一下,這兩個(gè)函數(shù)到底是輸出的是啥?

#建立一個(gè)會(huì)話
sess = tf.InteractiveSession()
sess.run(tf.global_variables_initializer())
sgbresult,sgstate_fw,sgstate_bw=sess.run([sGbioutputs,sGoutput_state_fw,sGoutput_state_bw])
print("全序列:\n", sgbresult[0])
print("短序列:\n", sgbresult[1])
print('Gru的狀態(tài):',len(sgstate_fw[0]),'\n',sgstate_fw[0][0],'\n',sgstate_fw[0][1],'\n',sgstate_fw[0][2])
print('Gru的狀態(tài):',len(sgstate_bw[0]),'\n',sgstate_bw[0][0],'\n',sgstate_bw[0][1],'\n',sgstate_bw[0][2])

先看一下帶有stack的雙向RNN輸出的內(nèi)容:

我們輸入的數(shù)據(jù)的批次是2,第一個(gè)序列長度是4,第二個(gè)序列長度是2.

圖中共有4部分輸出,可以看到,第一部分(全序列)就是序列長度為4的結(jié)果,第二部分(短序列)就是序列長度為2的結(jié)果。由于沒一層都是由3個(gè)RNN的GRU cell組成,所以每個(gè)序列的輸出都為3.很顯然,對(duì)于這樣的結(jié)果輸出,必須要將短序列后面的0去掉才可以用。

好在該函數(shù)還有第二個(gè)輸出值,GRU的狀態(tài)。可以直接使用狀態(tài)里的值,而不需要對(duì)原始結(jié)果進(jìn)行去0的變化。

由于單個(gè)GRU本來就是沒有狀態(tài)的。所以該函數(shù)將最后的輸出作為狀態(tài)返回。該函數(shù)有兩個(gè)狀態(tài)返回,分別代表前向和后向。每一個(gè)方向的狀態(tài)都會(huì)返回3個(gè)元素。這是因?yàn)槊總€(gè)方向的網(wǎng)絡(luò)都有3層GRU組成。在使用時(shí),一般都會(huì)取最后一個(gè)狀態(tài)。圖中紅色部分為前向中,兩個(gè)樣本對(duì)應(yīng)的輸出,這個(gè)很好理解。

重點(diǎn)要看藍(lán)色的部分,即反向的狀態(tài)值對(duì)應(yīng)的是原始數(shù)據(jù)中最其實(shí)的序列輸入。因?yàn)槭欠聪騌NN,在反向循環(huán)時(shí),是會(huì)把序列中最后的放在最前面,所以反向網(wǎng)絡(luò)的生成結(jié)果就會(huì)與最開始的序列相對(duì)應(yīng)。

對(duì)于特征提取任務(wù)處理時(shí),正向與反向的最后值都為該序列的特征,需要合并起來統(tǒng)一處理。但是對(duì)于下一個(gè)序列預(yù)測任務(wù)時(shí),建議直接使用正向的RNN網(wǎng)絡(luò)就可以了。

如果要獲取雙向RNN的結(jié)果,尤其是變長情況下,通過狀態(tài)拿到值直接拼接起來才是正確的做法。即便不是變長。直接使用輸出值來拼接,會(huì)損失掉反向的一部分特征結(jié)果。這是需要值得注意的地方。

代碼:BiRNN輸出

好了。在接著看下不帶stack的函數(shù)輸出是什么樣子的

gbresult,state_fw=sess.run([Gbioutputs,Goutput_state_fw])
print("正向:\n", gbresult[0])
print("反向:\n", gbresult[1])
print('狀態(tài):',len(state_fw),'\n',state_fw[0],'\n',state_fw[1])  #state_fw[0]:【層,批次,cell個(gè)數(shù)】 重頭到最后一個(gè)序列
print(state_fw[0][-1],state_fw[1][-1])
out  = np.concatenate((state_fw[0][-1],state_fw[1][-1]),axis = 1)
print("拼接",out)

這次,在輸出基本內(nèi)容基礎(chǔ)上,直接將結(jié)果拼接起來。上面代碼運(yùn)行后會(huì)輸出如下內(nèi)容。

同樣正向用紅色,反向用藍(lán)色。改函數(shù)返回的輸出值,沒有將正反向拼接。輸出的狀態(tài)雖然是一個(gè)值,但是里面有兩個(gè)元素,一個(gè)代表正向狀態(tài),一個(gè)代表反向狀態(tài).

從輸出中可以看到,最后一行實(shí)現(xiàn)了最終結(jié)果的真正拼接。在使用雙向rnn時(shí)可以按照上面的例子代碼將其狀態(tài)拼接成一條完整輸出,然后在進(jìn)行處理。

代碼:LSTM的雙向RNN

類似的如果想使用LSTM cell。將前面的GRU部分替換即可,代碼如下:

stacked_rnn = []
stacked_bw_rnn = []
for i in range(3):
    stacked_rnn.append(tf.contrib.rnn.LSTMCell(3))
    stacked_bw_rnn.append(tf.contrib.rnn.LSTMCell(3))
mcell = tf.contrib.rnn.MultiRNNCell(stacked_rnn)
mcell_bw = tf.contrib.rnn.MultiRNNCell(stacked_bw_rnn)    
bioutputs, output_state_fw, output_state_bw = tf.contrib.rnn.stack_bidirectional_dynamic_rnn([mcell],[mcell_bw], X,sequence_length=seq_lengths,
                                              dtype=tf.float64)
bioutputs, output_state_fw = tf.nn.bidirectional_dynamic_rnn(mcell,mcell_bw, X,sequence_length=seq_lengths,
                                              dtype=tf.float64)

至于輸出的內(nèi)容是什么,可以按照前面GRU的輸出部分顯示出來自己觀察。如何拼接,也可以參照GRU的例子來做。

通過將正反向的狀態(tài)拼接起來才可以獲得雙向RNN的最終輸出特征。千萬不要直接拿著輸出不加處理的來進(jìn)行后續(xù)的運(yùn)算,這會(huì)損失一大部分的運(yùn)算特征。

該部分內(nèi)容屬于《深度學(xué)習(xí)之TensorFlow入門、原理與進(jìn)階實(shí)戰(zhàn)》一書的內(nèi)容補(bǔ)充。關(guān)于RNN的更多介紹可以參看書中第九章的詳細(xì)內(nèi)容。

我對(duì)雙向RNN 的理解

1、雙向RNN使用的場景:有些情況下,當(dāng)前的輸出不只依賴于之前的序列元素,還可能依賴之后的序列元素; 比如做完形填空,機(jī)器翻譯等應(yīng)用。

2、Tensorflow 中實(shí)現(xiàn)雙向RNN 的API是:bidirectional_dynamic_rnn; 其本質(zhì)主要是做了兩次reverse:

第一次reverse:將輸入序列進(jìn)行reverse,然后送入dynamic_rnn做一次運(yùn)算.

第二次reverse:將上面dynamic_rnn返回的outputs進(jìn)行reverse,保證正向和反向輸出的time是對(duì)上的.

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Tensorflow與RNN、雙向LSTM等的踩坑記錄及解決
  • 淺談Tensorflow 動(dòng)態(tài)雙向RNN的輸出問題
  • 雙向RNN:bidirectional_dynamic_rnn()函數(shù)的使用詳解

標(biāo)簽:寧夏 酒泉 江蘇 定西 云南 商丘 金融催收 龍巖

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《變長雙向rnn的正確使用姿勢教學(xué)》,本文關(guān)鍵詞  變長,雙向,rnn,的,正確,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《變長雙向rnn的正確使用姿勢教學(xué)》相關(guān)的同類信息!
  • 本頁收集關(guān)于變長雙向rnn的正確使用姿勢教學(xué)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产一区二区看久久| 欧美体内she精视频| 91成人在线精品| 粗大黑人巨茎大战欧美成人| 亚洲精品成a人| 国产亚洲一区二区在线观看| 欧美日韩一区二区三区在线看| 国产精品 日产精品 欧美精品| 玉足女爽爽91| 亚洲福中文字幕伊人影院| 欧美另类z0zxhd电影| 99国产精品久久久久| 在线观看一区二区视频| 欧美日韩国产系列| 亚洲精品一区二区三区精华液| 日韩欧美二区三区| 337p粉嫩大胆噜噜噜噜噜91av| 2023国产精华国产精品| 亚洲天堂成人网| 美女免费视频一区二区| 国产成人免费xxxxxxxx| 欧美三级一区二区| 久久精品一二三| 亚洲综合自拍偷拍| 亚洲日本va午夜在线电影| 亚洲影视在线观看| 精彩视频一区二区三区| 欧美日韩视频在线观看一区二区三区| 91久久人澡人人添人人爽欧美| 制服丝袜激情欧洲亚洲| 欧美国产1区2区| 丝袜脚交一区二区| 色婷婷av一区二区| 91麻豆精品国产91久久久| 国产精品妹子av| 日韩高清在线电影| 欧美最新大片在线看| 亚洲国产成人午夜在线一区| 国产精品一级黄| 久久精品人人做人人爽97| 国产一区二区导航在线播放| 日韩一级片在线观看| 日本成人在线电影网| 欧美高清你懂得| 日韩国产精品久久久| 日韩一区二区在线看| 久久免费午夜影院| 成人激情文学综合网| 国产精品高潮呻吟| 欧美一区永久视频免费观看| 免费成人你懂的| 国产清纯白嫩初高生在线观看91 | 一区二区三区在线看| 成人av在线播放网站| 亚洲视频一二三| 精品国产免费一区二区三区四区 | 日本伊人色综合网| 日韩欧美一区二区免费| 国产成人超碰人人澡人人澡| 日韩一区日韩二区| 欧美sm极限捆绑bd| 午夜私人影院久久久久| 日韩欧美电影在线| 亚洲国产精品精华液网站| 欧美日韩你懂得| 开心九九激情九九欧美日韩精美视频电影 | 91超碰这里只有精品国产| 国产精品毛片大码女人| 大桥未久av一区二区三区中文| 中文字幕在线一区免费| 91成人网在线| 国模娜娜一区二区三区| 最新中文字幕一区二区三区| 欧美伊人久久久久久久久影院| 五月婷婷综合在线| 欧美精品一区视频| 欧美日韩在线综合| 国产福利91精品一区二区三区| 国产精品久久毛片av大全日韩| 一本久久精品一区二区| 裸体一区二区三区| 亚洲综合在线第一页| 欧美成va人片在线观看| 一本色道久久综合亚洲91| 日韩国产欧美一区二区三区| 国产拍揄自揄精品视频麻豆| 欧美性猛片aaaaaaa做受| 国产一区二区三区蝌蚪| 奇米色一区二区| 免费在线观看视频一区| 夜夜嗨av一区二区三区中文字幕 | 国产原创一区二区| 天天av天天翘天天综合网| 亚洲欧美一区二区久久| 亚洲免费在线播放| 亚洲综合色网站| 1000精品久久久久久久久| 国产欧美日韩三区| 国产欧美一区二区精品婷婷 | 欧美精品一区二区三区很污很色的| 国内精品久久久久影院一蜜桃| 日韩一级成人av| 欧美羞羞免费网站| 欧美日免费三级在线| 国产成人av资源| 国产一区二区在线观看免费| 午夜精品久久久久久| 日韩国产成人精品| 久久99国产精品久久99| 国产在线麻豆精品观看| 亚洲成人一区在线| 日本欧美一区二区| 天堂资源在线中文精品| 夜夜操天天操亚洲| 麻豆成人久久精品二区三区小说| 婷婷久久综合九色综合绿巨人| 国产在线一区二区| 欧美精品一二三四| 欧美激情在线观看视频免费| 国产拍揄自揄精品视频麻豆| 国产精品久久久久久久久免费丝袜 | 亚洲美女视频一区| 亚洲三级免费电影| 日韩国产欧美在线观看| 99精品视频在线播放观看| 在线观看不卡视频| 亚洲精品在线电影| 久久精品国内一区二区三区| 欧美在线免费观看亚洲| 亚洲欧洲av一区二区三区久久| 日韩高清不卡在线| 欧日韩精品视频| 亚洲成人免费影院| 91欧美一区二区| 亚洲精品第一国产综合野| 粉嫩aⅴ一区二区三区四区五区| 色综合久久综合网欧美综合网| 91麻豆精品国产91久久久久久久久 | 3d动漫精品啪啪1区2区免费| 中文字幕国产一区| 蜜臀99久久精品久久久久久软件| av中文一区二区三区| 91福利在线免费观看| 亚洲免费av观看| 欧美亚洲综合一区| 美女在线视频一区| 一级中文字幕一区二区| 日韩西西人体444www| 国产高清在线精品| 国产精品国产三级国产三级人妇 | 欧美日韩黄色影视| 亚洲视频网在线直播| 7777精品伊人久久久大香线蕉经典版下载 | 在线视频一区二区三| 亚洲精品国产视频| av亚洲精华国产精华精华| 国产精品丝袜久久久久久app| 成人一区二区视频| 精品一区二区三区在线观看国产| 欧美v国产在线一区二区三区| 国产福利91精品| 一区二区三区91| 中文字幕欧美三区| 欧美性受xxxx黑人xyx| 理论片日本一区| 国产精品午夜春色av| 婷婷综合另类小说色区| 亚洲精品国产一区二区三区四区在线 | 国产欧美va欧美不卡在线 | 国产自产v一区二区三区c| 亚洲电影视频在线| 国产日韩欧美麻豆| 欧美日韩一级视频| 国产精品亚洲人在线观看| 老司机午夜精品99久久| 亚洲欧美日韩国产综合| 2欧美一区二区三区在线观看视频| 一本大道久久a久久综合婷婷| 日韩成人一区二区| 一区二区欧美视频| 国产精品拍天天在线| 欧美一级欧美一级在线播放| eeuss国产一区二区三区| 麻豆国产欧美一区二区三区| 亚洲美女一区二区三区| 国产亚洲污的网站| 亚洲国产高清不卡| 91国模大尺度私拍在线视频| 亚洲成人精品在线观看| 国产精品电影一区二区三区| 8x8x8国产精品| 欧美理论在线播放| kk眼镜猥琐国模调教系列一区二区| 色久优优欧美色久优优| 成人一区二区三区中文字幕| 狠狠色丁香久久婷婷综| 麻豆成人久久精品二区三区红 | 中文字幕在线观看一区| 久久午夜电影网| 欧美xxxxxxxx|