LSTM的cell個數是如何設定?

時間 2021-06-02 20:49:59

1樓:劉青豪

cell的數量不需要設定吧網路中cell 的數量顯然是輸入序列的長度然後每個cell 都會有輸出值,最後乙個cell的輸出值才是該層隱含層的最終輸出。

2樓:我的上鋪叫路遙

你對cell的概念理解有誤,我不說LSTM,就拿最基礎的RNN來說吧,cell其實就是乙個RNN的網路,網路的輸入形狀就是[batch_size, time_step, embedding_size],隱藏狀態是[batch_size, hidden_size](或者叫num_units也行),輸出形狀同隱藏狀態。你可以把這個網路等同於dense(全連線),hidden_size就是每個cell裡神經元的個數——當然,LSTM的網路就複雜多了,但是也可以視為很多個dense的組合。

再說一遍,cell不是神經元,cell表示某個時刻(序列)RNN的網路,到下乙個序列時刻,cell的內部狀態(神經元)就會更新。也就是說,從空間上講,cell是同乙個,但是時間上,cell_1表示輸入x(1),隱狀態h_1,cell_2表示輸入x(2),隱狀態h_2。

你所說的256應該指的是hidden_size,也就是隱狀態的維度,神經元的個數,而不是cell數目。至於這個大小設定,應該是來自計算力與表達能力的權衡。越多的hidden_size可以包含更多的細節,以及更豐富的表達能力,但是同時也會帶來過擬合以及耗時間等缺點。

3樓:

和你each step的特徵維度有關. 一般可以設定為輸入層節點數的2倍,然後利用Greedy Search去進行超參調整.

4樓:深度學習雜談

對於MLP來講,同一層內unit的個數決定了在當前維度的表達能力上圖可以表達三維空間的線性可分問題,增加unit後可以表達更高維的線性可分問題。

增加層數後可以表達線性不可分問題。

由上可以看出,當unit足夠多時,網路會具有足夠多的weights去擬合當前問題,但是換來的可能是過擬合和訓練速度嚴重下降。從經驗來看,很少有人在rnn的層裡面加很大的unit數量上去,計算量是很恐怖的,而且獲得的效率提高可能只是一點點(比如tensorflow的官方教程裡ptb的例子,雖然有1500個hidden unit,但是實際提公升相比較於200的並不是很明顯)。所以一般128或者256的就已經足夠了,單純RNN的學習能力很一般,需要組合其它手段去提高準確率(可以看看keras的 example目錄,裡面有很多實踐好的引數可以參考)

如何看待所謂「設圈」的「賣設」 「買設」 「玩設」,以及私人約稿的問題?

我覺得玩這個的都是小孩子,而且是那種心智不成熟又有點錢來小打小鬧,就像當年的非主流。我剛從約稿吧出來,那些賣設的圖90 都好辣眼睛啊,那拙劣的畫技甚至就像個小學生草稿紙上的塗鴉,線條不擦乾淨,比例失調的,光影錯誤的 如果自己畫著玩還好,這種東西拿來賣錢真的不是賺黑心錢嗎?小孩子的錢真好賺。有圈子就有...

如何理解計算物理中的元胞鏈結列表(Cell Linked List)演算法?

小侯飛氘 專治各種不收斂 把技術細節回答的差不多了,我來介紹一下元胞鍊錶這個演算法。在分子模擬中,經常要計算某個粒子與其他粒子之間的相互作用。這個作用往往與距離密切相關,因此需要頻繁的搜尋粒子周圍的 鄰居 不妨把粒子比喻成乙個個租客,他們住在一棟很大的公寓樓 模擬空間 裡。假設此時你要確定A租客的鄰...

如何判斷拼音的音素個數?

青 凌 找有多少個母音和有多少個子音。有些略寫的還原,有些變形的還原。如iu iou un uen ui uei ong ung 戲蝶 1.乙個字母就是乙個音素,除了以下情況。2.zh,ch,sh,ng是乙個音素。3.憂iu 原形為 iou,危ui 原形為 uei,溫un 原形為 uen,所以它們都...