論文筆記|Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting

Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting ?論文地址

一颈抚、摘要

這篇文章是來(lái)自香港科技大學(xué)的團(tuán)隊(duì)庭猩,這個(gè)團(tuán)隊(duì)有和香港觀測(cè)站合作辞州,他們有一個(gè)前身的工作還有數(shù)據(jù)都是靠這個(gè)機(jī)構(gòu)來(lái)收集的讯泣。這篇論文利用convolution LSTM 對(duì)降雨預(yù)報(bào)進(jìn)行預(yù)測(cè)蜂嗽。他們的這個(gè)工作是用來(lái)做對(duì)天氣的預(yù)測(cè)单起,他們收集了很多很多的雷達(dá)圖双絮,這些雷達(dá)圖主要是空照?qǐng)D,直接看某一個(gè)區(qū)域云層的分布郭卫,而且是沿著時(shí)間軸變化。因此有過(guò)去時(shí)間軸和云層圖猪狈,就可以預(yù)測(cè)未來(lái)時(shí)間點(diǎn)的云層該往哪里走箱沦,預(yù)測(cè)天氣變化,以及一個(gè)地區(qū)將來(lái)降雨的幾率是多少雇庙。

二谓形、介紹

既然有時(shí)間軸,并且要做預(yù)測(cè)的事情疆前,首先可以想到的就是傳統(tǒng)的LSTM模型寒跳。雷達(dá)圖中的云層是具有空間性,用傳統(tǒng)LSTM模型會(huì)導(dǎo)致云層圖喪失地理位置信息竹椒,因此很難預(yù)測(cè)云層的移動(dòng)位置童太。所以這篇文章的作者提出Convolutional LSTM模型,即將傳統(tǒng)LSTM 的fully-connected layer 改成Convolutional layer.

即時(shí)預(yù)測(cè)在天氣預(yù)測(cè)中是一個(gè)非常重要的問(wèn)題胸完。在機(jī)器學(xué)習(xí)領(lǐng)域之外书释,物理學(xué)家使用數(shù)學(xué)模型做數(shù)值運(yùn)算(NMP model),但是這個(gè)模型過(guò)于復(fù)雜赊窥,短時(shí)間內(nèi)做預(yù)測(cè)是不太可行的爆惧,并且也沒(méi)有效益。所以科學(xué)家嘗試著去用Real-time Optical flow by Variational methods for Echoes of Radar(Rover), 直接看過(guò)去的雷達(dá)圖锨能,學(xué)習(xí)云層沿著時(shí)間軸是如何變化扯再,并用以預(yù)測(cè)未來(lái)云層圖是如何變化的,來(lái)對(duì)地區(qū)做降雨預(yù)報(bào)址遇。這個(gè)模型實(shí)際是有應(yīng)用在香港觀測(cè)站中的強(qiáng)降雨系統(tǒng)中熄阻。作者提到直接用光流來(lái)預(yù)測(cè)其實(shí)是有很明顯的缺點(diǎn)的,首先是這個(gè)模型沒(méi)有辦法end-to-end training, 光流的計(jì)算與雷達(dá)圖的分析其實(shí)是分成兩個(gè)完全不同的step倔约,如果要對(duì)一個(gè)地區(qū)做降雨預(yù)測(cè)秃殉,沒(méi)辦法end-to-end知道現(xiàn)在的云層圖是這樣,未來(lái)的云層圖是哪樣,進(jìn)而無(wú)法對(duì)地區(qū)的天氣預(yù)報(bào)复濒,沒(méi)有end-to-end training, 就沒(méi)有辦法得到powerful的model, 作者希望用近年非常成功的深度學(xué)習(xí)的方法end-to-end learning來(lái)得到更多的performance脖卖;其次必須非常了解spatiotenporal sequence, 所以很直觀的可以用RNN來(lái)做。

為了解決時(shí)空的問(wèn)題巧颈,作者提出convolutional LSTM來(lái)解決畦木。這一篇文章除了做在天氣預(yù)報(bào)中,它首先應(yīng)用在移動(dòng)的MNIST數(shù)據(jù)中砸泛,看前4個(gè)frame數(shù)字的位置來(lái)預(yù)測(cè)下4個(gè)frame的位置十籍,沿著飄動(dòng)的方向是已知的,可以利用過(guò)去所看到資訊來(lái)預(yù)測(cè)它要怎么移動(dòng)唇礁。

三勾栗、準(zhǔn)備階段

首先作者定義模型的輸入和輸出,輸入是一個(gè)M * N的圖像盏筐,這個(gè)圖像有P個(gè)channel,這P個(gè)channel其實(shí)就等同與傳統(tǒng)圖片中的RGB围俘,直接把雷達(dá)圖切成P個(gè)patch,再什什么起來(lái)琢融。沿著時(shí)間軸t總共有t個(gè)x界牡。目標(biāo)是通過(guò)先前的J個(gè)觀測(cè)點(diǎn)來(lái)預(yù)測(cè)之后長(zhǎng)度為K的序列,作者給了下面的的這個(gè)公式:

3.1傳統(tǒng)LSTM

作者先給出了傳統(tǒng)LSTM的介紹漾抬,LSTM有input gate宿亡、forget gate、output gate三個(gè)gate纳令。文章中給出了傳統(tǒng)LSTM的公式:

但是這里作者給的比較簡(jiǎn)單挽荠,因此我在網(wǎng)上找到了傳統(tǒng)LSTM的簡(jiǎn)單理解:

LSTM的關(guān)鍵是細(xì)胞狀態(tài),表示細(xì)胞狀態(tài)的這條線(xiàn)水平的穿過(guò)圖的頂部平绩。LSTM的刪除或者添加信息到細(xì)胞狀態(tài)的能力是由被稱(chēng)為Gate的結(jié)構(gòu)賦予的圈匆。

LSTM的第一步是決定要從細(xì)胞狀態(tài)中丟棄什么信息。 該決定由被稱(chēng)為“忘記門(mén)”的Sigmoid層實(shí)現(xiàn)捏雌。它查看ht-1(前一個(gè)輸出)和xt(當(dāng)前輸入)跃赚,并為單元格狀態(tài)Ct-1(上一個(gè)狀態(tài))中的每個(gè)數(shù)字輸出0和1之間的數(shù)字。1代表完全保留腹忽,而0代表徹底刪除。

下一步是決定我們要在細(xì)胞狀態(tài)中存儲(chǔ)什么信息砚作。 這部分分為兩步窘奏。 首先,稱(chēng)為“輸入門(mén)層”的Sigmoid層決定了我們將更新哪些值葫录。接下來(lái)一個(gè)tanh層創(chuàng)建候選向量Ct,該向量將會(huì)被加到細(xì)胞的狀態(tài)中着裹。在下一步中,我們將結(jié)合這兩個(gè)向量來(lái)創(chuàng)建更新值米同。

現(xiàn)在是時(shí)候去更新上一個(gè)狀態(tài)值Ct?1了骇扇,將其更新為Ct摔竿。簽名的步驟以及決定了應(yīng)該做什么,我們只需實(shí)際執(zhí)行即可少孝。

我們將上一個(gè)狀態(tài)值乘以ft继低,以此表達(dá)期待忘記的部分。之后我們將得到的值加上 it?Ct稍走。這個(gè)得到的是新的候選值袁翁,按照我們決定更新每個(gè)狀態(tài)值的多少來(lái)衡量。

最后婿脸,我們需要決定我們要輸出什么粱胜。 此輸出將基于我們的細(xì)胞狀態(tài),但將是一個(gè)過(guò)濾版本狐树。 首先焙压,我們運(yùn)行一個(gè)sigmoid層,它決定了我們要輸出的細(xì)胞狀態(tài)的哪些部分抑钟。 然后涯曲,我們將單元格狀態(tài)通過(guò)tanh(將值規(guī)范化到-1和1之間),并將其乘以Sigmoid門(mén)的輸出味赃,至此我們只輸出了我們決定的那些部分掀抹。

多個(gè)LSTM可以堆疊并在時(shí)間上連接來(lái)形成更復(fù)雜的結(jié)構(gòu)。這種模型已經(jīng)應(yīng)用于解決許多現(xiàn)實(shí)生活中的序列建模問(wèn)題心俗。

3.2 ConvLSTM網(wǎng)絡(luò)

模型的輸入是一個(gè)M * N 的網(wǎng)格傲武,每個(gè)網(wǎng)格的channel size為P,即輸入為一個(gè)3D tensor城榛。作者給出了模型的公式揪利,如下:

這個(gè)模型和傳統(tǒng)LSTM的不同:

①ConvLSTM模型中將fully-connect layer改成convolutional layer

②而且這個(gè)模型的input是3D tensor。

作者有觀察到狠持,當(dāng)Kernel size即w所代表的kernel size越大疟位,能夠捕獲更快的動(dòng)作。如果kernel size過(guò)小喘垂,那這個(gè)模型只能捕獲慢動(dòng)作甜刻。所以說(shuō)當(dāng)我們要觀察的物體移動(dòng)速度非常快的時(shí)候正勒,我們就需要一個(gè)非常大的kernel size來(lái)調(diào)整得院,所以說(shuō)這個(gè)kernel size就變成模型的超參數(shù)。在文章中引用的論文[16]中有提到章贞,傳統(tǒng)LSTM與ConvLSTM的關(guān)系是非常神奇的祥绞,傳統(tǒng)LSTM其實(shí)可以說(shuō)是ConvLSTM的一個(gè)特別的例子,因?yàn)槿B接其實(shí)就是某一種的卷積,只不過(guò)傳統(tǒng)LSTM的kernel_size是整個(gè)image或整個(gè)input蜕径。而且在卷積之后得到的輸出會(huì)受制于kernel_size以及kernel在做filter濃縮移動(dòng)的步伐两踏,輸出的大小也會(huì)受到影響,輸出的大小通常都比輸入的大小來(lái)得小兜喻。因此我們必須做padding梦染,讓輸出和輸入的大小相同。

作者在這里提到了zero-padding虹统,zero-padding的功能是提供容納未來(lái)資訊進(jìn)來(lái)的通道弓坞。利用過(guò)去的觀察對(duì)未來(lái)做預(yù)測(cè),我們?cè)谕鈬牡胤阶鰌adding车荔,有一些云層就會(huì)從我們填的zero-padding慢慢進(jìn)來(lái)渡冻,把他們連接到雷達(dá)云層圖中,可以理解為云層慢慢地?cái)D進(jìn)我們的實(shí)現(xiàn)忧便,我們就可以觀察到云層的變化族吻。但是我們對(duì)外來(lái)的云層先前是沒(méi)有認(rèn)知的。我們需要給這些外來(lái)的云層留空位珠增,讓模型能夠接受我們從來(lái)都沒(méi)有看過(guò)的資訊超歌。

3.3 Encoding-Forecasting Structure(模型結(jié)構(gòu))

作者給出了模型的結(jié)構(gòu)。使用的是一個(gè)非常傳統(tǒng)的結(jié)構(gòu)型LSTM蒂教,將兩層的LSTM拼在一起巍举,作為一個(gè)encode network,模型在decode的時(shí)候凝垛,直接把encode的資訊復(fù)制過(guò)來(lái)懊悯,再decode出來(lái)。兩層資訊希望都能用到梦皮,直接用的話(huà)炭分,輸出就會(huì)得到兩倍大小,所以作者在這里用到了一個(gè)1 * 1 的convolution layer把結(jié)果卷積成想要的輸出剑肯。預(yù)測(cè)未來(lái)雷達(dá)圖的問(wèn)題就可以被formulate:

這個(gè)模型是一個(gè)多個(gè)LSTM拼接捧毛,因此它有很強(qiáng)的代表性用于復(fù)雜的動(dòng)態(tài)系統(tǒng)來(lái)預(yù)測(cè),比如作者在這里研究的即時(shí)預(yù)測(cè)問(wèn)題让网。

四呀忧、實(shí)驗(yàn)

作者首先在可移動(dòng)的MNIST上做實(shí)驗(yàn),來(lái)檢驗(yàn)ConvLSTM的功效溃睹,他們使用不同的層數(shù)以及kernel size而账,并且研究了一些在范圍之外的例子。作者第二是運(yùn)用在預(yù)測(cè)某個(gè)地區(qū)未來(lái)的降雨程度丸凭、幾率福扬。他們?cè)谶@兩個(gè)實(shí)驗(yàn)中得到了以下結(jié)論:

①比起傳統(tǒng)LSTM,ConvLSTM更適合用于時(shí)空相關(guān)性的問(wèn)題中惜犀;

②kernel size大于1是解決時(shí)空運(yùn)動(dòng)模式的本質(zhì)铛碑。如果kernel size小于1時(shí),每個(gè)kernel只看一個(gè)像素虽界,它沒(méi)有辦法看到一整塊的東西汽烦,因此沒(méi)有辦法解決到一整塊東西所帶來(lái)的資訊;

③更深的模型可以產(chǎn)生更好的結(jié)果莉御,即使它的參數(shù)更少撇吞;

④比起ROVER,ConvLSTM在即時(shí)預(yù)測(cè)的問(wèn)題上表現(xiàn)更好礁叔。

4.1 移動(dòng)MNIST數(shù)據(jù)集

對(duì)于這個(gè)數(shù)據(jù)集牍颈,所有的例子都有20幀長(zhǎng)(10幀用于輸入,10幀用于預(yù)測(cè))琅关,并且包括了兩個(gè)在64*64像素內(nèi)跳動(dòng)的手寫(xiě)數(shù)字煮岁。這些移動(dòng)的數(shù)字都是在MNIST數(shù)據(jù)集中選擇出的一個(gè)包含500個(gè)數(shù)字的自己。手寫(xiě)數(shù)字的初始位置和速度方向都是隨機(jī)的涣易,速度的大小在(3,5]這個(gè)左開(kāi)右閉的區(qū)間內(nèi)隨機(jī)画机。最終獲得了一個(gè)15000的數(shù)據(jù)集。其中10000個(gè)數(shù)據(jù)用于訓(xùn)練新症,2000個(gè)數(shù)據(jù)用作驗(yàn)證序列步氏,3000用于測(cè)試。他們使用基于時(shí)間的反向傳播算法使得交叉熵?fù)p失(cross-entropy loss)最小以及使用學(xué)習(xí)率為10-3和延遲率為0.9的均方根反向傳播徒爹,通過(guò)這兩個(gè)方法對(duì)所有的LSTM模型進(jìn)行訓(xùn)練荚醒。并且,他們還在驗(yàn)證集中使用了early-stopping的方法瀑焦,如果模型的表現(xiàn)越來(lái)越差腌且,說(shuō)明模型有可能以及過(guò)擬合,使用這個(gè)方法來(lái)停止訓(xùn)練榛瓮。

作者分別使用了傳統(tǒng)LSTM铺董、input-to-state和state-to-state kernel size都是5*5的三種層數(shù)不同的ConvLSTM、還有兩種state-to-state kernel size都是1*1的不同層數(shù)的ConvLSTM禀晓。作者給出如下的實(shí)驗(yàn)結(jié)果表格:

通過(guò)這個(gè)表格精续,我們可以看到ConvLSTM模型的表現(xiàn)都比傳統(tǒng)LSTM模型的好,并且ConvLSTM深度更深但是參數(shù)更少的話(huà)粹懒,它也是會(huì)有更低的交叉熵?fù)p失重付。但是對(duì)與kernel size為1的模型,我們前面也有提到凫乖,kernel size必須大于1确垫。

作者還給出了一個(gè)不在考慮范圍內(nèi)的例子弓颈,通過(guò)上面這個(gè)圖我們可以看到,作者他們的模型是能夠成功分離出重疊在一起的數(shù)字删掀,并且能夠能夠大體地預(yù)測(cè)出動(dòng)作即使預(yù)測(cè)的數(shù)字很模糊翔冀。

4.2 雷達(dá)圖數(shù)據(jù)

在這篇文章中使用到的數(shù)據(jù)集是從2011到2013年在香港收集到的天氣雷達(dá)圖。因?yàn)椴皇敲刻於际怯晏於易髡叩哪繕?biāo)是預(yù)測(cè)披泪,所以他們選擇了頭97個(gè)雨天來(lái)構(gòu)成他們的數(shù)據(jù)集纤子。首先他們將強(qiáng)度值Z轉(zhuǎn)換成灰階像素P,這里使用到的公式是


然后在中部330*330的位置裁剪雷達(dá)圖款票,然后他們對(duì)這個(gè)雷達(dá)圖進(jìn)行歸一化到100*100的大小控硼。為了減少由監(jiān)測(cè)設(shè)備引起的噪聲,還需要對(duì)雷達(dá)圖進(jìn)行去噪艾少,這些噪聲是通過(guò)將k-means聚類(lèi)應(yīng)用在月像素平均值來(lái)去除的卡乾。天氣雷達(dá)數(shù)據(jù)每6分鐘記錄一次,所以每天就有240幀缚够。為了得到訓(xùn)練说订、測(cè)試和驗(yàn)證不相交的子集,作者將每天記錄的序列分成40個(gè)不重疊的幀塊潮瓶,并且隨機(jī)地將4塊用作訓(xùn)練陶冷,1塊用作測(cè)試,1塊用作驗(yàn)證毯辅。然后使用一個(gè)20幀寬的滑動(dòng)窗口從這些塊中切除數(shù)據(jù)實(shí)例埂伦。因此作者使用到的數(shù)據(jù)集包括8148個(gè)訓(xùn)練序列,2037個(gè)測(cè)試序列和2037個(gè)驗(yàn)證序列思恐,并且所有的序列都是20幀長(zhǎng)(5幀用于輸入沾谜,15幀用于預(yù)測(cè))。這個(gè)實(shí)驗(yàn)使用一個(gè)兩層的ConvLSTM以及三個(gè)ROVER算法進(jìn)行比較胀莹,使用了降雨均方誤差(Rainfall-MSE)基跑、臨界成功指數(shù)(CSI)、虛警率(FAR)描焰、發(fā)現(xiàn)概率(POD)以及相關(guān)性(Correlation)來(lái)評(píng)估模型的效益媳否。文章中使用了以下公式來(lái)定義評(píng)估方式:

模型的表現(xiàn)在這幾個(gè)評(píng)估模型的體現(xiàn)是:降雨均方誤差越小越好,臨界成功指數(shù)越大越好荆秦,虛警率越小越好篱竭、發(fā)現(xiàn)概率越大越好、相關(guān)性越大越好步绸。最后作者給出了這個(gè)實(shí)驗(yàn)的結(jié)果圖:

從上面這個(gè)表中我們可以看到掺逼,作者提出的模型不僅比傳統(tǒng)LSTM效果好,并且還比任何一種ROVER的效果好瓤介。

通過(guò)圖6吕喘,可以看到第四行使用ROVER2預(yù)測(cè)出來(lái)的云層在左上角有很大的一塊空缺赘那,而第三行使用ConvLSTM預(yù)測(cè)出來(lái)的圖明顯在左上角是有填充的,在前面作者也有提到需要給模型未接觸過(guò)的資訊留空位氯质,讓模型接受它從未接觸了解過(guò)的資訊漓概,而ROVER2就沒(méi)有辦法很好的解決邊界問(wèn)題。而且ConvLSTM在這個(gè)例子中是使用點(diǎn)到點(diǎn)的訓(xùn)練病梢,在這個(gè)數(shù)據(jù)集中一些復(fù)雜的時(shí)空模型可以通過(guò)非線(xiàn)性和卷積的方法學(xué)習(xí)。但是ROVER2就做不到點(diǎn)到點(diǎn)的訓(xùn)練梁肿。

通過(guò)作者給出的實(shí)驗(yàn)圖片蜓陌,可以發(fā)現(xiàn)使用ConvLSTM預(yù)測(cè)出來(lái)的圖片在邊緣更加的平滑,使用ROVER2預(yù)測(cè)出來(lái)的圖片比較清晰且邊緣更尖銳吩蔑。比較實(shí)際圖片钮热,ConvLSTM預(yù)測(cè)出來(lái)的結(jié)果比ROVER更好。

五烛芬、結(jié)論

在這篇論文中隧期,作者成功地將機(jī)器學(xué)習(xí)的方法(特別是深度學(xué)習(xí))應(yīng)用在至今還未從復(fù)雜的機(jī)器學(xué)習(xí)受益的具有挑戰(zhàn)的即時(shí)預(yù)測(cè)問(wèn)題上。ConvLSTM不僅繼承了傳統(tǒng)LSTM的優(yōu)點(diǎn)赘娄,并且由于它內(nèi)部的卷積結(jié)構(gòu)使得它非常適合于時(shí)空數(shù)據(jù)仆潮。對(duì)于未來(lái)的工作,作者他們打算將這個(gè)ConvLSTM應(yīng)用于基于視頻的動(dòng)作識(shí)別中遣臼。

六性置、啟發(fā)

對(duì)于作者提出的ConvLSTM模型,預(yù)測(cè)出來(lái)的結(jié)果會(huì)被霧化揍堰,變得非常模糊鹏浅。不過(guò)這個(gè)問(wèn)題在“Unsupervised Learning for Physical Interaction through Video Prediction”中被改善。所以我在想能否把這個(gè)改善后的方法再應(yīng)用于作者提出的降雨預(yù)測(cè)模型中屏歹。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末隐砸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蝙眶,更是在濱河造成了極大的恐慌季希,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幽纷,死亡現(xiàn)場(chǎng)離奇詭異胖眷,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)霹崎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)珊搀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人尾菇,你說(shuō)我怎么就攤上這事境析∏羟梗” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵劳淆,是天一觀的道長(zhǎng)链沼。 經(jīng)常有香客問(wèn)我,道長(zhǎng)沛鸵,這世上最難降的妖魔是什么括勺? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮曲掰,結(jié)果婚禮上疾捍,老公的妹妹穿的比我還像新娘。我一直安慰自己栏妖,他們只是感情好乱豆,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著吊趾,像睡著了一般宛裕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上论泛,一...
    開(kāi)封第一講書(shū)人閱讀 52,255評(píng)論 1 308
  • 那天揩尸,我揣著相機(jī)與錄音,去河邊找鬼屁奏。 笑死疲酌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的了袁。 我是一名探鬼主播朗恳,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼载绿!你這毒婦竟也來(lái)了粥诫?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤崭庸,失蹤者是張志新(化名)和其女友劉穎怀浆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體怕享,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡执赡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了函筋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沙合。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖跌帐,靈堂內(nèi)的尸體忽然破棺而出首懈,到底是詐尸還是另有隱情绊率,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布究履,位于F島的核電站滤否,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏最仑。R本人自食惡果不足惜藐俺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泥彤。 院中可真熱鬧欲芹,春花似錦、人聲如沸全景。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)爸黄。三九已至,卻和暖如春揭鳞,著一層夾襖步出監(jiān)牢的瞬間炕贵,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工野崇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留称开,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓乓梨,卻偏偏與公主長(zhǎng)得像鳖轰,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扶镀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容