機(jī)器學(xué)習(xí)入門(mén)總結(jié)和各類(lèi)常用神經(jīng)網(wǎng)絡(luò)匯總(第一篇)

這里總結(jié)了李宏毅老師的機(jī)器學(xué)習(xí)的課程诊笤。首先我們將會(huì)了解到機(jī)器學(xué)習(xí)的概念,但是課程的主要觀點(diǎn)將會(huì)聚焦到Deep Learning产舞。進(jìn)行了解之后我們會(huì)學(xué)習(xí)到監(jiān)督學(xué)習(xí)( supervised learning )的相關(guān)網(wǎng)絡(luò)魂奥,還有自監(jiān)督學(xué)習(xí)(self- supervised learning)的相關(guān)知識(shí),包括生成對(duì)抗網(wǎng)絡(luò)(GAN)易猫,BERT耻煤,Tansformer等。后面還會(huì)講到強(qiáng)化學(xué)習(xí)(Reinforcement learning)擦囊、可解釋化的AI违霞、模型攻擊(model attack)、領(lǐng)域自適應(yīng)(domain adaption)瞬场、模型壓縮(network compression)买鸽、機(jī)器終身學(xué)習(xí)(long-life learning )和元學(xué)習(xí)(meata learning)


(一)機(jī)器學(xué)習(xí)或者是深度學(xué)習(xí)的介紹

(1)什么是機(jī)器學(xué)習(xí)ML?

尋找一個(gè)函數(shù)贯被,解決一個(gè)問(wèn)題眼五。

(2)是什么樣的函數(shù)呢?
  • Regression(回歸): the function outputs a scalar.也就是一個(gè)回歸問(wèn)題彤灶,它可以預(yù)測(cè)一個(gè)數(shù)值看幼。例如預(yù)測(cè)PM2.5
  • Classification(分類(lèi)):given the computer some options or classes, the function outputs the correct one. 例如:郵件是否為垃圾郵件?阿爾法go的預(yù)測(cè)問(wèn)題幌陕。
  • Structured learning(結(jié)構(gòu)的學(xué)習(xí)):create something with structure(image, document)讓機(jī)器學(xué)會(huì)一個(gè)結(jié)構(gòu)化問(wèn)題诵姜。例如寫(xiě)郵件,寫(xiě)新聞搏熄,畫(huà)畫(huà)棚唆,編曲等
(3)尋找函數(shù)的步驟是怎么樣的呢暇赤?

第一步:設(shè)計(jì)一個(gè)帶有未知參數(shù)的函數(shù)
y = wx + b

第二步:定義一個(gè)Loss函數(shù)

  • loss函數(shù)的輸出證明了函數(shù)的好壞
  • 常用的損失函數(shù)有平方差,絕對(duì)值差宵凌,交叉熵等(所謂交叉熵鞋囊,就是說(shuō)明兩個(gè)分布之間的差距(距離))

第三步:不斷優(yōu)化更新函數(shù)

  • 優(yōu)化的意思是找出合適的參數(shù)(w,b)
  • 隨機(jī)選取參數(shù)瞎惫、梯度下降溜腐、更新參數(shù)
  • 目的是讓loss最小,也就是讓函數(shù)越來(lái)越好

這里有一個(gè)小知識(shí)點(diǎn)瓜喇,局部最優(yōu)解往往不是神經(jīng)網(wǎng)絡(luò)常遇到的問(wèn)題挺益。

(4)如何讓網(wǎng)絡(luò)解決非線性問(wèn)題?

線性的神經(jīng)網(wǎng)絡(luò)能解決的問(wèn)題往往是有限的欠橘,例如只能解決簡(jiǎn)單的回歸問(wèn)題矩肩,和二分類(lèi)的問(wèn)題现恼。但是像 XOR 異或問(wèn)題卻無(wú)法解決肃续。然而我們遇到的問(wèn)題大多數(shù)是非線性的。

那么我們?nèi)绾巫屔窠?jīng)網(wǎng)絡(luò)變成非線性的呢叉袍?
這就是我們經(jīng)常提到的激活函數(shù)了始锚。

我們都知道常用的是sigmoid, tanh喳逛,relu瞧捌。
那我們?yōu)槭裁醇せ詈瘮?shù)不是線性的呢?當(dāng)我們把線性函數(shù)帶進(jìn)去的時(shí)候會(huì)發(fā)現(xiàn)润文,神經(jīng)網(wǎng)絡(luò)仍是線性的姐呐。所以激活函數(shù)都是非線性的。

關(guān)于激活函數(shù)的內(nèi)容可參考:
【1】https://zhuanlan.zhihu.com/p/260970955
【2】http://www.reibang.com/p/1dfe5e05a75c
【3】https://zhuanlan.zhihu.com/p/61616349
【4】http://www.reibang.com/p/aad9deccbc27

(5)什么是深度學(xué)習(xí)DL典蝌?

深度學(xué)習(xí)和是在機(jī)器學(xué)習(xí)的基礎(chǔ)上曙砂,將神經(jīng)網(wǎng)絡(luò)不斷地堆疊,讓網(wǎng)絡(luò)變得像一條深深得通道骏掀。這便是深度學(xué)習(xí)鸠澈。

  • 發(fā)展歷史
    i. 1958: perception (linear model)
    ii. 1969: perceptron has limitation
    iii. 1980s: multi-layer perveptron
    Do not have any significant difference from DNN today.
    iv. 1986: backpropagation (反向傳播)
    Usually more than 3hidden layers is not helpful
    v. 1989:1 hidden layer is “good enough”, why deep?
    vi. 2006: RBM initialization ( breakthrough )
    vii. 2009: GPU
    viii. 2011: start to be used in speech recognition
    ix. 2012 win ILVRC image competition
(6)為什么神經(jīng)網(wǎng)絡(luò)是一個(gè)Fat network,而是一個(gè)Deep network截驮?

理論上來(lái)說(shuō)神經(jīng)網(wǎng)絡(luò)就是一個(gè)巨型的函數(shù)笑陈,將輸入輸進(jìn)去,通過(guò)計(jì)算就能得出結(jié)果葵袭。與其把神經(jīng)網(wǎng)絡(luò)做的那么深入涵妥,為何不直接把神經(jīng)網(wǎng)絡(luò)設(shè)置成一個(gè)只有一層的有很多參數(shù)的網(wǎng)絡(luò)呢?
因?yàn)橥ㄟ^(guò)實(shí)踐發(fā)現(xiàn)坡锡,深層的網(wǎng)絡(luò)往往能學(xué)習(xí)到時(shí)間或者空間上的更深層次的信息蓬网,這是單層神經(jīng)網(wǎng)絡(luò)無(wú)法學(xué)習(xí)得到的块请。


(二) 機(jī)器學(xué)習(xí)任務(wù)的攻略

這里需要解決的問(wèn)題是在我們訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時(shí)候,會(huì)遇到很多的問(wèn)題使得神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果并不好拳缠。這里是具體分析其原因墩新。

(1)損失值很大

這種情況出現(xiàn)主要是兩個(gè)原因:

  • (1)模型太小
    這里有可能是模型的容量太小,也就是說(shuō)模型不夠復(fù)雜所導(dǎo)致的loss無(wú)法收斂窟坐。需要做的是
  • (2)優(yōu)化器優(yōu)化問(wèn)題
    例如可能會(huì)進(jìn)入到一個(gè)非常平坦的地方海渊,讓梯度無(wú)法更新。

如何區(qū)分這兩種情況呢哲鸳?
構(gòu)建深的model臣疑,但是loss更加大了,那就是優(yōu)化器的問(wèn)題所在了徙菠,如果loss變小了讯沈,那就是網(wǎng)絡(luò)不夠復(fù)雜的問(wèn)題。

(2)損失值很小婿奔,但是在測(cè)試集上表現(xiàn)不好缺狠。

這里極有可能是過(guò)擬合( overfitting)了。也就是說(shuō)神經(jīng)網(wǎng)絡(luò)的模型足夠復(fù)雜萍摊,直接把訓(xùn)練集里面的樣本直接記下來(lái)了挤茄。但是遇到新的問(wèn)題就不會(huì)解決了。

解決方案:

  • (1)擴(kuò)充數(shù)據(jù)集冰木,不推薦說(shuō)是自己去擴(kuò)充數(shù)據(jù)集穷劈,但是可以使用一些數(shù)據(jù)增強(qiáng)技術(shù)data augmentation 例如:平移、反轉(zhuǎn)踊沸、截取等
  • (2)減少參數(shù)[設(shè)計(jì)一個(gè)更小的模型歇终,dropout,權(quán)重衰退]逼龟,或者共享參數(shù)[Resnet等]

參考:
【1】http://www.reibang.com/p/995516301b0a
【2】http://www.reibang.com/p/2155e59d14a4
【3】http://www.reibang.com/p/ad00cf171353

(3)如何加速loss收斂评凝?

使用更好的優(yōu)化器,例如Adam等审轮,也可以通過(guò)設(shè)置learning rate肥哎,加速其學(xué)習(xí)的步伐。還可以使用batch疾渣,批量訓(xùn)練篡诽。

(4)神經(jīng)網(wǎng)絡(luò)收斂不起來(lái)怎么辦?

極有可能是遇到了局部最優(yōu)解和鞍點(diǎn)榴捡,他倆的共同特征就是導(dǎo)數(shù)為0杈女,也就使得梯度卡住了,這樣的點(diǎn)叫做:critical point。其實(shí)實(shí)際訓(xùn)練中l(wèi)ocal minima 是不常見(jiàn)的达椰,我們往往卡在鞍點(diǎn)(saddle point)翰蠢。通常是通過(guò)計(jì)算H的值,就能判斷是什么情況:

(5)學(xué)習(xí)率(learning rate)始終用一個(gè)值好嗎啰劲?

答案肯定是否定的梁沧,learning rate的大小需要隨著訓(xùn)練不斷變化。例如蝇裤,loss function一開(kāi)始的坡度很大廷支,我們要使用學(xué)習(xí)率控制跨步小一點(diǎn),別直接飛出天際栓辜。當(dāng)坡度非常小的時(shí)候恋拍,我們要給它一點(diǎn)步伐,別卡住了藕甩。這便能夠一定程度上解決critical point的問(wèn)題施敢。

我們通常遇到的問(wèn)題就是,訓(xùn)練著狭莱,結(jié)果loss卡住不下降了僵娃,難道真的是遇到critical point了嘛?在實(shí)際情況中上面說(shuō)的critical point往往不是問(wèn)題贩毕。它能通過(guò)好的優(yōu)化器很大程度上解決悯许。

那么都有怎么樣的解決方案呢?

  • SGD:隨機(jī)梯度下降辉阶,學(xué)習(xí)率固定
  • SGD with momentum:動(dòng)量,也就是加入前面梯度的影響瘩扼。就像是慣性一樣谆甜≡奘可以直接沖過(guò)平坦的地方闺鲸,學(xué)習(xí)率固定
  • Adagrad:讓學(xué)習(xí)率不在震蕩,斜率大的地方疚沐,分母大栽燕,從而學(xué)習(xí)率小罕袋,步子小。但學(xué)習(xí)率隨著時(shí)間越來(lái)越小碍岔,會(huì)讓收斂減速浴讯。
  • RMSProp:Adagrad是考慮前面所有的梯度對(duì)后面造成的影響,RMSProp蔼啦,更注重的是前一次的梯度影響榆纽,類(lèi)似于momentum。但后期容易在小范圍內(nèi)產(chǎn)生震蕩,原因是可能會(huì)導(dǎo)致分母過(guò)小奈籽。
  • Adam = RMSProp + momentum
(6)數(shù)據(jù)集怎么劃分的饥侵?

我們通常將總數(shù)居分成三份:訓(xùn)練集,驗(yàn)證集衣屏,測(cè)試集躏升。我們分別用不同的網(wǎng)絡(luò)對(duì)training set進(jìn)行訓(xùn)練,在驗(yàn)證集上選出最優(yōu)秀的那一個(gè)狼忱,那樣的話就比較科學(xué)煮甥。

當(dāng)遇到數(shù)據(jù)集不夠的時(shí)候可以使用K折交叉驗(yàn)證。
可參考:
【1】http://www.reibang.com/p/2155e59d14a4
【2】http://www.reibang.com/p/26b57b25c56d


(三)卷積神經(jīng)網(wǎng)絡(luò) CNN

卷積神經(jīng)網(wǎng)絡(luò)主要處理的是圖片相關(guān)的問(wèn)題藕赞,例如圖片分類(lèi)成肘,如圖片分割等。最大的特點(diǎn)是斧蜕,將權(quán)重變成了卷積核這樣的形式双霍。卷積核 == 權(quán)重矩陣。

可以將其看作是一種特殊的全連接層的網(wǎng)絡(luò)批销。其原理是利用一個(gè)個(gè)的卷積核掃描去探測(cè)圖片中的重要特征信息洒闸。卷積核的個(gè)數(shù)決定了該層輸出的通道數(shù)。

(1)通常將卷積核設(shè)置成3*3均芽,足夠嗎丘逸?

雖然一個(gè)33的卷積核看起來(lái)很小,但是當(dāng)網(wǎng)絡(luò)變深的時(shí)候掀宋,33的區(qū)域可能映射到前面的區(qū)域是很大的深纲。例如,第一層的時(shí)候我們確實(shí)檢測(cè)的范圍是3x3劲妙,但是在第二個(gè)卷積層中湃鹊,其實(shí)3x3的格子在原來(lái)的圖片中對(duì)應(yīng)的是5x5。

(2)CNN無(wú)法很好的解決縮放旋轉(zhuǎn)镣奋,裁剪等問(wèn)題币呵。

可以通過(guò)增加一層:special transformer layer
通過(guò)矩陣乘法,將圖片旋轉(zhuǎn)侨颈,縮放余赢,平移。但是有一個(gè)缺點(diǎn)是無(wú)法進(jìn)行梯度下降哈垢。

(3)常見(jiàn)的CNN模型

VGG妻柒、GoogLeNet、ResNet温赔、ResNet各種變種蛤奢、DenseNet等

GoogLeNet文章中提出優(yōu)化模型有兩種途徑:提高深度或是寬度鬼癣。但是這兩種方法都存在局限性:1.參數(shù)太多,容易過(guò)擬合啤贩,若訓(xùn)練數(shù)據(jù)集有限待秃;2.網(wǎng)絡(luò)越大計(jì)算復(fù)雜度越大,難以應(yīng)用痹屹;3.網(wǎng)絡(luò)越深章郁,梯度越往后穿越容易消失,難以優(yōu)化模型志衍。

GoogLeNet正是圍繞著這兩個(gè)思路提出的暖庄,其通過(guò)構(gòu)建密集的塊結(jié)構(gòu)——Inception(如下圖)來(lái)近似最優(yōu)的稀疏結(jié)構(gòu),從而達(dá)到提高性能而又不大量增加計(jì)算量的目的楼肪。

ResNet解決模型深培廓,易造成梯度消失,繼續(xù)訓(xùn)練時(shí)春叫,很難再更新參數(shù)肩钠,很難學(xué)到特征

可參考:
【1】https://blog.csdn.net/lianghe77/article/details/104486543
【2】https://blog.csdn.net/wangzi11111111/article/details/88945699


(四)注意力機(jī)制(self-attention)

注意力機(jī)制主要解決的是多輸入的問(wèn)題,例如句子的翻譯暂殖,每個(gè)句子的長(zhǎng)度并不是固定的价匠,那么該怎么樣操作使得神經(jīng)網(wǎng)絡(luò)能夠接收,序列信息呛每。

(1)輸入數(shù)目和輸出數(shù)目相同(N to N)

我們認(rèn)為序列內(nèi)部是有相關(guān)性的踩窖,例如I LOVE YOU。主語(yǔ)和謂語(yǔ)之間是有聯(lián)系的晨横。再比如說(shuō)洋腮,30號(hào)上午,北京到天津的航班颓遏。這里面的地面也是有聯(lián)系的徐矩。所以主要問(wèn)題變成了,如何確定這種相關(guān)系數(shù)叁幢?

注意力機(jī)制提出了三個(gè)注意力的系數(shù):q、k坪稽、v

q = W^qI

k = W^kI

v = W^vI

α = σ(KQ)

O = Vα

I: input, O:ouput, Q={q1,q2,...qn}, K={k1,k2...kn}, V={v1,v2...vn}

進(jìn)階版的注意力機(jī)制:multi-head self-attention曼玩,多head,就是用多個(gè)wq矩陣wk窒百,wv矩陣黍判。理解一下就是說(shuō),有不同的關(guān)系和理解篙梢。

在語(yǔ)音辨識(shí)中可能一句語(yǔ)音非常長(zhǎng)顷帖,如使用self-attention的話輸入就會(huì)及其大,我們或許不需要看到很遠(yuǎn)的距離,我們只系要看臨近之間的關(guān)系贬墩。

self-attention 和CNN的關(guān)系:

  • CNN是簡(jiǎn)單版的自注意力機(jī)制

可參考:
【1】https://www.csdn.net/tags/NtTacgxsMTAxODMtYmxvZwO0O0OO0O0O.html

自注意力機(jī)制和RNN的比較:

自注意力機(jī)制還可以用在圖神經(jīng)網(wǎng)絡(luò)中:


(五)RNN 循環(huán)神經(jīng)網(wǎng)絡(luò)

解決的也是輸入輸出不確定的應(yīng)用場(chǎng)景榴嗅。與self-attention不同,他不是一次性輸出N個(gè)結(jié)果陶舞,而是每次輸入一個(gè)x嗽测,輸出一個(gè)y。

有一個(gè)中間結(jié)果會(huì)被保存下來(lái)肿孵,一起作為下一層的輸入唠粥。

演化出了Elman NN和Jordan NN,其不同點(diǎn)僅在于a的取值停做。其他結(jié)構(gòu)基本沒(méi)有變化晤愧。還有一種雙向的RNN叫做:Bidirectional RNN,他設(shè)計(jì)了正反兩個(gè)神經(jīng)網(wǎng)絡(luò)蛉腌,共同輸出一個(gè)結(jié)果官份。其解釋為,能夠?qū)⒄麄€(gè)序列了解的更好眉抬。

(1)LSTM (long short-term memory)長(zhǎng)短期記憶網(wǎng)絡(luò)

這個(gè)網(wǎng)絡(luò)是一種特殊的RNN贯吓。不難發(fā)現(xiàn)RNN希望神經(jīng)網(wǎng)絡(luò)能夠記住一些內(nèi)容,但是根據(jù)RNN網(wǎng)絡(luò)結(jié)構(gòu)可以發(fā)現(xiàn)蜀变,它只對(duì)上一個(gè)輸入有考慮悄谐。而且關(guān)于存儲(chǔ)邏輯設(shè)計(jì)的不是很合理。LSTM重新設(shè)計(jì)了關(guān)于memory的設(shè)計(jì)库北。

LSTM設(shè)計(jì)了三個(gè)門(mén)來(lái)控制爬舰,存儲(chǔ)單元的存儲(chǔ)與否以及怎么樣存儲(chǔ),將這三個(gè)們封裝成一個(gè)special Neuron, 已擁有四個(gè)輸入和一個(gè)輸出寒瓦。下面是他的結(jié)構(gòu):

他的核心結(jié)構(gòu)是長(zhǎng)這樣的情屹,其具體是怎么運(yùn)行的呢?

每一個(gè)輸入不僅是考慮x杂腰,還會(huì)考慮記憶和上一個(gè)單詞的輸出垃你。也可以堆疊出多層的LSTM神經(jīng)網(wǎng)絡(luò)。

可參考:
【1】https://www.freesion.com/article/68911223173/


(六)transformer 變形金剛

依然致力于解決seq to seq的問(wèn)題喂很。多用于文本和自然語(yǔ)言的處理惜颇。例如語(yǔ)音翻譯,多l(xiāng)abel分類(lèi)少辣,目標(biāo)檢測(cè)等

transformer的整體結(jié)構(gòu)可分為encoder 和 decoder兩個(gè)部分凌摄,這兩個(gè)部分都是前面所說(shuō)的self-attention機(jī)制的一個(gè)堆疊。

(1)encoder

inputs輸入過(guò)后有一個(gè)positional encoding漓帅,就是為了確保位置信息锨亏。然后輸入到多head的自注意力機(jī)制里面痴怨,與上面說(shuō)到的self-attention不同,他多了一個(gè)Feed Forward器予,是一個(gè)兩層的全連接浪藻,第一層的激活函數(shù)為ReLU,第二層不適用激活函數(shù)劣摇。

還有一個(gè)區(qū)別是多了一個(gè)add&norm珠移,這是類(lèi)似于ResNet的一個(gè)殘差的設(shè)計(jì)。

Add\&Norm = LayerNorm(X+Multi-Head Attention)

(2)decoder

decoder的輸入與以往的神經(jīng)網(wǎng)絡(luò)不一樣末融,他不是一次性將答案輸給他钧惧,而是第一次輸入START,機(jī)器預(yù)測(cè)出“機(jī)”勾习。然后把預(yù)測(cè)出來(lái)的“S+機(jī)”作為輸入浓瞪,預(yù)測(cè)出下一個(gè)字“器”一直這樣執(zhí)行下去。但是我們也不難看出缺點(diǎn)巧婶,有可能就會(huì)一步錯(cuò)乾颁,步步錯(cuò)。

Masked Multi-Head Attention的結(jié)構(gòu)和Multi-Head Attention的結(jié)構(gòu)是一樣的艺栈,只是輸入時(shí)被掩蓋的數(shù)據(jù)英岭。

Encoder 的 Multi-Head Attention 的結(jié)構(gòu)和 Decoder 的 Multi-Head Attention 的結(jié)構(gòu)也是一樣的,只是 Decoder 的 Multi-Head Attention 的輸入來(lái)自兩部分湿右,K诅妹,V 矩陣來(lái)自Encoder的輸出,Q 矩陣來(lái)自 Masked Multi-Head Attention 的輸出毅人。

可參考:
【1】https://blog.csdn.net/qq_48314528/article/details/122160800
【2】http://www.reibang.com/p/6ced23376003
【3】https://zhuanlan.zhihu.com/p/403433120

李宏毅老師還介紹了很多transformer的變種吭狡,那就已經(jīng)聽(tīng)不懂了。

(3)各式各樣的attention

前面說(shuō)過(guò)self-attention會(huì)將序列長(zhǎng)度為N 的輸入輸出為一個(gè)N*N的矩陣丈莺。但是我們的輸入極有可能是一個(gè)非常非常長(zhǎng)的向量划煮,這樣的話,這個(gè)輸出的矩陣將會(huì)是非常大的缔俄,如果在用多個(gè)head的話弛秋,那計(jì)算量又將翻倍。這里講述了一些方法加速訓(xùn)練俐载。

第一種方式:Local Attention / Truncated Attention / Global Attention铐懊。就是說(shuō),可能我并不需要看到整個(gè)句子之間的關(guān)系瞎疼,我可以選擇性的去跳過(guò)一些計(jì)算點(diǎn)”诨或者說(shuō)贼急,不同的head茅茂,我們關(guān)注的點(diǎn)有不一樣。

第二種方法叫做:Clustering(分類(lèi)歸并)太抓。先把sequence的原始向量們計(jì)算出的query和key拿出來(lái), 進(jìn)行聚類(lèi), 把比較近的分類(lèi)在一起, 比較遠(yuǎn)的則分別屬于不同的clustering.然后在計(jì)算attention matrix的時(shí)候, 只有在query和key被歸類(lèi)到同一個(gè)clustering種類(lèi)里才會(huì)去計(jì)算他們的attention, 否則直接設(shè)置為0.這樣就可以加快attention matrix的計(jì)算.
但是即使是clustering也是基于人類(lèi)的理解來(lái)判斷的.

第三種:利用線性代數(shù)的方法空闲,加速運(yùn)算。
計(jì)算結(jié)果一樣走敌,計(jì)算量不一樣碴倾。

可參考:
【1】https://blog.csdn.net/q1347688324/article/details/123778585

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市掉丽,隨后出現(xiàn)的幾起案子跌榔,更是在濱河造成了極大的恐慌,老刑警劉巖捶障,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件僧须,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡项炼,警方通過(guò)查閱死者的電腦和手機(jī)担平,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)锭部,“玉大人暂论,你說(shuō)我怎么就攤上這事“韬蹋” “怎么了取胎?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蹋砚。 經(jīng)常有香客問(wèn)我扼菠,道長(zhǎng),這世上最難降的妖魔是什么坝咐? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任循榆,我火速辦了婚禮,結(jié)果婚禮上墨坚,老公的妹妹穿的比我還像新娘秧饮。我一直安慰自己,他們只是感情好泽篮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布盗尸。 她就那樣靜靜地躺著,像睡著了一般帽撑。 火紅的嫁衣襯著肌膚如雪泼各。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,198評(píng)論 1 299
  • 那天亏拉,我揣著相機(jī)與錄音扣蜻,去河邊找鬼逆巍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛莽使,可吹牛的內(nèi)容都是我干的锐极。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼芳肌,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼灵再!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起亿笤,我...
    開(kāi)封第一講書(shū)人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤翎迁,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后责嚷,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鸳兽,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年罕拂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了揍异。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡爆班,死狀恐怖衷掷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情柿菩,我是刑警寧澤戚嗅,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站枢舶,受9級(jí)特大地震影響懦胞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜凉泄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一躏尉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧后众,春花似錦胀糜、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至右锨,卻和暖如春括堤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工痊臭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哮肚,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓广匙,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親恼策。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸦致,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

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