Andrew Ng深度學(xué)習(xí)課程筆記閱讀記錄(2):改善深層神經(jīng)網(wǎng)絡(luò):超參數(shù)調(diào)試橙困、正則化以及優(yōu)化

1.數(shù)據(jù)劃分

將數(shù)據(jù)分成三部分:訓(xùn)練集瞧掺,驗(yàn)證集(dev set),測(cè)試集
我們開(kāi)始對(duì)訓(xùn)練執(zhí)行算法纷宇,通過(guò)驗(yàn)證集選擇最好的模型夸盟,經(jīng)過(guò)充分驗(yàn)證,我們選定了最終模型像捶,然后就可以在測(cè)試集上進(jìn)行評(píng)估了上陕。

傳統(tǒng)的劃分比例:(適用于數(shù)據(jù)集規(guī)模較小的)
70%驗(yàn)證集桩砰,30%測(cè)試集
60%訓(xùn)練,20%驗(yàn)證释簿,20%測(cè)試

數(shù)據(jù)集規(guī)模較大的亚隅,驗(yàn)證集和測(cè)試集要小于數(shù)據(jù)總量的20%或10%。

要保證驗(yàn)證集和測(cè)試集的數(shù)據(jù)來(lái)自統(tǒng)一分布庶溶。
如果不需要無(wú)偏評(píng)估算法性能煮纵,那么也可以不設(shè)置測(cè)試集,可以再訓(xùn)練集上訓(xùn)練偏螺,嘗試不同的模型框架行疏,在驗(yàn)證集上評(píng)估這些模型,然后迭代選出適用的模型套像。

2.bias & variance

如果訓(xùn)練集的誤差很小酿联,而驗(yàn)證集的誤差比較大,那么也就意味著我們可能過(guò)擬合了訓(xùn)練集夺巩,驗(yàn)證集在某種程度上沒(méi)有充分利用交叉驗(yàn)證的作用贞让,這種情況稱(chēng)為“高方差”。
查看數(shù)據(jù)集的擬合情況的誤差柳譬,可以看出是不是“高偏差”喳张。

初始模型訓(xùn)練完成后,首先看一下算法的偏差高不高美澳,如果偏差的確很高销部,嘗試換個(gè)模型,比如含有更多的隱藏層或隱藏單元人柿,或花費(fèi)更多的時(shí)間訓(xùn)練網(wǎng)絡(luò)柴墩,或采用更好的優(yōu)化算法。當(dāng)偏差降下來(lái)之后凫岖,意味著當(dāng)前這個(gè)模型可以擬合或者過(guò)擬合訓(xùn)練集江咳,接下來(lái)檢查一下方差有沒(méi)有問(wèn)題,如果方差高哥放,有兩種方式歼指,一是采用更多的數(shù)據(jù),二是正則化減少過(guò)擬合甥雕。

3.正則化

正則化 L1和L2:

1.在代價(jià)函數(shù)的基礎(chǔ)上再加上λ/2m*范數(shù)踩身,其中λ為正則化參數(shù),我們通常使用驗(yàn)證集來(lái)配置這個(gè)參數(shù)社露。
神經(jīng)網(wǎng)絡(luò)中的正則化:弗洛貝尼烏斯范數(shù)挟阻,表示一個(gè)矩陣中所有數(shù)的平方和(矩陣L2范數(shù))
L2范數(shù)正則化被稱(chēng)為“權(quán)重衰減”,因?yàn)槲覀兗由险齽t化之后,對(duì)權(quán)重的更新相當(dāng)于乘了(1-aλ/m)的權(quán)重附鸽,在此基礎(chǔ)上再減去未加正則化之前的梯度下降的部分脱拼,見(jiàn)下圖:



2.為什么正則化能避免過(guò)擬合?
如果正則化參數(shù)λ很大坷备,那么參數(shù)W就會(huì)很小熄浓,相應(yīng)的Z=WX+b,Z也會(huì)變小,當(dāng)Z的范圍落在下面這個(gè)圖的紅色部分時(shí)省撑,g(z)大致呈線(xiàn)性赌蔑,而線(xiàn)性的激活函數(shù)我們通過(guò)前一章知道它并不能用于復(fù)雜的決策,本質(zhì)上和Logistic回歸是一樣的竟秫。


Dropout正則化

1.dropout會(huì)遍歷網(wǎng)絡(luò)的每一層娃惯,并設(shè)置消除神經(jīng)網(wǎng)絡(luò)中節(jié)點(diǎn)的概率。
最常用的是inverted dropout, 會(huì)除以一個(gè)keep-prob(代表每一層上保留單元的概率)的值鸿摇,測(cè)試過(guò)程中不要用drouput石景,因?yàn)樵跍y(cè)試階段進(jìn)行預(yù)測(cè)時(shí)劈猿,如果應(yīng)用dropout預(yù)測(cè)會(huì)受到干擾拙吉。
2.為什么dropout有效?
主觀上看揪荣,它意味著這個(gè)神經(jīng)網(wǎng)絡(luò)不依賴(lài)于任何一個(gè)特征筷黔,因?yàn)樵搯卧妮斎肟赡茈S時(shí)被清除,該單元就會(huì)通過(guò)這種方式傳播所有的權(quán)重仗颈,會(huì)產(chǎn)生收縮權(quán)重的平方范數(shù)的效果佛舱,類(lèi)似于L2正則化。
3.實(shí)施dropout中有兩個(gè)技巧挨决,且大多用于計(jì)算機(jī)視覺(jué)領(lǐng)域请祖。①如果擔(dān)心某些層比其它層更容易過(guò)擬合,可以把某些層的keep-prob值設(shè)置的低一些脖祈。②在某些層上應(yīng)用dropout,有些層不用dropout肆捕。
4.采用dropout帶來(lái)的缺點(diǎn)是代價(jià)函數(shù)J不再被明確定義,很難檢查梯度下降的值盖高。

其他正則化方法

數(shù)據(jù)增強(qiáng)(Data Augmentation)
1??從數(shù)據(jù)源頭采集更多數(shù)據(jù)復(fù)制2??原有數(shù)據(jù)并加上隨機(jī)噪聲3??重采樣4??根據(jù)當(dāng)前數(shù)據(jù)集估計(jì)數(shù)據(jù)分布參數(shù)慎陵,使用該分布產(chǎn)生更多數(shù)據(jù)等。
Early stopping(繪制驗(yàn)證集誤差會(huì)發(fā)現(xiàn)驗(yàn)證集誤差通過(guò)先呈下降趨勢(shì)然后在某個(gè)節(jié)點(diǎn)處開(kāi)始上升喻奥,于是我們?cè)谶@個(gè)地方停止訓(xùn)練)席纽。Early stopping的缺點(diǎn)是過(guò)早了停止了梯度下降,不能獨(dú)立的處理方差和偏差的問(wèn)題撞蚕。

5.神經(jīng)網(wǎng)絡(luò)的權(quán)重初始化tips

如果用的激活函數(shù)是relu,方差設(shè)置為2/n^([l?1])
如果用的激活函數(shù)時(shí)tanh润梯,方差設(shè)置為√(1/n^[l?1] )(這種叫Xavier初始化)

6.梯度檢查

把網(wǎng)絡(luò)中的參數(shù)W1,W2,W3…b1,b2,b3等轉(zhuǎn)換成一個(gè)巨大的向量θ,那么代價(jià)函數(shù)J就是θ的函數(shù)纺铭。

梯度檢查

如何定義這兩個(gè)向量是否真的接近彼此抒和?我們使用下面的數(shù)學(xué)公式
difference = \frac {\mid\mid grad - gradapprox \mid\mid_2}{\mid\mid grad \mid\mid_2 + \mid\mid gradapprox \mid\mid_2}

如果這個(gè)值在10^(?7)或更小,就意味著導(dǎo)數(shù)逼近是正確的彤蔽。(使用np.linalg.norm(...))

注意事項(xiàng):①不要再訓(xùn)練中使用梯度檢驗(yàn)摧莽。調(diào)試的時(shí)候才需要。
②如果算法的梯度檢驗(yàn)失敗顿痪,要檢查每一項(xiàng)找出Bug镊辕。
③如果代價(jià)函數(shù)有正則化的形式,那么在實(shí)施梯度檢驗(yàn)時(shí)一定要注意包括這個(gè)正則項(xiàng)蚁袭。
④梯度檢驗(yàn)不能和dropout同時(shí)使用征懈。一般是先關(guān)閉dropout,用梯度檢驗(yàn)進(jìn)行檢查在沒(méi)有dropout的情況下算法是正確的,再打開(kāi)dropou

7揩悄、mini-batch

1.batch梯度下降
假設(shè)X的維度是(nx,m),Y的維度是(1,m)卖哎。之前的向量化能夠讓我們相對(duì)較快的處理m個(gè)樣本。但如果m很大删性,處理的速度仍然很慢亏娜,這意味著我們必須處理整個(gè)訓(xùn)練集才執(zhí)行一次梯度下降。
2.mini-batch
如果將訓(xùn)練集分成小一點(diǎn)的子集訓(xùn)練蹬挺,在每一個(gè)子集訓(xùn)練后執(zhí)行一次梯度下降维贺,那么這些子集就是mini-batch。在每一個(gè)Mini-batch上進(jìn)行前向傳播巴帮、計(jì)算損失函數(shù)溯泣、反向傳播更新參數(shù)的過(guò)程就叫做一個(gè)epoch径玖。
Mini-batch相比于batch梯度下降來(lái)說(shuō)狈涮,代價(jià)函數(shù)會(huì)有更多的噪聲,大趨勢(shì)上代價(jià)函數(shù)會(huì)隨著每次迭代而減小坤学。
我們需要確定mini-batch的大小,假設(shè)訓(xùn)練集的大小是m:
Mini-batch數(shù)量=m 即Batch gradient descent(batch梯度下降)用押,遍歷全部數(shù)據(jù)集算一次損失函數(shù)肢簿,然后算函數(shù)對(duì)各個(gè)參數(shù)的梯度,更新梯度只恨。太慢译仗。
Mini-batch數(shù)量=1 即stochastic gradient descent(隨機(jī)梯度下降),每看一個(gè)數(shù)據(jù)就算一下?lián)p失函數(shù)官觅,然后求梯度更新參數(shù)纵菌。
3.如何選取mini-batch的大小休涤?
m<2000時(shí)咱圆,直接用Batch梯度下降笛辟;m數(shù)量較大時(shí),mini-batch的大小一般設(shè)置為2的次方序苏,一般64-512的mini-batch比較常見(jiàn)手幢。

8.指數(shù)加權(quán)平均

V_{t}=\beta V_{t-1}+(1-\beta)\theta_{t}
但是使用指數(shù)加權(quán)平均的方法在前期會(huì)有很大的偏差,為此我們引入了偏差修正的概念:
帶修正偏差的指數(shù)加權(quán)平均
\hat{V}_{t}=\frac{V_{t}}{1-\beta^{t}}=\frac{(\beta V_{t-1}+(1-\beta)\theta_{t})}{1-\beta^{t}}

9.使用momument的梯度下降法

更新的時(shí)候在一定程度上保留之前更新的方向,同時(shí)利用當(dāng)前batch的梯度微調(diào)最終的更新方向忱详。
白話(huà)解釋?zhuān)?br> 在對(duì)應(yīng)上面的計(jì)算公式中围来,將Cost function想象為一個(gè)碗狀,想象從頂部往下滾球匈睁,其中:微分項(xiàng)dw,db想象為球提供的加速度监透;動(dòng)量項(xiàng)vdw,vdb相當(dāng)于速度;

  • 若當(dāng)前梯度的方向與歷史梯度一致(表明當(dāng)前樣本不太可能為異常點(diǎn))航唆,則會(huì)增強(qiáng)這個(gè)方向的梯度胀蛮。
  • 若當(dāng)前梯度與歷史梯方向不一致,則梯度會(huì)衰減糯钙。

小球在向下滾動(dòng)的過(guò)程中粪狼,因?yàn)榧铀俣鹊拇嬖谒俣葧?huì)變快,但是由于ββ的存在任岸,其值小于1再榄,可以認(rèn)為是摩擦力,所以球不會(huì)無(wú)限加速下去演闭。

image.png

其中的超參數(shù)為:α不跟,β

10.RMSProp

如下圖,我們想要減緩縱軸方向的浮動(dòng)幅度米碰,同時(shí)加快橫軸方向的學(xué)習(xí)。假設(shè)縱軸是b购城,橫軸是W吕座,那么RMSprop有以下的公式


RMSProp

我們希望Sdw較小,這樣在更新的時(shí)候除以一個(gè)較小的數(shù)就可以加快橫軸的學(xué)習(xí)瘪板;===> dw較小
同時(shí)希望Sdb較大吴趴,在更新b的時(shí)候除以一個(gè)較大的數(shù)就可以減緩縱軸上的變化。===>db較大
RMSprop將微分項(xiàng)進(jìn)行平方侮攀,然后使用平方根進(jìn)行梯度更新锣枝,同時(shí)為了確保算法不會(huì)除以0,平方根分母中在實(shí)際使用會(huì)加入一個(gè)很小的值如ε

11.Adam

一個(gè)結(jié)合了momentum和RMSprop的自適應(yīng)學(xué)習(xí)率的方法兰英。它利用梯度的一階矩估計(jì)和二階矩估計(jì)動(dòng)態(tài)調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率撇叁。Adam的優(yōu)點(diǎn)主要在于經(jīng)過(guò)偏置校正后,每一次迭代學(xué)習(xí)率都有個(gè)確定范圍畦贸,使得參數(shù)比較平穩(wěn)陨闹。


image.png

權(quán)重更新:


Adam:W

Adam:b

其中的超參數(shù)有:
α:需要進(jìn)行調(diào)試楞捂;
β1:常用缺省值為0.9,dw的加權(quán)平均趋厉;
β2:推薦使用0.999寨闹,dw2的加權(quán)平均值;
ε:推薦使用10^?8

12.學(xué)習(xí)率衰減

  • 常用
    \alpha = \frac{1}{1+decay-rate*epoch-num}*\alpha_0
  • 指數(shù)衰減
    \alpha = 0.95^{epoch\_num}\alpha_{0}
  • 離散下降:discrete stair caese(不同階段使用不同的學(xué)習(xí)速率)
  • 其他


    image.png

13.局部最優(yōu)問(wèn)題

在高緯度的情況下:

  • 幾乎不可能陷入局部最小值點(diǎn)君账;
  • 處于鞍點(diǎn)的停滯區(qū)會(huì)減緩學(xué)習(xí)過(guò)程繁堡,利用如Adam等算法進(jìn)行改善

14.超參數(shù)調(diào)試

經(jīng)常調(diào)試的有α,mini-batch的大小乡数,隱藏單元帖蔓。當(dāng)應(yīng)用Adam算法時(shí),不需要調(diào)試β1瞳脓,β2塑娇,ε
在深度學(xué)習(xí)領(lǐng)域,由于不知道哪個(gè)超參數(shù)更重要劫侧,推薦采用隨機(jī)選擇點(diǎn)埋酬,還有就是考慮使用由粗糙到精細(xì)的搜索過(guò)程。
在超參數(shù)選擇時(shí)烧栋,一些超參數(shù)是在一個(gè)范圍內(nèi)進(jìn)行均勻隨機(jī)取值的写妥,但還有一些參數(shù)均勻隨機(jī)取值不合適,這就需要使用對(duì)數(shù)標(biāo)尺搜索超參數(shù)审姓。
①如超參數(shù)α學(xué)習(xí)速率珍特,使用對(duì)數(shù)標(biāo)尺搜索超參數(shù):代碼中可以r=-4*np.random.rand()
在對(duì)數(shù)坐標(biāo)系中取值,取最小的對(duì)數(shù)得到a的值魔吐,取最大值的對(duì)數(shù)得到b值扎筒,現(xiàn)在在對(duì)數(shù)軸上的10a~10b區(qū)間取值,在a,b之間隨意均勻的選取r酬姆,超參數(shù)設(shè)置為10^r嗜桌。
②假設(shè)我們現(xiàn)在調(diào)整β的值,我們認(rèn)為β的取值在0.9~0.999之間辞色,那就可以讓1-β落在0.001-0.1之間骨宠,從而調(diào)整β的值。

15.歸一化

歸一化輸入需要兩個(gè)步驟:零均值相满,歸一化方差层亿,我們希望訓(xùn)練集和測(cè)試集都是通過(guò)相同的μ和σ^2定義的數(shù)據(jù)轉(zhuǎn)換
我們歸一化的是輸入的特征值立美,不是y匿又。

網(wǎng)絡(luò)中激活值的歸一化:Batch Norm

1.公式
\widetilde z^{(i)} = \gamma z^{(i)}_{\rm norm}+\beta
其中g(shù)amma和β是可以更新學(xué)習(xí)的參數(shù),兩個(gè)參數(shù)的值來(lái)確定z~的分布悯辙。

2.意義
當(dāng)對(duì)隱藏層的輸出值z(mì)進(jìn)行歸一化以后琳省,我們得到的是一個(gè)均值為0方差為1的分布迎吵,但是,假設(shè)這一層的激活函數(shù)是sigmoid针贬,這個(gè)分布就意味著所有的值都集中在sigmoid在原點(diǎn)附近近似線(xiàn)性的一段了击费,因此,使用上面的公式重新對(duì)其賦予我們想要的任意值桦他。

3.將batch norm擬合進(jìn)神經(jīng)網(wǎng)絡(luò)
對(duì)每一個(gè)mini-batch,使用z = WX+b計(jì)算出每一個(gè)隱藏層的輸出蔫巩,對(duì)其進(jìn)行batch norm(BN)后繼續(xù)送入下一個(gè)隱藏層…一直到輸出層,之后進(jìn)行一步梯度下降法(可以采用之前說(shuō)的momentum,rmsprop,Adam梯度下降法)快压。其中在對(duì)z進(jìn)行BN時(shí)圆仔,由于要計(jì)算z的均值再減去平均值,所以z中的任何常熟都會(huì)被抵消蔫劣,因此b這個(gè)參數(shù)是無(wú)用的坪郭,可以設(shè)置為0。

4.Batch norm為什么有用脉幢?
①類(lèi)似于前面的歸一化歪沃,可以改變cost function的形狀,使得每一次梯度下降都可以更快的接近函數(shù)的最小值點(diǎn)嫌松,從而加速模型訓(xùn)練的過(guò)程沪曙。只不過(guò)batch norm不是單純的將輸入的特征進(jìn)行歸一化,而是將各個(gè)隱藏層的激活函數(shù)的激活值進(jìn)行的歸一化萎羔,并調(diào)整到另外的分布液走。
②限制了前層的參數(shù)更新導(dǎo)致對(duì)后面網(wǎng)絡(luò)數(shù)值分布程度的影響,使得輸入后層的數(shù)值變得更加穩(wěn)定贾陷。

5.在訓(xùn)練數(shù)據(jù)上使用Batch norm
訓(xùn)練過(guò)程中缘眶,我們是在每個(gè)Mini-batch使用Batch Norm,來(lái)計(jì)算所需要的均值μ和方差σ^2昵宇。但是在測(cè)試的時(shí)候磅崭,我們需要對(duì)每一個(gè)測(cè)試樣本進(jìn)行預(yù)測(cè),無(wú)法計(jì)算均值和方差瓦哎。
此時(shí),我們需要單獨(dú)進(jìn)行估算均值μ和方差σ^2柔逼。通常的方法就是在我們訓(xùn)練的過(guò)程中蒋譬,對(duì)于訓(xùn)練集的Mini-batch,使用指數(shù)加權(quán)平均愉适,當(dāng)訓(xùn)練結(jié)束的時(shí)候犯助,得到指數(shù)加權(quán)平均后的均值μμ和方差σ2σ2,而這些值直接用于Batch Norm公式的計(jì)算维咸,用以對(duì)測(cè)試樣本進(jìn)行預(yù)測(cè)剂买。

16.softmax

1.作用:將所有可能的輸出歸一化惠爽,輸入一個(gè)向量,輸出一個(gè)向量瞬哼。


softmax

softmax回歸相比于hard max(將最大元素位置放1婚肆,其余放0)更加的溫和,將Logistic regression推廣到了兩種分類(lèi)以上坐慰。

2.怎么訓(xùn)練帶有softmax輸出層的神經(jīng)網(wǎng)絡(luò)较性?
損失函數(shù)一般選取的是交叉熵L(\hat y,y)=-\sum\limits_{j=1}^{4}y_{j}\log \hat y_{j}
所以為了最小化Loss function,我們的目標(biāo)就變成了使得y^2的概率盡可能的大
對(duì)應(yīng)的Cost function
J(w^{[1]},b^{[1]},\ldots)=\dfrac{1}{m}\sum\limits_{i=1}^{m}L(\hat y^{(i)},y^{(i)})

3.Softmax 的梯度下降
在Softmax層的梯度計(jì)算公式為:\dfrac{\partial J}{\partial z^{[L]}}=dz^{[L]} = \hat y -y

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末结胀,一起剝皮案震驚了整個(gè)濱河市赞咙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌糟港,老刑警劉巖攀操,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異秸抚,居然都是意外死亡速和,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)耸别,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)健芭,“玉大人,你說(shuō)我怎么就攤上這事秀姐〈嚷酰” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵省有,是天一觀的道長(zhǎng)痒留。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蠢沿,這世上最難降的妖魔是什么伸头? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮舷蟀,結(jié)果婚禮上恤磷,老公的妹妹穿的比我還像新娘。我一直安慰自己野宜,他們只是感情好扫步,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著匈子,像睡著了一般河胎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上虎敦,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天游岳,我揣著相機(jī)與錄音政敢,去河邊找鬼。 笑死胚迫,一個(gè)胖子當(dāng)著我的面吹牛喷户,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晌区,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼摩骨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了朗若?” 一聲冷哼從身側(cè)響起恼五,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哭懈,沒(méi)想到半個(gè)月后灾馒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡遣总,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年睬罗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旭斥。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡容达,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出垂券,到底是詐尸還是另有隱情花盐,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布菇爪,位于F島的核電站算芯,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏凳宙。R本人自食惡果不足惜熙揍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望氏涩。 院中可真熱鬧届囚,春花似錦、人聲如沸是尖。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)析砸。三九已至,卻和暖如春爆袍,著一層夾襖步出監(jiān)牢的瞬間首繁,已是汗流浹背作郭。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留弦疮,地道東北人夹攒。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像胁塞,于是被迫代替她去往敵國(guó)和親咏尝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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