python中RNN和LSTM有什么不同?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)建站專注于鎮(zhèn)寧企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。鎮(zhèn)寧網(wǎng)站建設(shè)公司,為鎮(zhèn)寧等地區(qū)提供建站服務(wù)。全流程按需策劃設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
1、簡(jiǎn)單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對(duì)代碼格式的要求沒有那么嚴(yán)格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺(tái)上使用;3、Python面向?qū)ο?,能夠支持面向過程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序;5、Python功能強(qiáng)大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。
1、RNN
簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)都有一個(gè)主要的特點(diǎn),那就是都不具備記憶能力,也就是說,它們都是分別處理每一個(gè)輸入,而不存在前、后兩個(gè)輸入之間的關(guān)系。例如,您需要處理數(shù)據(jù)點(diǎn)或時(shí)序,您需要同時(shí)向網(wǎng)絡(luò)顯示整個(gè)時(shí)序,也就是將時(shí)序轉(zhuǎn)換為單一數(shù)據(jù)點(diǎn)輸入。采用這種輸入方式的網(wǎng)絡(luò)叫做前向神經(jīng)網(wǎng)絡(luò)(feddforwardnetwork)。
為了使這個(gè)過程更加容易理解,我們用簡(jiǎn)單的循環(huán)邏輯來實(shí)現(xiàn)一個(gè)RNN的前向傳播。
#簡(jiǎn)單的RNN實(shí)現(xiàn)Numpy實(shí)現(xiàn) import numpy as np timesteps=100 input_feature=32 output_fearture=64 inputs=np.random.random((timesteps,input_feature))#生成100,32形狀的矩陣 print(inputs) state_t=np.zeros((output_fearture,))#生成64個(gè)全為0的數(shù) print(state_t) w=np.random.random((output_fearture,input_feature)) u=np.random.random((output_fearture,output_fearture)) b=np.random.random((output_fearture,)) successive_outputs=[] for input_t in inputs: output_t=np.tanh(np.dot(w,input_t)+np.dot(u,state_t)+b)#np.dot表示數(shù)組點(diǎn)積 successive_outputs.append(output_t) state_t=output_t final_output_sequence=np.stack(successive_outputs,axis=0) print(final_output_sequence)
2、LSTM
在理論上,RNN應(yīng)該能夠記住在過去的時(shí)間里看到過的信息,但是實(shí)際上它不可能學(xué)習(xí)長(zhǎng)期存在的信息,主要是由于梯度消失的問題。因此研究人員設(shè)計(jì)了LSTM(longshort-termmemory),也就是所謂的長(zhǎng)短期記憶。
與RNN相比,LSTM多了一種跨域攜帶信息的多時(shí)間步法(細(xì)胞狀態(tài)C),這種步法類似于傳送帶,它運(yùn)行方向與你所處理的序列方向平行,而序列中的信息可以隨時(shí)跳到傳送帶上,然后被傳送帶送到更遠(yuǎn)的時(shí)間步,必要時(shí)還能原封不動(dòng)地跳回來。那是LSTM的原理。
看完上述內(nèi)容,你們掌握python中RNN和LSTM有什么不同的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
文章名稱:python中RNN和LSTM有什么不同
網(wǎng)站路徑:http://aaarwkj.com/article42/pchiec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、軟件開發(fā)、做網(wǎng)站、虛擬主機(jī)、定制開發(fā)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)