0
本文作者: 奕欣 | 2017-08-13 01:38 | 專題:IJCAI 2017 |
雷鋒網(wǎng)AI科技評(píng)論:IJCAI 2017即將舉行,為此,雷鋒網(wǎng)特邀請(qǐng)了部分錄用論文作者對(duì)自己的作品進(jìn)行詳細(xì)解讀,以供有興趣的老師同學(xué)們了解作者的研究思路。本文原載于王永慶個(gè)人公眾號(hào)“KingsGarden”,授權(quán)雷鋒網(wǎng)轉(zhuǎn)載,雷鋒網(wǎng)AI科技評(píng)論做了不改變?cè)獾木庉嫛?/p>
另外,雷鋒網(wǎng)即將在 8 月 12 日下午舉行“GAIR大講堂CVPR 上海交大專場(chǎng)”分享會(huì),感興趣的同學(xué)趕緊點(diǎn)擊此鏈接了解活動(dòng)詳情。
王永慶,2017年中國(guó)科學(xué)院計(jì)算技術(shù)研究所工學(xué)博士畢業(yè),現(xiàn)就職中國(guó)科學(xué)院計(jì)算技術(shù)研究所,任助理研究員。研究方向: 信息傳播,社會(huì)計(jì)算,數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)。
論文題目:Cascade Dynamics Modeling with Attention-based Recurrent Neural Network
作者: Yongqing Wang, Huawei Shen, Shenghua Liu, Jinhua Gao and Xueqi Cheng
這篇文章是我們今年投稿于IJCAI并錄用的文章,文章的背景是信息傳播建模(Cascade Dynamics Modeling),切入點(diǎn)是如何將結(jié)構(gòu)信息融合到序列建模(Sequence Modeling)中。
簡(jiǎn)單介紹下序列建模,這是一種挖掘序列內(nèi)關(guān)聯(lián)模式的技術(shù)手段,這種關(guān)聯(lián)模式又可按序列內(nèi)前后兩元素間間距是否等長(zhǎng)對(duì)應(yīng)到兩類具體的問題中:離散序列和時(shí)序序列建模。例如離散馬爾科夫模型,連續(xù)時(shí)間馬爾科夫模型等都是經(jīng)典的序列建模模型。當(dāng)然,這幾年來受到神經(jīng)網(wǎng)絡(luò)的沖擊,利用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)處理序列建模問題也逐漸成為了這一領(lǐng)域的標(biāo)桿。
為了能夠產(chǎn)生迭代,提高序列建模的效率,一般認(rèn)為,序列內(nèi)部各元素的間的關(guān)系是順序傳遞的。大家可以細(xì)想一下基于這種假設(shè)下序列建模所存在的問題:無法處理序列內(nèi)各元素的結(jié)構(gòu)信息。圖1展示了傳統(tǒng)序列建模中的這種假設(shè)與真實(shí)情況的矛盾。考慮結(jié)構(gòu)信息后圖1(a)中的事件(u3,t3)、(u4,t4)節(jié)點(diǎn)均不再順序依賴于其前一個(gè)節(jié)點(diǎn),如果繼續(xù)采用傳統(tǒng)序列建模的方式,那么建模勢(shì)必會(huì)存在一定的偏差。在這里,我們將其稱為序列建模中的跳躍依賴(Cross-dependence)問題。那么如何有效解決這一問題呢?
(a) 傳統(tǒng)序列建模的傳遞依賴關(guān)系
(b) 考慮元素間結(jié)構(gòu)信息后與傳統(tǒng)序列建模假設(shè)的矛盾
圖 1 傳統(tǒng)序列建模假設(shè)與真實(shí)情況的矛盾
讓我們先來思考一下解決跳躍依賴問題的關(guān)鍵:如何在序列建模過程中加入對(duì)結(jié)構(gòu)信息的考慮。但這種嘗試至今沒有真正成功過。例如,讓我們來考慮下圖1(a)中u4節(jié)點(diǎn)的可能依賴結(jié)構(gòu),一共存在?, {u1}, {u2}, {u3}, {u1, u2}, {u1, u2}, {u1, u3}, {u2, u3}, {u1, u2, u3}這9種可能情況。假設(shè)目標(biāo)節(jié)點(diǎn)的可能依賴節(jié)點(diǎn)數(shù)為K,那么這種可能的依賴結(jié)構(gòu)一共是2K+1種??紤]結(jié)構(gòu)信息后,會(huì)使得序列建模的計(jì)算復(fù)雜度呈幾何級(jí)提升,而過大的計(jì)算開銷又不會(huì)給最終的計(jì)算結(jié)果帶來可觀的效果提升。
那么是否存在一種既不會(huì)帶來過多的計(jì)算開銷,又能同時(shí)解決跳躍依賴問題的方法呢?有!我們提出了一種在循環(huán)神經(jīng)網(wǎng)絡(luò)框架下考慮序列中結(jié)構(gòu)信息的建模方式—CYAN-RNN(Cascade dYnamics modeling with AttentioN based RNN)。簡(jiǎn)單介紹下循環(huán)神經(jīng)網(wǎng)絡(luò):在循環(huán)神經(jīng)網(wǎng)絡(luò)中,序列元素順序輸入,通過激活函數(shù)變換成為對(duì)應(yīng)輸入的表示,并用于生成序列。一般地,我們認(rèn)為所得的表示信息是對(duì)序列中對(duì)應(yīng)輸入的一種合理抽象。例如,在語言模型中,以單詞作為輸入,所得的即為單詞語義的一種抽象。在信息傳播中,以用戶行為作為輸入,所得的即為用戶行為的一種合理抽象。那么如果我們將這些表示進(jìn)行綜合,共同作用于同一任務(wù),所謂的結(jié)構(gòu),是否可以理解為當(dāng)前任務(wù)對(duì)這些抽象表示的利用程度呢?
基于上述的討論,我們基本確定了一條解題思路:將當(dāng)前所有可用的表示進(jìn)行綜合,通過對(duì)當(dāng)前任務(wù)的理解,刪選出合適的信息,并推理出可能的依賴結(jié)構(gòu)。
圖2給出了在RNN框架下綜合所有可用表示進(jìn)行序列建模的示意圖。在考慮計(jì)算效率和有效性的前提下,我們決定采用注意力機(jī)制(Attention Mechanism)來實(shí)現(xiàn)這一架構(gòu)。
一方面因?yàn)樽⒁饬C(jī)制的實(shí)現(xiàn)及計(jì)算效率很高;
另一方面,注意力機(jī)制也是目前在多個(gè)不同應(yīng)用上被證明為能夠較好地學(xué)習(xí)結(jié)構(gòu)信息的一種機(jī)制。
圖3給出了文中所實(shí)現(xiàn)的帶注意力機(jī)制的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖。注意力機(jī)制的關(guān)鍵是學(xué)習(xí)獲得了注意力向量α。我們約束了向量中的所有元素之和∑i αi=1,這樣所學(xué)得的注意力可用于表示對(duì)應(yīng)表示的權(quán)重信息,進(jìn)而反應(yīng)可能的依賴結(jié)構(gòu)。圖3中的具體實(shí)現(xiàn)里還給出了一種基于覆蓋機(jī)制(Coverage Mechanism)的架構(gòu)圖。這是考慮到在對(duì)序列順序建模的過程中,可能會(huì)有部分的表示信息會(huì)被重復(fù)使用多次,進(jìn)而忽略了序列中的其他表示信息。而覆蓋機(jī)制在原有的注意力機(jī)制上額外添加了記憶信息,增加信息被重復(fù)使用的代價(jià),進(jìn)而在建模過程中提升所有表示信息的使用覆蓋度。
圖 2 在RNN框架下綜合所有可用表示來做序列產(chǎn)生過程建模
圖 3 CYAN-RNN的具體實(shí)現(xiàn)架構(gòu)
在實(shí)驗(yàn)部分我們列舉三組實(shí)驗(yàn)用以表示CYAN-RNN框架的有效性。
實(shí)驗(yàn)一:傳播預(yù)測(cè)(預(yù)測(cè)下一激活用戶和激活時(shí)間)
這組是標(biāo)準(zhǔn)的序列生成效果實(shí)驗(yàn)。輸入為觀測(cè)信息的傳播記錄,要求序列建模模型能夠準(zhǔn)確的還原觀測(cè)信息。從圖4的實(shí)驗(yàn)結(jié)果上來看,可以發(fā)現(xiàn):CYAN-RNN在傳播預(yù)測(cè)的實(shí)驗(yàn)效果上顯著優(yōu)于其他所有的對(duì)比方法。值得注意的是,在圖4所示左部預(yù)測(cè)下一激活用戶的任務(wù)上,傳統(tǒng)的RNN模型(RMTPP)并不比一些簡(jiǎn)單的模型(不采用神經(jīng)網(wǎng)絡(luò)方式建模)效果要好(對(duì)比CT Bern和CT Jac),而引入結(jié)構(gòu)信息的CYAN-RNN則對(duì)比傳統(tǒng)方法在實(shí)驗(yàn)效果存在顯著提升。
圖 4 傳播預(yù)測(cè)結(jié)果
實(shí)驗(yàn)二:注意力機(jī)制和覆蓋機(jī)制中的權(quán)值分配對(duì)比
這一部分實(shí)驗(yàn)主要用來驗(yàn)證覆蓋機(jī)制中所添加的記憶信息是否能夠有效提升所有表示信息的使用覆蓋度。根據(jù)圖5的實(shí)驗(yàn)結(jié)果對(duì)比可以發(fā)現(xiàn),由于記憶信息的引入,在覆蓋機(jī)制中(圖5右)中的權(quán)值分配相較于注意力機(jī)制中(圖5左)的權(quán)值分配更傾向于新出現(xiàn)的表示信息,因而所計(jì)算的權(quán)值也能夠更為清晰的表示結(jié)構(gòu)信息。
圖 5 注意力機(jī)制和覆蓋機(jī)制中的權(quán)值分配對(duì)比
實(shí)驗(yàn)三:網(wǎng)絡(luò)推斷
這組實(shí)驗(yàn)主要用來驗(yàn)證我們從解題之初就存在的一個(gè)疑問:是否引入注意力和覆蓋機(jī)制的循環(huán)神經(jīng)網(wǎng)絡(luò)架構(gòu)就是對(duì)依賴結(jié)構(gòu)的一種刻畫呢?由于觀測(cè)信息的產(chǎn)生過程限制我們很難精確到刻畫具體的依賴關(guān)系,但我們可以利用推斷所得的依賴結(jié)構(gòu)去反推物理的關(guān)系網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)而回答這一問題。
我們把從注意力機(jī)制和覆蓋機(jī)制中學(xué)習(xí)所得的權(quán)重信息進(jìn)行綜合、刪選,用于網(wǎng)絡(luò)推斷,并將錯(cuò)誤的推斷結(jié)果以紅線標(biāo)注于圖6中??梢园l(fā)現(xiàn),無論是采用注意力機(jī)制的CYAN-RNN還是采用覆蓋機(jī)制的CYAN-RNN(cov),其對(duì)關(guān)系網(wǎng)絡(luò)的推斷均存在一定的有效性,如此回答了我們這一疑問:注意力機(jī)制和覆蓋機(jī)制能夠刻畫序列產(chǎn)生過程中的依賴結(jié)構(gòu)。
圖 6 網(wǎng)絡(luò)推斷結(jié)果
總結(jié):這篇文章雖是以信息傳播為背景的序列建模,但所提的跳躍依賴問題卻普遍存在于序列建模的眾多場(chǎng)景之中。在諸如語言模型的相關(guān)文中,我也有過一些嘗試,發(fā)現(xiàn)這種采用注意力機(jī)制和覆蓋機(jī)制的方式也同樣有效。因此,讀者若是有興趣,可以到我的github上下載源碼并在相關(guān)領(lǐng)域進(jìn)行嘗試:https://github.com/Allen517/cyanrnn_project。
另外,本工作的演示代碼(IPython)詳見: http://yongqwang.com/public/res_dat/UAI_demo.tar.gz
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。
本專題其他文章