什麼是迴圈神經網路

2021-09-11 13:52:10 字數 1277 閱讀 8442

在這篇文章中,我們會聊一聊語言分析,序列化資料中穿梭自如的迴圈神經網路。那麼首先第乙個問題,rnn是幹什麼的呢?他和普通的神經網路有什麼不同呢?我們接下來會一一進行**。首先我們來想一下賈伯斯,現在給你一張賈伯斯的**,不出意外,你應該會脫口而出他的名字,因為你很有可能就正在使用他的一款產品。那麼現在先拋開這些產品,先來想一想史蒂芬賈伯斯的這個名字,再把它逆序念出來,斯布喬.芬蒂史。有點難吧。這就說明對於**順序排列是多麼重要,我們可以按照一定的排列順序來**接下來可能會出現的字。但是打字順序我們就很難去分析我們在說什麼了。我們現在再想象下現在有一組序列資料date0,date1,date2,date3,在**result0的時候我們會基於date0進行分析,同樣在**其他資料的時候,我們也會根據原有的單組資料進行分析,這樣,每一次使用的神經網路都是nn,現在在假設date0,date1,date2,date3這些資料都是具有關聯的順序的,就好比你在廚房做菜醬料a一定會比調料b早下鍋,不然就會串味了。所以普通的網路結構nn並不能讓這些資料之間產生關聯。那麼我們應該怎麼樣讓資料之間的關聯讓nn也可以加以分析呢?

現在先讓我們想想人類是怎麼樣去分析各種事物是怎樣關聯的吧。最基本的方式呢就是記住這些事物。那麼我們就讓神經網路也具有記住這種事物的能力。在分析data0的時候,我們把分析結果存入nn記憶(ram),在分析data1的時候,nn會產生新的記憶,但是問題來了,新的記憶和老的記憶並沒有什麼關聯。我們就簡單的把老的記憶呼叫過來一起分析,如果要分析更多的資料,nn就會把更多的資料都累計起來一起分析,我們再重複一下剛才的流程,不過這次要加一下一些數學的東西。現在的nn變成了我們現在的rnn,每次rnn迴圈完成後都會產生乙個對於當前狀況的乙個描述,我們把這個結果叫做s(t),記為s在t時刻產生的資料,然後這個rnn開始分析在t+1的時候的資料,這時候rnn也會產生s(t+1)的結果,不過這時候做的y(t+1)其實是由s(t)和s(t+1)共同得到的,最後我們所說的rnn可以表示成下圖所示的那個樣子。

rnn的結構形式遠不僅僅只有這一種,他的結構形式很自由。比如用於分類的問題,比如乙個人說了一句話,這句話裡所包含的感**彩是消極的還是積極地,那麼我們就可以用只在最後輸出判斷結果的rnn,又或者這是可以用於描述的rnn,我們只需要乙個介面來接受輸入的,然後生成對於描述的一段話,或者是語言翻譯的rnn,給他一句中文,讓他翻譯成英文。有了這樣不同形式的rnn,rnn的功能就越發的強大,現在看已經有很多的有趣的rnn應用。比如現在說讓rnn描述**,讓rnn來寫學術**,讓rnn來寫程式指令碼,讓rnn來作曲。對於我們一般人來說,這是很難分辨出這是人寫的還是機器寫的,最後,放上乙個連線,讓我們來欣賞下rnn做出的**吧。

web.mit.edu/felixsun/ww…

什麼是神經網路?

神經網路是一種計算機模型或者數學模型,是存在於計算機的神經系統,由大量的神經元相連線並進行計算,在外界資訊的基礎上,改變內部的結構,常用來對輸入和輸出之間複雜的關係進行建模。下面這張圖就是乙個神經網路系統,它由很多層組成。輸入層負責接收資訊,比如乙隻貓的。輸出層是計算機對這個輸入資訊的判斷結果,它是...

什麼是神經網路?

它從資訊處理角度對人腦神經元網路進行抽象,模擬生物神經網路建立某種簡單模型,按不同的連線方式組成不同的網路。人工神經網路與生物神經網路不同的是它的神經元網路是初始存在的。它分為輸入層,輸出層 當然這期間也有隱藏層 輸入層是獲取相關資料資訊,輸出層進行資訊整合進而輸出結果。那麼神經網路是怎麼工作的呢?...

什麼是神經網路

在高中我們學習過線性回歸,假設有一堆樣本,包含了六棟房子的資訊,包括房屋面積和房屋 想用房屋面積估計房屋 也就是說想建立乙個房屋 y和房屋面積x之間的函式。高中的時候怎麼做的?因為只有x和y兩個變數,先畫個xoy座標系,把樣本點 x,y 畫上去,最後觀察這些點是否在一條直線的附近。如果在的話,那麼我...