深度學習(Deep Learning)

Author:Yann LeCun, Yoshua Bengio, Geoffrey Hinton

深度學習允許由多個處理層組成的計算模型來學習具有多個抽象級別的數據表示。這些方法在語音識別、視覺對象識別、目標檢測以及一些其他領域,例如:藥物發現和基因學,極大地提高了技術水平。深度學習通過使用反向傳播算法發現大數據集中的復雜結構,反向傳播算法可以用來指導學習機器應該怎樣從前一層獲取誤差而改變本層的內部參數。深度卷積網絡在處理圖像、視頻、語音和音頻方面取得了重大突破,而循環網絡在處理序列數據,例如:文本和語音,上發揮著重大作用。

機器學習應用在現代社會的許多方面,從Web搜索到內容過濾,到電子商務網站的推薦系統,以及越來越多的出現在像相機和智能手機這樣的消費產品中。這些應用在逐漸的使用一種被稱為深度學習的技術。
  傳統的機器學習技術在處理原始數據方面的能力有限。幾十年來,在構建一個模式識別或者機器學習系統都需要非常細致的工程和豐富的專業領域的知識儲量來設計一個特征提取器,把原始數據(如圖像的像素值)轉換成一個適當的內部特征表示或特征向量,子學習系統,通常是一個分類器,對輸入的樣本進行檢測或分類。
  表示學習是一套可以自動從原始數據中發現需要用來檢測或分類的表示形式。深度學習就是一種特征學習方法,把原始數據通過一些簡單的但是非線性的模型轉變成為更高層次的,更加抽象的表達。通過足夠多的轉換的組合,非常復雜的函數也可以被學習。對于分類任務,高層次的表達能夠強化輸入數據的區分能力方面,同時削弱不相關因素。
深度學習的關鍵方面在于這些特征層不是由人類工程師所設計,而是使用通用的學習過程從數據中學到的。
  深度學習在解決多年來阻止人工智能嘗試的問題上體現了重大的優勢。深度學習方法非常適用于在高維數據中發現復雜的內部結構。在不久的將來,深度學習將會取得更多的成功,因為它需要很少的手工工程,它可以很容易受益于可用計算能力和數據量的增加。目前正在為深度神經網絡開發的新的學習算法和架構只會加速這一進程。

監督學習

無論是深度還是非深度,監督學習都是機器學習最常見的方式。
假如要搭建一個能夠分類一幅圖像中的房子、車子、人和寵物的系統,首先需要收集大量的關于房子、車子、人和寵物的圖像,并做好分類標記。在訓練的時候,機器獲取一幅圖像并輸出一個分數向量對應著每一類的得分情況,我們希望預期的類別在所有類別中得分最高,但是,這在開始訓練前是沒法知道的。然后計算一個目標函數用來衡量輸出得分和預期得分之間的誤差,接著調整機器的內部參數以減小這個誤差。這些可調整的內部參數一般稱為權重。在一個典型的深度學習系統中有數以億計的這樣的參數和被標記的樣本用來訓練機器。
  尋找適合的權重向量可以使用梯度下降算法。在實際應用中,隨機梯度下降(SGD)算法使用的更多。
  訓練結束后,使用測試集驗證系統的泛化能力。
  當前應用中的許多機器學習技術使用的是線性分類器來對人工提取的特征進行分類。但是從20世紀60年代開始,我們就知道了線性分類器只能夠把樣本分成非常簡單的區域,也就是說通過一個超平面把空間分成兩部分。對輸入特征不敏感。為了加強分類能力,可以使用泛化的非線性特性,如核方法,但這些泛化特征,比如通過高斯核得到的,并不能夠使得學習器從學習樣本中產生較好的泛化效果。傳統的方法是手工設計良好的特征提取器,這需要大量的工程技術和專業領域知識。但是如果通過使用通用學習過程而得到良好的特征,那么這些都是可以避免的了。這就是深度學習的關鍵優勢。
  一個深度學習結構是由簡單模塊的多層堆疊而來,每一個模塊的目標是學習,期中許多模塊需要計算非線性輸入輸出的映射。在堆疊中的每一個模型都需轉換輸入來增強表示的選擇性和不變性。有了多個非線性層,系統就可以實現其輸入的非常復雜的功能。

反向傳播(BP)來訓練多層神經網絡

圖1 多層神經網絡和BP算法

最早期的模式識別任務中,研究者的目標一直是訓練多層網絡來替代人工選擇的特征。盡管多層網絡很簡單,但是直到20世紀80年代中期才被廣泛的理解。事實證明,多層結構的神經網絡可以使用簡單的隨機梯度下降算法進行訓練。只要網絡的輸入和內部權重函數是相對平滑的,就可以使用反向傳播過程計算梯度。這種可以正常工作的反向傳播算法是在20世紀70年代到80年代由一些獨立團隊發現的。
  用來計算多層神經網絡權重的梯度的反向傳播算法只不過是用來求導的鏈式法則的實際應用。反向傳播算法的核心思想是:目標函數對于某層輸入的導數(或者梯度)可以通過向后傳播對該層輸出(或者下一層輸入)的導數求得(如圖1)。反向傳播算法可以被重復用來傳播梯度通過所有的模塊,從輸出的最頂層(網絡產生預測的那一層)到最底層(網絡接受外部輸入的那一層)。一旦這些梯度被求解出來,就可以前向去求解每一層的權重。
  許多深度學習應用采用前饋神經網絡結構(如圖1),這種網絡學習從一個固定大小的輸入(例如:圖像)到一個固定大小的輸出(例如:每一種類型的概率)的映射。從第一層到下一層,一系列的單元計算關于前一層的輸入的權值和,然后將計算結果傳遞給一個非線性函數。目前,最流行的非線性函數是ReLU(rectified linear unit),函數形式如:f(z) = max(z, 0)。在過去的數十年,神經網絡使用后一些更加平滑的非線性函數,例如:tanh(z) 或者 1/(1 + exp(?z)),但是ReLU在多層網絡中的學習速度要比其他的快,并且允許在未經非監督預訓練的前提下訓練一個深度監督網絡。不屬于輸入層或輸出層的單元成為隱藏單元。這些隱藏層可以被看作是扭曲輸入的一種非線性方法,因此那些輸入類別在最后一層能夠被線性可分割。
  在20世紀90年代末,神經網絡和反向傳播算法被機器學習團隊所拋棄,被計算機視覺和語音識別團隊所忽略。人們普遍認為學習有用的、多層次的、具有少量先驗知識的特征提取是不可行的。特別的,人們普遍認為簡單的梯度下降容易使權重計算陷入局部最小的困境,因為,沒有細微的改變會減小平均誤差。
  實際上,在大型網絡面前,陷入局部最小往往不是一個問題。不管初始情況如何,系統幾乎都會獲得相同的結果。目前的理論和經驗結果強有力的證明了局部最小解通常不是個問題。相反,解空間中充滿了大量的鞍點(梯度為0的點),同時鞍點周圍大部分曲面都是往上的。所以這些算法就算是陷入了這些局部最小值,關系也不太大。
  2006年前后,CIFAR(加拿大高級研究院)的一組研究員重新喚起了人們對于深度前饋網絡的興趣。這些研究員引進了一種無監督學習方法,這種方法可以創建一些特征檢測的網絡層,而不適用帶標簽的數據。每一個特征檢測網絡層的學習目的是在下一層重構或者對特征檢測器進行建模。通過使用這種重構目標預訓練一些逐漸復雜的特征檢測網絡層,深度網絡的權重可以初始化成合理的值。然后一個輸出層可以被添加到網絡的頂部,并且可以使用標準的反向傳播算法進行微調。這對識別手寫數字識別或檢測行人非常有效,特別是在當帶標記的數據的數量非常有限的時候。
  使用這種預訓練方法的第一次的主要應用是在語音識別方面,快速圖像處理單元(GPU)的出現使這成為了可能,并且可以很方便在上邊編寫程序,研究員在訓練網絡的時候可以獲得10到20倍的加速。2009年,這種方法被用來映射短時間的系數窗口,該系統窗口是提取自聲波并被轉換成一組概率數字。它在一組使用很少詞匯的標準的語音識別基準測試程序上達到了驚人的效果,然后又迅速被發展到另外一個更大的數據集上,同時也取得驚人的效果。從2009年到2012年由一些主要的語音團隊開發了多個版本的深度網絡,并且將其應用到Android手機上。對于更小的數據集,無監督預訓練學習方法可以防止過擬合,同時,當有標簽的樣本很少的時候可以帶來很好的泛化性能。事實證明,一旦深度學習技術的恢復了,這種預訓練方式只會在小數據集上有需求。
  然而,有一種特殊的深度前饋網絡,這種網絡更加容易訓練,并且泛化性能比相鄰層之間完全連接的網絡要好。這就是卷積神經網絡。在之前神經網絡不受歡迎的時候卷積神經網絡就已經取得了許多成功,現在已經在計算機視覺團隊得到了廣泛的應用。

卷積神經網絡(CNN)

卷積神經網絡是設計用來處理多維數據形式的數據的,例如一幅包含了3個色彩通道的彩色圖像有3個包含像素值得2D數組。許多數據都是這種多維數組的形式:1D的有信號、序列包括語言;2D的有圖像、頻譜;3D的有視頻或者有聲音的圖像。對于利用自然信號的屬性,卷積神經網絡有4個關鍵的思想:局部連接、共享權重、池化和使用多層。
  一個典型的卷積神經網絡結構是由一系列的過程構成的(如圖2)。最初的幾個階段由卷積層和池化層組成。卷積層的單元被組織在特征圖中,在特征圖中,每一個單元通過一組叫做濾波器的權值被連接到上一層的特征圖的一個局部塊,然后這個局部加權和被傳給一個非線性函數,比如ReLU。在一個特征圖中的全部單元享用相同的過濾器,不同層的特征圖使用不同的過濾器。使用這種結構處于兩方面的原因。首先,比如說在像圖像數組這樣的數據中,一個值得附近通常是高度相關的,可以形成比較容易被探測的有區分的性的局部特征。其次,圖像和其他信號的局部統計特征是不相關的。換言之,一個圖案可以出現在一幅圖像中的一部分,那么它也可以出現在其他任何地方,所以不同位置的單元可以共享權值以及可以探測相同的樣本。在數學上,由特征映射執行的篩選操作是一個離散的卷積,因此得名。
  卷積層的作用探測上一層的局部連接,池化層的作用是將一些語義相近的特征合并到一起。由于一個圖案形成的特征的相對位置可能會發生變化,通過粗化每一個特征的位置就可以實現可靠的檢測圖案。一個典型的池化單元計算一個特征映射(或者一個新的特征映射)中單元的局部塊的最大值。相鄰的池化單元從由多個行或列轉化的塊中獲得輸入,從而減少了表示的緯度,給微小的移動和變化創造一個不變性。卷積的二三個階段,非線性層和池化層是堆疊在一起的,其次是更多的卷積層和全連接層。在卷積神經網絡上進行反向傳播算法和在一般的深度網絡上是一樣的,可以讓所有的在過濾器中的權值得到訓練。
  深度神經網絡利用了很多的自然信號是由層級結構組成的這一屬性,在這種屬性中高級的特征是由低級的特征組合構成的。在圖像中,局部邊緣組合形成的圖案,這些圖案組成圖像的局部,然后局部組成目標。從聲音到電話、音素、音節、字和句子,同樣的層級結構存在于語音和文本中。當輸入的數據在前一層中的位置發生變化時,池化操作讓這些特征表示對這些變化具有魯棒性。
  卷積神經網絡中的卷積層和池化層的靈感來源于視覺神經中的簡單細胞和復雜細胞,這種細胞是以LGN-V1-V2-V2-IT的層級結構形成視覺回路的。當把卷積神經網絡和猴子放在一起時,卷積神經網絡高級單元的激活解釋了猴子下顳葉皮質中隨機160個神經元的變化。卷積神經網絡有神經認知的根源,它們的結構有些相似,但是在神經認知中沒有像反向傳播這樣的端到端的監督學習算法。有一種一維的卷積神經網絡被稱為時延神經網絡,這種神經網絡應用于音素和簡單測字詞識別。
  20世紀90年代以來,從用于語音識別和文檔閱讀的時延神經網絡開始,出現了大量基于卷積神經網絡的應用。文檔閱讀系統利用卷積神經網絡和概率模型共同訓練,實現對語言的約束。到20世紀90年代末,這樣的系統已經閱讀了超過美國所有支票的10%。后來,微軟開發了一系列的基于卷積神經網絡的光字符識別和手寫體識別系統。在20世界90年代早期,卷積神經網絡也對自然圖像中的目標檢測做了實驗,包括人臉、手,以及人臉識別。


圖2 卷積神經網絡

使用深度卷積網絡理解圖像

從21世紀早期開始,卷積神經網絡就被成功的大量應用在檢測、分割、物體識別和圖像的各個領域。這些應用都是使用了大量的帶標簽的數據,比如交通信號識別,生物圖像分割,面部探測,文本、行人以及自然圖像中的人體檢測。近年來,卷積神經網絡取得的主要成果在人臉識別方面。
  值得一提的是,圖像可在像素級別標記,這樣就可以應用在自動電話接聽機器人、自動駕駛汽車等技術中。像Mobileye和NVIDIA這樣的公司正把基于卷積神經網絡的方法應用于汽車中的視覺系統中。其他更重要的應用在自然語言理解和語音識別領域。
  盡管卷積神經網絡很成功,但是直到2012年的ImageNet競賽才被計算機視覺和機器學習團隊重視起來。在競賽中,深度卷積神經網絡被應用在擁有上百萬張圖像的網絡數據集中,這個數據集包含了1000個不同的類別,結果取得了驚人的成績,幾乎比當時使用的最好的方法減少了一半的錯誤率。這一成功來自于對GPU、ReLU和一種稱為dropout的正則化技術分有效利用,以及對現有樣本進行分割獲得更多訓練樣本的技術的有效利用。這樣的成功給計算機帶來了一場革命,如今,卷積神經網絡幾乎成為了所有識別和檢測任務的主要方式,并且在某些任務達到了人類水平。最近一個更好的成果是,利用卷積神經網絡結合循環神經網絡用來產生圖像標題。
  目前的卷積神經網絡結構有10到20層的ReLU激活函數,在所有單元中有上百萬個權重和幾十億個連接。然而訓練如此大的網絡在兩年前就只需要幾個星期的時間,現在硬件,軟件和算法的提高已經將時間縮短到只要幾個小時。
  基于卷積神經網絡的視覺系統已經引起了許多主要的科技公司的注意,包括Google,Facebook,Microsoft,IBM,Yahoo,Twitter以及Adobe等公司,并且很多初創公司也是如此。
  卷積神經網絡很容易在芯片或者FPGA中高效實現。NVIDIA、Mobileye、Inter、Qualcomm和Samsung等許多公司正在開發一種用于智能手機、相機、機器人和自動駕駛汽車的實時視覺應用的卷積神經網絡芯片。


圖3 從圖像到文本

分布式表示和語言處理

深度學習理論表示,與不使用經典的分布表示學習算法相比,深度網絡具有兩個不同的巨大優勢。這兩種優勢來源于網絡中的各節點成分,并且取決于具有合理結構的生成數據分布。第一,學習分布式表示能夠泛化適應新學習到的特征值的組合,而不是在訓練中所觀察到的(例如:2^n可能有n個二進制特征)。第二,在一個深度網絡中組成表示的網絡層將帶來一個指數級的潛在優勢。
  多層神經網絡的隱藏層學會以一種便于預測目標輸出的方式來表示網絡的輸入。下面是一個很好的示范,將本地文本的內容作為輸入,訓練多層神經網絡來預測句子中下一個單詞。在文本中的每一個單詞作為一個n維向量呈現給網絡,也就是說一個向量有一個值是1,其余值均為0.在第一層中,每一個單詞創建一個不同的激活形式或者詞向量。在一個語言處理模型中,網絡中的其它層學習將輸入的詞向量轉換為預測下一個單詞的輸出詞向量,它可以用來預測詞匯表中的任意一個單詞作為下一個單詞輸出的概率。網絡學習了包含許多激活節點的、并且可以解釋為詞的獨立特征的單詞向量,正如第一次示范的文本學習分層表征文字符號的例子。這些語義特征并沒有在輸入時明確表示出來,它們由學習程序發掘出來,作為分解輸入和輸出之間的結構關系的可行的方法。當單詞序列來自一個大型的真實的文本,并且在獨立的微規則不可靠時,詞向量的學習方法的結果也表現得很好。例如,當訓練去預測一個新聞故事中的下一個單詞時,對于Tuesday和Wednesday所學習到的詞向量和Sweden和Norway所學習到的詞向量是非常相似的。類似于這樣的表示都稱為分布表示,因為他們的屬性并不是相互獨立,并且它們的許多配置變化和觀測中的數據一致。這些詞向量都是由學習特征組成的,并且這些特征沒有提前由專家區分開來,但是它們由神經網絡自動發現了。現在,從文本中學習到的單詞的詞向量表示方法被廣泛的應用在自然語言處理領域。
  特征表示問題爭論的中心介于對基于邏輯啟發和基于神經網絡的認識。在邏輯啟發的范式中,一個符號的實體對應唯一的屬性,它與其他符號的實例相同或者不相同。它沒有內部結構,并且這樣的結構和它們的使用相關,它們必須和變化的合理推理對應。相反的,神經網絡利用了大量活動載體、權值矩陣和標量非線性化,來實現能夠支撐簡單容易的、具有常識推理的快速直覺函數。
  在引入神經語言模型之前,對語言進行統計建模的標準方法沒有使用分布式表示方法,而是基于統計短符號序列發生頻率增長到n(稱為N-grams)。可能N-grams的數量是接近V^n,其中V為詞匯表的大小,考慮到文本可能需要成千上萬的單詞,所以需要一個非常大的語料庫。N-grams將每一個單詞看作是一個原子單元,因此它們不能泛化語義相關的單詞序列,但是神經語言模型可以,因為它將每一個單詞與一個真實特征的向量聯系在一起,并且語義相關的單詞在這個向量空間是相互接近的。


圖4 可視化詞向量

循環神經網絡(RNN)

反向傳播算法的第一次引用,最振奮人心的應用是用來訓練循環神經網絡(RNN)。對于涉及連續輸入的任務,例如語音和語言,通常使用RNN能取得更好的效果。RNN一次處理一個輸入序列元素,在隱藏層中保持一個狀態向量,這個狀態向量隱式的包含了之前所有序列的元素的歷史信息。當我們考慮在不同離散時間步驟時隱藏層的輸出時,這就好像它們是在深度多層網絡中不同神經元的輸出(如圖5 右),那么我們該怎樣利用反向傳播訓練RNN就變得清晰了。
  RNN是非常強大的動態系統,但是訓練RNN被證明是有問題的,因為反向傳播梯度在每一步都是增長或者下降的,因此在多次迭代之后他們可能會導致激增或者消失。
  由于先進的結構和訓練方式,RNN被發現可以很好的預測下一個字符或者句子中下一個單詞,并且可以應用于更加復雜的任務。例如在某時刻閱讀一個英語句子的單詞之后,一個英語句子的“編碼”網絡將會被訓練,使得隱式單元的最終狀態向量能夠很好的表征句子所要表達的意思或思想。這種“思想向量”(thought vector)可以作為聯合訓練一個法語“編碼器”網絡的初始化隱式狀態(或者額外的輸入),其輸出為法語翻譯首單詞的概率分布。如果從分布中選擇一個特殊的首單詞作為編碼網絡的輸入,將會輸出翻譯句子中的第二個單詞的概率分布,并直到停止選擇為止。總體而言,這一過程是根據英語句子的概率分布生成法語單詞序列。這種簡單的機器翻譯方法和最先進的機器產生了競爭,同時也引起了人們對于理解句子是否需要使用推理規則操作內部符號表示嚴重懷疑。這與日常推理中同時涉及到根據合理結論類推的觀點是匹配的。
  類比于將法語句子的意思翻譯成英語句子,同樣可以學習將圖像的意思轉換成英語句子(如圖 3),這里的編碼器是一個深度卷積神經網絡,這個網絡在最后一個隱藏層將像素轉換為一個激活向量,解碼器是一個RNN,與機器翻譯和神經語言建模中使用的循環神經網絡類似。如今,人們對這樣的系統的興趣激增。
  RNN一旦在某時刻展開,它可被看成一個非常深度的前饋神經網絡,在這個網絡中的所有層都共享相同的權重。盡管RNN的主要目的是學習長期的依賴關系,但是理論和經驗證明長時間的去學習去存儲信息是困難的。
  為了糾正這一點,一個想法是用一個顯示的內存來增強網絡。這個的第一個建議是使用特殊隱藏單元的長短期記憶(LSTM)網絡,其自然行為是長期的記憶輸入。這個特殊的單元被稱為記憶細胞,它就像一個累加器或者是一個封閉的神經元:它與自己的下一步相連接,并且連接的權值為1,因此它復制了自己的實值狀態,并且累加外部信號,但是這樣的自我連接是由另一個單元乘法封閉的,這樣的單元學習如何決定何時清除記憶內容。
  LSTM網絡隨后被證明比常規的RNN要更加有效,尤其是當一個時間步長中有幾個層時,整個語音識別系統能夠完全將聲音轉換為字符序列。LSTM網絡或者相關的封閉形式的單元目前都被用于編碼和解碼網絡,這在機器翻譯方面表現得很好。
  在過去的幾年里,對于RNN的記憶模型一些作者有了不同的建議。這些建議包括神經圖靈機(Neural Turing Machine),它通過一個類似磁帶的存儲器來擴充網絡,使RNN可以選擇讀寫;利用聯想記憶增強常規網絡的記憶網絡。在標準的問答基準上記憶網絡產生了卓越的表現。記憶網絡被用來記憶最后被要求回答問題的來歷。
  除了簡單的記憶網絡,神經圖靈機和記憶網絡被用在需要常規推理和符號操作的任務中。神經圖靈機能從算法中學習。在其他方面,當它們的輸入是一個無需的序列時,它們可以輸出一個已經排好序的符號列表,并且每一個符號都有一個表示在列表中的優先級的實數。記憶網絡可以用來訓練追蹤一個類似于文字冒險游戲世界中的狀態,在讀完故事之后,它可以回答一些需要復雜推理的問題。在一個測試例子中,網絡能夠正確回答15句版的《指環王》中類似于“Where is Frodo now?”的問題。


圖5 循環神經網絡(RNN)

深度學習的未來

在振興深度學習方面,無監督學習起著催化作用,但是純粹的監督學習的成功掩蓋了無監督學習的作用。盡管在這篇綜述中我們還沒有關注這一點,但是從長遠來看,我們認為無監督學習將變得越來越重要,人類和動物的學習大部分是無監督的:我們是通過觀察這個世界,而不是被告知每一個事物的名字來發現這個世界的結構的。
  人類視覺是一個智能的、基于特定方式的利用小或大分辨率的視網膜中央窩與周圍環繞區域對光線采集成像的活躍的過程。我們期望未來能在機器視覺方面取得更大的進步,這些進步通過訓練結合CNN和RNN的端到端的系統取得,采用強化學習來決定其走向。結合深度學習和增強學習的系統還處在初級階段,但是它們在分類任務和學習玩不同的視頻游戲方面所表現出來的結果已經要比被動視覺系統要好。
  在未來幾年,深度學習將會產生巨大沖擊的另一個領域是自然語言理解。當系統學習選擇策略的時候,我們認為利用RNN去理解句子或者整個文檔的系統將會變得更好。
  最后,人工智能方面所取得的進步將來自那些結合了復雜推理的表示學習系統。盡管深度學習和簡單推理已經在語音識別和手寫體識別方面應用了很長時間了,我們仍需要通過操作大量向量的新范式來代替基于規則的字符表達式操作。
原文下載:Deep learning(CSDN)Deep Learning
原文鏈接:Deep Learning(nature)

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內容