微軟新工具 NNI 使用指南之 Tuner 篇

作者

  • DeamoV
  • 變身的大惡魔
  • 張博涵

什么是 Tuner

在開始之間我們首先需要了解什么是 Tuner。正如之前的博文在 NNI 使用體驗(yàn)中提到的,通俗的來講漾根,Tuner的作用為讓機(jī)器自動決定下一次測試的超參設(shè)置或下一次嘗試的模型結(jié)構(gòu)菩掏。 而這篇文章根據(jù)學(xué)術(shù)屆的分類將其分為超參調(diào)優(yōu) (Hyperparameter Optimization)和網(wǎng)絡(luò)結(jié)構(gòu)搜索 (Neural Architecture Search) 兩個(gè)部分來介紹。并在每部分結(jié)尾處簡單介紹一些 NNI 尚未實(shí)現(xiàn)但出現(xiàn)在最新頂會中有趣的算法杠袱。

注:本文中出現(xiàn)的所有引用均可以在該倉庫 內(nèi)找到

Hyperparameter Optimization

HO(Hyperparameter Optimization) 為超參調(diào)優(yōu)尚猿。簡單的來說,該算法僅僅是是使用一系列操作針對超參集中選擇最優(yōu)的超參楣富,但未對原有模型結(jié)構(gòu)進(jìn)行調(diào)優(yōu)凿掂。準(zhǔn)確的定義如下:

In machine learning, hyperparameter optimization or tuning is the problem of choosing a set of optimal hyperparameters for a learning algorithm.

From Wikipedia

Anneal

Anneal Tuner 來源于模擬退火算法 SA(Simulated Annealing),該算法是一種通用的概率演算法纹蝴,常用來在一定時(shí)間內(nèi)尋找在一個(gè)很大的搜索空間中的近似最優(yōu)解庄萎。該算法類似于貪心算法和遺傳算法的結(jié)合,其先對上一步中嘗試的超參組合進(jìn)行隨機(jī)擾動產(chǎn)生新解塘安,之后若該新解有更好的結(jié)果則接受新解惨恭,若結(jié)果變差則按 Metropolis 準(zhǔn)則以一定概率接受新解。

根據(jù) NNI 的 Anneal 說明文檔耙旦,建議在每個(gè) Trial 的時(shí)間不長脱羡,并且有足夠的計(jì)算資源萝究,或搜索空間的變量能從一些先驗(yàn)分布中采樣的情況下使用,但是結(jié)果和 Random Search 相當(dāng)锉罐。

Batch Tuner(手動批處理模式)

Batch Tuner 的使用場景為帆竹,用戶只想讓 NNI 作為一個(gè)批處理工具的場景。該 Tuner 讓用
戶自行寫入要嘗試的超參組合脓规,之后 NNI 會按照設(shè)置好的超參組合進(jìn)行嘗試栽连。

優(yōu)點(diǎn):節(jié)省手工啟動測試程序的步驟
缺點(diǎn):NNI 僅作為一個(gè)批處理工具

注:該方法存在的意義在于,可以節(jié)省兩次調(diào)參調(diào)整中間的間隔時(shí)間

Grid Search

網(wǎng)格搜索是一個(gè)非常符合人類直觀思路的方法侨舆,即窮居法秒紧。它窮盡了所有種可能的超參排列方式,再依次進(jìn)行嘗試后找到最優(yōu)方案挨下。過程和我們在中學(xué)時(shí)學(xué)的排列組合一樣熔恢,三個(gè)超參分別有三種取值 3、4臭笆、5叙淌,那么三種超參就有 3*4*5 = 60 種取值方式。顯然這種搜索方式是不科學(xué)的愁铺,非常容易組合爆炸鹰霍,是一種非常不高效的調(diào)參方式。

優(yōu)點(diǎn):該算法考慮到了搜索空間內(nèi)所有的參數(shù)組合
缺點(diǎn):存在組合爆炸的問額

注:強(qiáng)烈不推薦使用

Random Search

該思想來源于神經(jīng)網(wǎng)絡(luò)三巨頭 Bengio 在 JMLR 2012的工作 [1]茵乱,這篇論文的核心貢獻(xiàn)是從經(jīng)驗(yàn)和理論上證明了茂洒,隨機(jī)搜索超參的方式相比傳統(tǒng)的網(wǎng)格搜索,能在更短的時(shí)間內(nèi)找到一樣或更好的模型參數(shù)瓶竭。該算法也從此成為各個(gè)優(yōu)化算法的對比標(biāo)準(zhǔn)督勺。

優(yōu)點(diǎn):容易理解
缺點(diǎn):高維搜索空間表現(xiàn)一般

貝葉斯優(yōu)化系列

實(shí)際上 Grid Search 和 Random Search 都是非常普通的方法,同時(shí)暴力搜索和隨機(jī)搜索當(dāng)然也很難體現(xiàn)算法設(shè)計(jì)者的智慧在验。而接下來要講的貝葉斯優(yōu)化系列則“很可能”存在與人工經(jīng)驗(yàn)調(diào)慘相媲美的實(shí)力。

  1. Bayesian Optimization
    貝葉斯優(yōu)化 (Bayesian Optimization)堵未,這個(gè)工作最初是由 J Snoek et.[2] 在 NIPS 2012 中提出的腋舌,并隨后多次進(jìn)行改進(jìn) [3, 4]。它要求已經(jīng)存在幾個(gè)樣本點(diǎn)渗蟹,并且通過高斯過程回歸(假設(shè)超參數(shù)間符合聯(lián)合高斯分布)計(jì)算前面 n 個(gè)點(diǎn)的后驗(yàn)概率分布块饺,得到每一個(gè)超參數(shù)在每一個(gè)取值點(diǎn)的期望均值和方差,其中均值代表這個(gè)點(diǎn)最終的期望效果雌芽,均值越大表示模型最終指標(biāo)越大授艰,方差表示這個(gè)點(diǎn)的效果不確定性,方差越大表示這個(gè)點(diǎn)不確定是否可能取得最大值非常值得去探索世落,具體的細(xì)節(jié)分析可以參見這篇博客

    但是這個(gè)算法僅僅在低緯空間表現(xiàn)優(yōu)于 Random Search淮腾,而在高維空間和 Random Search 表現(xiàn)相當(dāng)。

    優(yōu)點(diǎn):在低維空間顯著優(yōu)于 Random Search
    缺點(diǎn):在高維空間僅和 Random Search 相當(dāng)

    注:這個(gè)算法的另一個(gè)名稱為 Spearmint[2]

  1. TPE
    TPE 算法來源于 Y Bengio 在頂會 NIPS2011 的工作 [7]。 TPE 依舊屬于貝葉斯優(yōu)化谷朝,其和 SMAC 也有著很深的淵源洲押。其為一種基于樹狀結(jié)構(gòu) Parzen 密度估計(jì)的非標(biāo)準(zhǔn)貝葉斯優(yōu)化算法。相較于其他貝葉斯優(yōu)化算法圆凰,TPE 在高維空間表現(xiàn)最佳杈帐。

    優(yōu)點(diǎn) 1:相比其他貝葉斯優(yōu)化算法,高維空間的情況下效果更好
    優(yōu)點(diǎn) 2:相比 BO 速度有顯著提升
    缺點(diǎn):在高維空間的情況下专钉,與 Random Search 效果相當(dāng)

    注:所有貝葉斯優(yōu)化算法在高維空間下表現(xiàn)均和 Random Search 相當(dāng) [6]

  2. SMAC
    SMAC 算法出自于期刊 LION 2011[5]挑童,其論文中表明,由于先前的 SMBO 算法跃须,不支持離散型變量站叼。SMAC 提出使用 Random Forest 將條件概率 p(y|λ) 建模為高斯分布,其中 λ 為超參的選擇回怜。這使得它能夠很好的支持離散型變量大年,并在離散型變量和連續(xù)型變量的混合的時(shí)候有著不錯(cuò)的表現(xiàn) [6]。

    優(yōu)點(diǎn) 1:能很好的支持離散型變量玉雾,并針對高維空間有一定改善
    優(yōu)點(diǎn) 2:相比 BO 速度有顯著提升
    缺點(diǎn):效果不穩(wěn)定翔试,高維空間表現(xiàn)和 Random Search 相當(dāng)

HyperBand

HyperBand 來源于非常新的來自 JMLR 2018 的工作 [6],實(shí)質(zhì)為 Multi-Armed Bandit 問題复旬。
其解決的問題為如何平衡“探索”(exploration) 和“利用”(exploitation)垦缅。該算法相比之前的算法,最突出的特點(diǎn)為驹碍,其限定了資源的總量壁涎,優(yōu)化算法的問題轉(zhuǎn)化為如何在給定資源的情況下,更好的利用資源找出最優(yōu)解的問題志秃。這些可以體現(xiàn)在超參的設(shè)計(jì)當(dāng)中怔球。

優(yōu)點(diǎn) 1:考慮到了資源有限的情況
優(yōu)點(diǎn) 2:可以和其他的算法,如 TPE 等進(jìn)行融合(當(dāng)前 NNI 不支持)[6]
缺點(diǎn):算法篩選結(jié)果的方式為每多步之后浮还,保留 TopK 的結(jié)果竟坛,其將導(dǎo)致一些開始收斂較慢的參數(shù)配置被淘汰。

Metis

Metis 為微軟提供的自動調(diào)參服務(wù)钧舌,在論文 [8] 中指出担汤,之前的貝葉斯優(yōu)化算法存在兩個(gè)較大的問題,一方面貝葉斯優(yōu)化算法洼冻,存在過度采樣的問題崭歧,這在資源密集型的算法,如深度學(xué)習(xí)的情況下是一筆很重的開銷撞牢。另一方面貝葉斯優(yōu)化和高斯處理算法均假設(shè)率碾,問題是理想的無噪聲或**僅受高斯分布的噪聲影響叔营,但實(shí)際情況比這個(gè)假設(shè)要復(fù)雜。而 Metis 在一定程度上解決了這個(gè)問題播掷。Metis 的本質(zhì)是隨機(jī)搜索审编,為了最小化調(diào)整配置時(shí)造成的系統(tǒng)性能損失,該算法當(dāng)且僅當(dāng)預(yù)測的配置可以帶來高于一定程度的優(yōu)化時(shí)才會切換配置歧匈。

優(yōu)點(diǎn) 1:在系統(tǒng)配置選擇等存在非高斯噪聲的情況下垒酬,Metis 顯著優(yōu)于 TPE 算法
優(yōu)點(diǎn) 2:能為接下來的嘗試提供候選
缺點(diǎn):訓(xùn)練時(shí)間基本由樣本點(diǎn)的數(shù)量決定,且呈立方級增長(復(fù)雜度為 O(N^{3}+N^{2}D) 其中 N 為樣本點(diǎn)數(shù)量件炉,D 為樣本點(diǎn)的維數(shù))勘究。配置選擇時(shí)間同樣基本由樣本點(diǎn)的數(shù)目決定,其復(fù)雜度為 O(N^{2}+ND) \Rightarrow 和樣本點(diǎn)的數(shù)據(jù)量高度相關(guān)且復(fù)雜度高

注:NNI 中 Metis 只支持 choice, quniform, uniformrandint 類型斟冕。

Neural Architecture Search

什么是 NAS

和上一節(jié)中的 HO 不同的是口糕,在超參調(diào)整中,NAS 調(diào)整的超參會影響到模型的結(jié)構(gòu)磕蛇。意在通過大量嘗試探索一種更為合理的網(wǎng)絡(luò)結(jié)構(gòu)景描。而這些超參的調(diào)整已經(jīng)超出了之前介紹的貝葉斯優(yōu)化系列的能力范疇。在 NAS 中遺傳算法系列和強(qiáng)化學(xué)習(xí)系列有著不錯(cuò)的表現(xiàn)秀撇。

Naive Evolution

Naive Evolution 出自 ICML 2017 的工作 [9]超棺,其將遺傳算法引入模型結(jié)構(gòu)的搜索。根據(jù)論文中的描述呵燕,該方法為一種典型的遺傳算法)棠绘,其通過設(shè)置一定量的初始種群,經(jīng)過“突變”(更改超參)后根據(jù)“自然篩選”(篩選出表現(xiàn)優(yōu)秀的模型)保留優(yōu)異的個(gè)體再扭。論文中是針對圖片分類的模型探索氧苍,支持多種“突變”,細(xì)節(jié)可參見原論文 [9]泛范。除了使用遺傳算法這個(gè)特點(diǎn)外让虐,其還有一個(gè)特點(diǎn)是支持權(quán)重遷移的模型,這個(gè)特點(diǎn)會使得每個(gè)突變個(gè)體只需要少量的 epoch 來訓(xùn)練罢荡。而這個(gè)優(yōu)點(diǎn)也在 Morphism 算法中得以體現(xiàn)赡突。但是該算法也存在陷入局部最優(yōu)解的問題,論文中描述該問題主要可以通過增大以下兩個(gè)參數(shù)解決柠傍。

  • population size
    這個(gè)參數(shù)的增大會讓初始種群個(gè)體數(shù)量更多麸俘,這樣子可以通過增加會避免模型陷入局部最優(yōu)解辩稽。
  • the number of training steps per individual
    這個(gè)參數(shù)的增大會讓每一個(gè)個(gè)體的表現(xiàn)得到最大的發(fā)揮惧笛,從而不會錯(cuò)淘汰掉潛力優(yōu)秀的個(gè)體

注:遺憾的是 NNI 中還未能讓用戶自行調(diào)整這兩個(gè)參數(shù)

優(yōu)點(diǎn) 1: 使用遺傳算法進(jìn)行模型結(jié)構(gòu)的搜索
優(yōu)點(diǎn) 2: 對支持權(quán)重遷移的模型,運(yùn)算的速度會有顯著提升

缺點(diǎn):同所有的遺傳算法一樣逞泄,優(yōu)于需要嘗試大量的突變個(gè)體患整,需要大量的計(jì)算資源

Network Morphism

Network Morphism 來自另一個(gè)開源自動調(diào)參工具 Auto-keras 的其中一篇 arXiv 上的文章 [10]拜效。該算法的設(shè)計(jì)的初衷是減少調(diào)參的計(jì)算損耗。為了提高算法的效率各谚,其引入了一個(gè)新的神經(jīng)網(wǎng)絡(luò)核 (Neural Network Kernel) 和 一個(gè)樹形采樣函數(shù)紧憾,來用貝葉斯優(yōu)化的方式探索搜索空間。
除此之外昌渤,另一點(diǎn)提高效率的方式為引入了 Morphism Operation赴穗。該操作是在已經(jīng)訓(xùn)練好的模型上進(jìn)行調(diào)整,這樣新生成的網(wǎng)絡(luò)結(jié)構(gòu)就只需要少量的訓(xùn)練就能達(dá)到好的效果膀息。這個(gè)方式在 Naive Evolution 也有使用般眉。就論文中在 MNIST,F(xiàn)ASHION潜支,CIFAR-10 三個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果看甸赃,其顯著好于 Random Search,SPMT[11]冗酿,SMAC埠对,SEA[12],NASBOT[13]裁替。

優(yōu)點(diǎn) 1: 在探索網(wǎng)絡(luò)結(jié)構(gòu)的時(shí)候引入了貝葉斯優(yōu)化项玛,提高了搜索效率
優(yōu)點(diǎn) 2: Morphism 操作,保留了之前的訓(xùn)練的結(jié)果胯究,讓新的變種網(wǎng)絡(luò)訓(xùn)練的更快

缺點(diǎn):當(dāng)前版本不支持 RNN 的網(wǎng)絡(luò)模型探索

ENAS

ENAS 源自 CVPR 2018 的一個(gè)工作 [14]稍计,其使用 RNN 作為控制器然后根據(jù)收斂精度調(diào)整 RNN,
論文中在 Cifar10 上訓(xùn)練 RNN裕循,之后再應(yīng)用到 ImageNet 上臣嚣,效果很驚人(應(yīng)用到 Fast-RCNN 上之后居然有 4% 的準(zhǔn)確率提升)。但是該算法需要很多預(yù)先的人為的前提設(shè)定剥哑,同時(shí)速度還是很慢, 而 ENAS 的主要工作為在其工作上硅则,增加參數(shù)共享的方式,避免新產(chǎn)生的模型重訓(xùn)練株婴,加快了訓(xùn)練速度怎虫。

優(yōu)點(diǎn):相較于其他的 NAS 算法,該算法速度非忱Ы椋快
缺點(diǎn):同它的改進(jìn)的模型一樣大审,其需要設(shè)置每個(gè) Cell 的 Block 等多個(gè)前提設(shè)定的參數(shù)

注:相較于其他算法,這個(gè)算法更有趣座哩,論文中的效果現(xiàn)實(shí)也是最有意思最好的

NNI 未實(shí)現(xiàn)但很有趣的算法

NASBOT

NASBOT 源自 NIPS2018 的一個(gè)工作 [13]徒扶, 其核心就在于計(jì)算 OTMANN distance。該方法使用了 layer masses 和 path length 來定義 OTMANN distance根穷。
三者的定義如下:

  • layer masses:在比較兩個(gè)神經(jīng)網(wǎng)絡(luò)時(shí)匹配的層的個(gè)數(shù)
  • path length:兩個(gè)層之前的距離姜骡,如 (2, 5, 8, 13) 是一條從 layer2 到 layer13 的一條長度為 3 的路徑
  • OTMANN distance:通過最優(yōu)化算法得出的神經(jīng)網(wǎng)絡(luò)之間的距離
    就結(jié)果而言論文中表明 NASBOT 在 Cifar10 數(shù)據(jù)集上导坟,在計(jì)算量運(yùn)行時(shí)間方面顯著優(yōu)于其他 tuner 算法,如隨機(jī)搜索圈澈,進(jìn)化算法等惫周。

優(yōu)點(diǎn) 1:對 MLPs 和 CNN 的支持效果較好
優(yōu)點(diǎn) 2:訓(xùn)練需要的總計(jì)算量較小

缺點(diǎn):在尋找下一個(gè)網(wǎng)絡(luò)架構(gòu)的用時(shí)較長

注:該算法的 python 實(shí)現(xiàn):[源碼鏈接][https://github.com/kirthevasank/nasbot]

DARTS

DARTS 為在 arXiv 上的一篇很有意思的工作 [15],其正在等待 ICLR 2019 的審核康栈,詳情可以參見 OpenReview 該論文的鏈接递递。該工作的中心思想為科學(xué)選擇神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),將神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)作為參數(shù)進(jìn)行優(yōu)化啥么。該論文在 Cifar10漾狼,ImageNet 等數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn),發(fā)現(xiàn)此算法適用于圖像分類的高性能卷積結(jié)構(gòu)和語言建模的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)饥臂,并提出此方法的效率高于 ENAS逊躁。

優(yōu)點(diǎn) 1:將模型結(jié)構(gòu)視為參數(shù),擴(kuò)大搜索空間
優(yōu)點(diǎn) 2:較高的可遷移性

缺點(diǎn):參數(shù)過多隅熙,對算力和數(shù)據(jù)量的要求較高

注:該論文的復(fù)現(xiàn)可以參考作者的源碼:源碼鏈接

參考論文

  • [1] Bergstra J, Bengio Y. Random search for hyper-parameter optimization[J]. Journal of Machine Learning Research, 2012, 13(Feb): 281-305.
  • [2] Snoek J, Larochelle H, Adams R P. Practical bayesian optimization of machine learning algorithms[C]//Advances in neural information processing systems. 2012: 2951-2959.
  • [3] Swersky K, Snoek J, Adams R P. Multi-task bayesian optimization[C]//Advances in neural information processing systems. 2013: 2004-2012.
  • [4] Snoek J, Rippel O, Swersky K, et al. Scalable bayesian optimization using deep neural networks[C]//International Conference on Machine Learning. 2015: 2171-2180.
  • [5] Hutter F, Hoos H H, Leyton-Brown K. Sequential model-based optimization for general algorithm configuration[C]//International Conference on Learning and Intelligent Optimization. Springer, Berlin, Heidelberg, 2011: 507-523.
  • [6] Li L, Jamieson K, DeSalvo G, et al. Hyperband: A novel bandit-based approach to hyperparameter optimization[J]. arXiv preprint arXiv:1603.06560, 2018: 1-48.
  • [7] Bergstra J S, Bardenet R, Bengio Y, et al. Algorithms for hyper-parameter optimization[C]//Advances in neural information processing systems. 2011: 2546-2554.
  • [8] Li Z L, Liang C J M, He W, et al. Metis: robustly optimizing tail latencies of cloud systems[C]//Proceedings of the 2018 USENIX Conference on Usenix Annual Technical Conference. USENIX Association, 2018: 981-992.
  • [9] Real, E., Moore, S., Selle, A., Saxena, S., Suematsu, Y. L., Tan, J., ... & Kurakin, A. (2017, July). Large-Scale Evolution of Image Classifiers. In International Conference on Machine Learning (pp. 2902-2911).
  • [10] Jin H, Song Q, Hu X. Efficient neural architecture search with network morphism[J]. arXiv preprint arXiv:1806.10282, 2018.
  • [11] Snoek, J., Larochelle, H., and Adams, R. P.Practical bayesian optimization of machine learning algorithms.In Advances in Neural Information Processing Systems, pp. 2951–2959, 2012.
  • [12] Elsken, T., Metzen, J. H., and Hutter, F. Neural architec- ture search: A survey. arXiv preprint arXiv:1808.05377, 2018.
  • [13] Kandasamy, K., Neiswanger, W., Schneider, J., Poczos, B., and Xing, E. Neural architecture search with bayesian optimisation and optimal transport. NIPS, 2018.
  • [14] Zoph B, Vasudevan V, Shlens J, et al. Learning transferable architectures for scalable image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 8697-8710.
  • [15] Liu, Hanxiao, Karen Simonyan, and Yiming Yang. Darts: Differentiable architecture search. arXiv preprint arXiv:1806.09055 (2018).
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稽煤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子囚戚,更是在濱河造成了極大的恐慌酵熙,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驰坊,死亡現(xiàn)場離奇詭異匾二,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拳芙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門察藐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人舟扎,你說我怎么就攤上這事分飞。” “怎么了睹限?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵譬猫,是天一觀的道長。 經(jīng)常有香客問我羡疗,道長染服,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任叨恨,我火速辦了婚禮柳刮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己诚亚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布午乓。 她就那樣靜靜地躺著站宗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪益愈。 梳的紋絲不亂的頭發(fā)上梢灭,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音蒸其,去河邊找鬼敏释。 笑死,一個(gè)胖子當(dāng)著我的面吹牛摸袁,可吹牛的內(nèi)容都是我干的钥顽。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼靠汁,長吁一口氣:“原來是場噩夢啊……” “哼蜂大!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蝶怔,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤奶浦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后踢星,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澳叉,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年沐悦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了成洗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡藏否,死狀恐怖泌枪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情秕岛,我是刑警寧澤碌燕,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站继薛,受9級特大地震影響修壕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜遏考,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一慈鸠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧灌具,春花似錦青团、人聲如沸譬巫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芦昔。三九已至,卻和暖如春娃肿,著一層夾襖步出監(jiān)牢的瞬間咕缎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工料扰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留凭豪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓晒杈,卻偏偏與公主長得像嫂伞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子拯钻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

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