例如這樣一個(gè)數(shù)據(jù)集合靠闭,總共100條句子供汛,每個(gè)句子20個(gè)詞戈擒,每個(gè)詞都由一個(gè)80維的向量表示倒脓。在lstm中单绑,單個(gè)樣本即單條句子輸入下(shape是 [1 , 20, 80])恶守,假如設(shè)定每一個(gè)time step的輸入是一個(gè)詞(當(dāng)然這不一定养晋,你也可以調(diào)成兩個(gè)詞或者更多個(gè)數(shù)的詞)温兼,則在t0時(shí)刻是第一個(gè)時(shí)間步栏账,輸入x0則為代表一條句子(一個(gè)樣本)中第1個(gè)詞的80維向量帖族,t1是第二個(gè)時(shí)間步,x1表示該句子中第2個(gè)詞的80維向量挡爵,依次類推t19輸入是最后一個(gè)詞即第20個(gè)詞的向量表示竖般。
常見的tf或者keras中l(wèi)stm的參數(shù)(samples, timestep茶鹃, input_dim)涣雕,samples是指批量訓(xùn)練樣本的數(shù)量, timestep是時(shí)間步(這個(gè)時(shí)間步可自己設(shè)置)比如上面說的20闭翩,input-dim是每個(gè)time step的輸入shape
假設(shè)輸入的樣本是一條條的句子:
樣本1:“”富強(qiáng)挣郭,民主,文明疗韵,和諧兑障,自由,平等,公正流译,法治逞怨,愛國(guó),敬業(yè)福澡,誠(chéng)信叠赦,友善“”
樣本2:“”實(shí)現(xiàn)偉大中國(guó)夢(mèng)“”
樣本3:“”跑得比誰都快“”
對(duì)于這樣的不同長(zhǎng)度的樣本,因?yàn)殚L(zhǎng)短不一革砸,需要先編碼除秀,embedding成相同維度的數(shù)據(jù)。比如每個(gè)句子embedding成shape為[24, 80]业岁,這樣的話,若批訓(xùn)練的BatchSize是1的話寇蚊, A假如你的時(shí)間步設(shè)置為12笔时,那么需要將單個(gè)樣本X, reshape成【1,12,160】,輸入到LSTM仗岸,此時(shí)LSTM中每個(gè)時(shí)間步輸入X_t的shape是[1,160];
B假如你的時(shí)間步設(shè)置為24允耿,那么需要將單個(gè)樣本X, reshape成【1, 24, 80】, 輸入到LSTM, 此時(shí)LSTM每個(gè)時(shí)間步輸入X_t的shape就是【1,80】.
盜用下知友的圖如下, X_t就是下圖中的X0扒怖,X1较锡,.....Xn:
其實(shí),從另一個(gè)角度也可以區(qū)分盗痒,time_step是神經(jīng)網(wǎng)絡(luò)的參數(shù)蚂蕴,網(wǎng)絡(luò)建好了便不會(huì)改變;batch是訓(xùn)練參數(shù)俯邓,在訓(xùn)練時(shí)可根據(jù)效果隨時(shí)調(diào)整骡楼。