卷積模塊設(shè)計(jì)整理(SENet,SKNet,Non-Local Net,GCNet,GIoRe,OcNet,Octave)

SENet

Squeeze-and-Excitation Networks (SENet) 膘壶,CVPR2017 [code]

很多工作被提出來(lái)從空間維度層面來(lái)提升網(wǎng)絡(luò)的性能雕崩,如 Inception 結(jié)構(gòu)中嵌入了多尺度信息嫂丙,聚合多種不同感受野上的特征來(lái)獲得性能增益哑蔫;在 Inside-Outside 網(wǎng)絡(luò)中考慮了空間中的上下文信息;還有將 Attention 機(jī)制引入到空間維度上丁溅。那么很自然想到啦膜,網(wǎng)絡(luò)是否可以從其他層面來(lái)考慮去提升性能,比如考慮特征通道之間的關(guān)系胃榕?SENet就是基于這一點(diǎn)盛险,Squeeze 和 Excitation 是兩個(gè)非常關(guān)鍵的操作。動(dòng)機(jī)是希望顯式地建模特征通道之間的相互依賴關(guān)系勋又。另外苦掘,并沒有引入一個(gè)新的空間維度來(lái)進(jìn)行特征通道間的融合,而是采用了一種全新的「特征重標(biāo)定」策略楔壤。具體來(lái)說(shuō)鹤啡,就是通過(guò)學(xué)習(xí)的方式來(lái)自動(dòng)獲取到每個(gè)特征通道的重要程度,然后依照這個(gè)重要程度去提升有用的特征并抑制對(duì)當(dāng)前任務(wù)用處不大的特征蹲嚣。

image

SE 模塊的示意圖如下递瑰。給定一個(gè)輸入 x,其特征通道數(shù)為 c_1隙畜,通過(guò)一系列卷積等一般變換后得到一個(gè)特征通道數(shù)為c_2的特征抖部。與傳統(tǒng)的 CNN 不一樣的是,接下來(lái)我們通過(guò)三個(gè)操作來(lái)重標(biāo)定前面得到的特征议惰。

首先是 Squeeze 操作慎颗,我們順著空間維度來(lái)進(jìn)行特征壓縮,將每個(gè)二維的特征通道變成一個(gè)實(shí)數(shù)言询,這個(gè)實(shí)數(shù)某種程度上具有全局的感受野俯萎,并且輸出的維度和輸入的特征通道數(shù)相匹配。它表征著在特征通道上響應(yīng)的全局分布倍试,而且使得靠近輸入的層也可以獲得全局的感受野讯屈,這一點(diǎn)在很多任務(wù)中都是非常有用的。

其次是 Excitation 操作县习,它是一個(gè)類似于循環(huán)神經(jīng)網(wǎng)絡(luò)中門的機(jī)制涮母。通過(guò)參數(shù) w 來(lái)為每個(gè)特征通道生成權(quán)重谆趾,其中參數(shù) w 被學(xué)習(xí)用來(lái)顯式地建模特征通道間的相關(guān)性。

最后是一個(gè) Reweight 的操作叛本,我們將 Excitation 的輸出的權(quán)重看做是經(jīng)過(guò)特征選擇后的每個(gè)特征通道的重要性沪蓬,然后通過(guò)乘法逐通道加權(quán)到先前的特征上,完成在通道維度上的對(duì)原始特征的重標(biāo)定来候。


image

左圖是將 SE 模塊嵌入到 Inception 結(jié)構(gòu)的一個(gè)示例跷叉。方框旁邊的維度信息代表該層的輸出。這里我們使用 global average pooling 作為 Squeeze 操作营搅。緊接著兩個(gè) Fully Connected 層組成一個(gè) Bottleneck 結(jié)構(gòu)去建模通道間的相關(guān)性云挟,并輸出和輸入特征同樣數(shù)目的權(quán)重。我們首先將特征維度降低到輸入的 1/16转质,然后經(jīng)過(guò) ReLu 激活后再通過(guò)一個(gè) Fully Connected 層升回到原來(lái)的維度园欣。這樣做比直接用一個(gè) Fully Connected 層的好處在于:
1)具有更多的非線性,可以更好地?cái)M合通道間復(fù)雜的相關(guān)性休蟹;
2)極大地減少了參數(shù)量和計(jì)算量沸枯。然后通過(guò)一個(gè) Sigmoid 的門獲得 0~1 之間歸一化的權(quán)重,最后通過(guò)一個(gè) Scale 的操作來(lái)將歸一化后的權(quán)重加權(quán)到每個(gè)通道的特征上赂弓。

除此之外绑榴,SE 模塊還可以嵌入到含有 skip-connections 的模塊中。右圖是將 SE 嵌入到 ResNet 模塊中的一個(gè)例子盈魁,操作過(guò)程基本和 SE-Inception 一樣翔怎,只不過(guò)是在 Addition 前對(duì)分支上 Residual 的特征進(jìn)行了特征重標(biāo)定。如果對(duì) Addition 后主支上的特征進(jìn)行重標(biāo)定杨耙,由于在主干上存在 0~1 的 scale 操作姓惑,在網(wǎng)絡(luò)較深 BP 優(yōu)化時(shí)就會(huì)在靠近輸入層容易出現(xiàn)梯度消散的情況,導(dǎo)致模型難以優(yōu)化按脚。

image

目前大多數(shù)的主流網(wǎng)絡(luò)都是基于這兩種類似的單元通過(guò) repeat 方式疊加來(lái)構(gòu)造的于毙。由此可見,SE 模塊可以嵌入到現(xiàn)在幾乎所有的網(wǎng)絡(luò)結(jié)構(gòu)中辅搬。通過(guò)在原始網(wǎng)絡(luò)結(jié)構(gòu)的 building block 單元中嵌入 SE 模塊唯沮,我們可以獲得不同種類的 SENet。如 SE-BN-Inception堪遂、SE-ResNet介蛉、SE-ReNeXt、SE-Inception-ResNet-v2 等等溶褪。


SKNet

Selective Kernel Networks (SKNet) 币旧,CVPR2019 [code]

本文的motivation是發(fā)現(xiàn)過(guò)去的卷積網(wǎng)絡(luò)在每層都share相同的感受野大小,而在神經(jīng)科學(xué)中猿妈,視覺皮層單元中的感受野大小應(yīng)該是受stimulus變化而自適應(yīng)調(diào)整吹菱,故SK unit 就是實(shí)現(xiàn)這個(gè)功能巍虫。對(duì)多個(gè)不同感受野大小的branch進(jìn)行融合,融合中使用的是類SENet結(jié)構(gòu)鳍刷,最后使用類似門機(jī)制的softmax attention來(lái)分配branch的重要性占遥。

image
  • Split 即進(jìn)行不同感受野卷積操作,上面的branch為3x3 kernel, dilate size=1的输瓜,而下面的為5x5 的dilate size=2的卷積(為了進(jìn)一步提高效率瓦胎,將常規(guī)的5x5卷積替換為5x5的空洞卷積)。
  • Fuse 即進(jìn)行特征融合尤揣,對(duì)兩個(gè)branch卷積后的特征進(jìn)行疊加搔啊,然后標(biāo)準(zhǔn)SE過(guò)程(Global AVG, FC-BN-ReLU,F(xiàn)C)北戏,這里最后的FC是分別出來(lái)兩個(gè)branch的channel weight vector
  • Select 即對(duì)Fuse最后的兩個(gè)branch的channel weight vector進(jìn)行每個(gè)位置各自的Softmax操作坯癣,類似門機(jī)制,可得到兩個(gè)branch中每個(gè)channel各自的權(quán)值最欠,乘回原始特征中,最后進(jìn)行特征疊加惩猫。

通過(guò)在自然圖像中放大目標(biāo)對(duì)象和縮小背景來(lái)模擬刺激芝硬,以保持圖像大小不變。結(jié)果發(fā)現(xiàn)轧房,當(dāng)目標(biāo)物體越來(lái)越大時(shí)拌阴,大多數(shù)神經(jīng)元會(huì)越來(lái)越多地從更大的核路徑中收集信息。這些結(jié)果表明奶镶,所提出的sknet中的神經(jīng)元具有自適應(yīng)的感受野大小迟赃。


Non-Local Net

Non-local neural networks(NLNet), [code]

Local這個(gè)詞主要是針對(duì)感受野(receptive field)來(lái)說(shuō)的。以卷積操作為例厂镇,它的感受野大小就是卷積核大小纤壁,而我們一般都選用33,55之類的卷積核捺信,它們只考慮局部區(qū)域酌媒,因此都是local的運(yùn)算。同理迄靠,池化(Pooling)也是秒咨。相反的,non-local指的就是感受野可以很大掌挚,而不是一個(gè)局部領(lǐng)域雨席。

那我們碰到過(guò)什么non-local的操作嗎?有的吠式,全連接就是non-local的陡厘,而且是global的抽米。但是全連接帶來(lái)了大量的參數(shù),給優(yōu)化帶來(lái)困難雏亚。這也是深度學(xué)習(xí)(主要指卷積神經(jīng)網(wǎng)絡(luò))近年來(lái)流行的原因缨硝,考慮局部區(qū)域,參數(shù)大大減少了罢低,能夠訓(xùn)得動(dòng)了查辩。

我們知道,卷積層的堆疊可以增大感受野网持,但是如果看特定層的卷積核在原圖上的感受野宜岛,它畢竟是有限的。這是local運(yùn)算不能避免的功舀。然而有些任務(wù)萍倡,它們可能需要原圖上更多的信息,比如attention辟汰。如果在某些層能夠引入全局的信息列敲,就能很好地解決local操作無(wú)法看清全局的情況,為后面的層帶去更豐富的信息帖汞。

y\mathop{{}}\nolimits_{{i}}=\frac{{1}}{{C \left( x \right) }}f \left( x\mathop{{}}\nolimits_{{i}},x\mathop{{}}\nolimits_{{j}} \left) g \left( x\mathop{{}}\nolimits_{{j}} \right) \right. \right.

上面的公式中戴而,輸入是x,輸出是y翩蘸,i和j分別代表輸入的某個(gè)空間位置所意,x_i是一個(gè)向量,維數(shù)跟x的channel數(shù)一樣催首,f是一個(gè)計(jì)算任意兩點(diǎn)相似關(guān)系的函數(shù)扶踊,g是一個(gè)映射函數(shù),將一個(gè)點(diǎn)映射成一個(gè)向量郎任,可以看成是計(jì)算一個(gè)點(diǎn)的特征秧耗。也就是說(shuō),為了計(jì)算輸出層的一個(gè)點(diǎn)舶治,需要將輸入的每個(gè)點(diǎn)都考慮一遍绣版,而且考慮的方式很像attention:輸出的某個(gè)點(diǎn)在原圖上的attention,而mask則是相似性給出歼疮。

image

以圖像為例杂抽,為了簡(jiǎn)化問題,作者簡(jiǎn)單地設(shè)置g函數(shù)為一個(gè)1*1的卷積韩脏。相似性度量函數(shù)f的選擇有多種:

  • Gussian: f \left( x\mathop{{}}\nolimits_{{i}},x\mathop{{}}\nolimits_{{j}} \left) =e\mathop{{}}\nolimits^{{x\mathop{{}}\nolimits_{{T}}^{{i}}x\mathop{{}}\nolimits_{{j}}}},C \left( x \left) ={\mathop{ \sum }\limits_{{ \forall j}}{f \left( x\mathop{{}}\nolimits_{{i}},x\mathop{{}}\nolimits_{{j}} \right) }}\right. \right. \right. \right.
  • Embedded Gussian:f \left( x\mathop{{}}\nolimits_{{i}},x\mathop{{}}\nolimits_{{j}} \left) =e\mathop{{}}\nolimits^{{ \theta \left( x\mathop{{}}\nolimits_{{i}} \left) \mathop{{}}\nolimits^{{T}}? \varphi \left( x\mathop{{}}\nolimits_{{j}} \right) \right. \right. }},C \left( x \left) ={\mathop{ \sum }\limits_{{ \forall j}}{f \left( x\mathop{{}}\nolimits_{{i}},x\mathop{{}}\nolimits_{{j}} \right) }}\right. \right. \right. \right.
  • Concatenation: f \left( x\mathop{{}}\nolimits_{{i}},x\mathop{{}}\nolimits_{{j}} \left) =RELU \left( w\mathop{{}}\nolimits_{{T}}^{{f}}? \left[ \theta \left( x\mathop{{}}\nolimits_{{i}} \left) , \varphi \left( x\mathop{{}}\nolimits_{{j}} \left) \left] \left) ,\right. \right. \right. \right. \right. \right. \right. \right. \right. \right.
    最后一種的歸一化系數(shù)C(x)選擇為x的點(diǎn)數(shù)缩麸,只是為了簡(jiǎn)化計(jì)算,同時(shí)赡矢,還能保證對(duì)任意尺寸的輸入杭朱,不會(huì)產(chǎn)生數(shù)值上的尺度伸縮阅仔。

為了能讓non-local操作作為一個(gè)組件,可以直接插入任意的神經(jīng)網(wǎng)絡(luò)中弧械,作者把non-local設(shè)計(jì)成residual block的形式八酒,讓non-local操作去學(xué)x的residual:
z\mathop{{}}\nolimits_{{i}}=W\mathop{{}}\nolimits_{{i}}?y\mathop{{}}\nolimits_{{i}}+x\mathop{{}}\nolimits_{{i}}
W_i實(shí)際上是一個(gè)卷積操作,它的輸出channel數(shù)跟x一致刃唐。這樣以來(lái)羞迷,non-local操作就可以作為一個(gè)組件,組裝到任意卷積神經(jīng)網(wǎng)絡(luò)中画饥。

原文考慮的是T幀的視頻為例衔瓮,這里以一個(gè)batch的圖像、f選為embedded Gaussian為例抖甘,對(duì)于其他形式的相似性度量热鞍,可以類似地化為矩陣操作。

GCNet

Non-local Networks Meet Squeeze-Excitation Networks and Beyond (GCNet) , [code]

為了捕獲長(zhǎng)距離依賴關(guān)系衔彻,產(chǎn)生了兩類方法:

  • 第一種是采用自注意力機(jī)制來(lái)建模query對(duì)的關(guān)系薇宠。
  • 第二種是對(duì)query-independent(可以理解為無(wú)query依賴)的全局上下文建模。

NLNet就是采用自注意力機(jī)制來(lái)建模像素對(duì)關(guān)系艰额。然而NLNet對(duì)于每一個(gè)位置學(xué)習(xí)不受位置依賴的attention map澄港,造成了大量的計(jì)算浪費(fèi)。

SENet用全局上下文對(duì)不同通道進(jìn)行權(quán)值重標(biāo)定悴晰,來(lái)調(diào)整通道依賴。然而逐工,采用權(quán)值重標(biāo)定的特征融合铡溪,不能充分利用全局上下文。

通過(guò)嚴(yán)格的實(shí)驗(yàn)分析泪喊,作者發(fā)現(xiàn)non-local network的全局上下文在不同位置幾乎是相同的棕硫,這表明學(xué)習(xí)到了無(wú)位置依賴的全局上下文√惶洌基于上述觀察哈扮,本文提出了GCNet,即能夠像NLNet一樣有效的對(duì)全局上下文建模蚓再,又能夠像SENet一樣輕量滑肉。

作者通過(guò)計(jì)算一個(gè)全局的attention map來(lái)簡(jiǎn)化non-local block,并且對(duì)所有位置共享這個(gè)全局attention map摘仅。忽略 W_z

image

W_vW_k表示為線性轉(zhuǎn)換矩陣靶庙。為了進(jìn)一步減少簡(jiǎn)化版non-local block的計(jì)算量,將W_v 移到attention pooling的外面娃属,表示為:

image

不同于原始的non-local block六荒,簡(jiǎn)化版non-local block的第二項(xiàng)是不受位置依賴的护姆,所有位置共享這一項(xiàng)。因此掏击,作者直接將全局上下文建模為所有位置特征的加權(quán)平均值卵皂,然后聚集全局上下文特征到每個(gè)位置的特征上。

Global Context Modeling Framework
(a)全局attention pooling:采用1x1卷積 W_k和softmax函數(shù)來(lái)獲取attention權(quán)值砚亭,然后執(zhí)行attention pooling來(lái)獲得全局上下文特征
(b)特征轉(zhuǎn)換:采用1x1卷積 W_v
(c)特征聚合:采用相加操作將全局上下文特征聚合到每個(gè)位置的特征上灯变。

image

GIoRe

Graph-Based Global Reasoning Network(GIoRe) , [code]

此文的目標(biāo)其實(shí)跟Non-local一樣,希望能得到全局的上下文信息钠惩,即reasoning globally柒凉。開頭的圖1比較炫酷.對(duì)特征從坐標(biāo)空間映射到交互空間,使用圖卷積網(wǎng)絡(luò)GCN進(jìn)一步推理來(lái)獲取global context篓跛,最后反映射回坐標(biāo)空間膝捞,可看成是 Non-local Block的優(yōu)化版本

從上圖可以看出文章的主要做的事情,就是希望推理不同區(qū)域間的上下文關(guān)系愧沟;而在Coordinate Space去做比較難處理且低效蔬咬,就映射到Interaction space,然后通過(guò)圖卷積網(wǎng)絡(luò)來(lái)進(jìn)行reasoning沐寺,剛好這也是圖網(wǎng)絡(luò)所擅長(zhǎng)的林艘。

如上圖所示,GloRe Unit主要做了幾件事情:

  1. 空間映射(中間黃色區(qū)域的 左邊是從坐標(biāo)空間映射到交互空間混坞;而 右邊是從交互空間映射回坐標(biāo)空間):空間映射目的是找到子空間可以 more friendly for global reasoning over disjoint and distant regions狐援,但又不想像 I3D-GCN[7] 一樣用額外的 detector 或者 label 來(lái)框出區(qū)域, 故采取類似 non-local 中的做法究孕,直接來(lái) weighted global pooling:假定輸入 X的維度為[C,H,W]啥酱,則最后子空間上的 node states V 可表示為

這里的 N 是超參,即交互空間中節(jié)點(diǎn)的個(gè)數(shù)(好像后面可視化環(huán)節(jié)設(shè) N=128 )厨诸,而C '為reduced channel number镶殷。

2.圖卷積推理:這里假定Nodes間都有交互,就形成了fully connected graph微酬,然后需要學(xué)習(xí)的是affine matrix Ag和圖網(wǎng)絡(luò)參數(shù)Wg绘趋,上圖中間黃色區(qū)域典型的圖卷積公式如下:

而文中把它巧妙地分解成兩個(gè)步驟,則先進(jìn)行節(jié)點(diǎn)間的message information propagation颗管,然后再更新節(jié)點(diǎn)內(nèi)部的states陷遮,如下圖所示,分別使用兩個(gè)1D卷積來(lái)實(shí)現(xiàn)垦江。


OcNet

未完待續(xù)......


Octave

Octave Convolution [4], 將特征分解成低空間分辨率和原始空間分辨率的branch拷呆,并進(jìn)行intra & inter branch間的信息交互;通過(guò)分解成低空間分辨率,可使卷積操作更加輕量級(jí)茬斧。

文中的初衷和story出發(fā)點(diǎn)是挺好的腰懂,就是借圖像中高頻(細(xì)節(jié),非結(jié)構(gòu)性)和低頻(邊緣形狀项秉,結(jié)構(gòu)性)信息一說(shuō)绣溜,來(lái)構(gòu)造卷積來(lái)分解成低頻和高頻信息,其中低頻用更低的空間分辨率來(lái)表示娄蔼,達(dá)到去除空間冗余的目的怖喻,從而節(jié)省模型參數(shù)及計(jì)算量

上面橙色branch表示High frequency,下面藍(lán)色branch表示Low frequency岁诉;綠色箭頭表示 intra-branch information update锚沸,紅色箭頭表示 inter-branch information exchange霹肝÷雎看到這里愈诚,恐怕有點(diǎn) SKNet 的小感覺了庐扫。


1.Selective Kernel Unit, SKNet [1],對(duì)多個(gè)不同感受野大小的branch進(jìn)行融合扒怖,融合中使用的是類SENet [5]結(jié)構(gòu)甜熔,最后使用類似門機(jī)制的softmax attention來(lái)分配branch的重要性仑撞。

2.Global Context (GC) block, GCNet [2], 將 Non-local Block [6]進(jìn)行簡(jiǎn)化(position間共享context feature只搁,channel間不共享)來(lái)高效提取global context音比,并融合SENet來(lái)進(jìn)行輕量地channel context計(jì)算。

3.Global Reasoning Unit, GloRe [3], 對(duì)特征從坐標(biāo)空間映射到交互空間氢惋,使用圖卷積網(wǎng)絡(luò)GCN進(jìn)一步推理來(lái)獲取global context洞翩,最后反映射回坐標(biāo)空間,可看成是 Non-local Block的優(yōu)化版本焰望。

  1. Octave Convolution [4], 將特征分解成低空間分辨率和原始空間分辨率的branch骚亿,并進(jìn)行intra & inter branch間的信息交互;通過(guò)分解成低空間分辨率柿估,可使卷積操作更加輕量級(jí)循未。

[參考鏈接]
https://mp.weixin.qq.com/
https://zhuanlan.zhihu.com/p/33345791
https://zhuanlan.zhihu.com/p/64988633
http://tongtianta.site/paper/10696

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末陷猫,一起剝皮案震驚了整個(gè)濱河市秫舌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绣檬,老刑警劉巖足陨,帶你破解...
    沈念sama閱讀 212,599評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異娇未,居然都是意外死亡墨缘,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)镊讼,“玉大人宽涌,你說(shuō)我怎么就攤上這事〉澹” “怎么了卸亮?”我有些...
    開封第一講書人閱讀 158,084評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)玩裙。 經(jīng)常有香客問我兼贸,道長(zhǎng),這世上最難降的妖魔是什么吃溅? 我笑而不...
    開封第一講書人閱讀 56,708評(píng)論 1 284
  • 正文 為了忘掉前任溶诞,我火速辦了婚禮,結(jié)果婚禮上决侈,老公的妹妹穿的比我還像新娘螺垢。我一直安慰自己,他們只是感情好颜及,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評(píng)論 6 386
  • 文/花漫 我一把揭開白布甩苛。 她就那樣靜靜地躺著,像睡著了一般俏站。 火紅的嫁衣襯著肌膚如雪讯蒲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,021評(píng)論 1 291
  • 那天肄扎,我揣著相機(jī)與錄音墨林,去河邊找鬼。 笑死犯祠,一個(gè)胖子當(dāng)著我的面吹牛旭等,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播衡载,決...
    沈念sama閱讀 39,120評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼搔耕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了痰娱?” 一聲冷哼從身側(cè)響起弃榨,我...
    開封第一講書人閱讀 37,866評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梨睁,沒想到半個(gè)月后鲸睛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,308評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坡贺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評(píng)論 2 327
  • 正文 我和宋清朗相戀三年官辈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了箱舞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,768評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拳亿,死狀恐怖晴股,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肺魁,我是刑警寧澤队魏,帶...
    沈念sama閱讀 34,461評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站万搔,受9級(jí)特大地震影響胡桨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瞬雹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評(píng)論 3 317
  • 文/蒙蒙 一昧谊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧酗捌,春花似錦呢诬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至哪廓,卻和暖如春狗唉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背涡真。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工分俯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哆料。 一個(gè)月前我還...
    沈念sama閱讀 46,571評(píng)論 2 362
  • 正文 我出身青樓缸剪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親东亦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子杏节,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評(píng)論 2 350

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