OpenAI/Universe-萬物

Neil Zhu拼坎,簡書ID Not_GOD,University AI 創(chuàng)始人 & Chief Scientist荣刑,致力于推進世界人工智能化進程措嵌。制定并實施 UAI 中長期增長戰(zhàn)略和目標,帶領(lǐng)團隊快速成長為人工智能領(lǐng)域最專業(yè)的力量谤辜。
作為行業(yè)領(lǐng)導者蓄坏,他和UAI一起在2014年創(chuàng)建了TASA(中國最早的人工智能社團), DL Center(深度學習知識中心全球價值網(wǎng)絡),AI growth(行業(yè)智庫培訓)等丑念,為中國的人工智能人才建設輸送了大量的血液和養(yǎng)分涡戳。此外,他還參與或者舉辦過各類國際性的人工智能峰會和活動脯倚,產(chǎn)生了巨大的影響力渔彰,書寫了60萬字的人工智能精品技術(shù)內(nèi)容嵌屎,生產(chǎn)翻譯了全球第一本深度學習入門書《神經(jīng)網(wǎng)絡與深度學習》,生產(chǎn)的內(nèi)容被大量的專業(yè)垂直公眾號和媒體轉(zhuǎn)載與連載恍涂。曾經(jīng)受邀為國內(nèi)頂尖大學制定人工智能學習規(guī)劃和教授人工智能前沿課程宝惰,均受學生和老師好評。

2016 年的最后一個月再沧,OpenAI 在 NIPS 2016 來臨之際發(fā)布 Universe尼夺,一個在世界范圍內(nèi)的游戲、網(wǎng)站及其他應用上衡量和訓練 AI 通用智能的平臺产园。

A sample of Universe game environments played by human demonstrators.

Universe 可以讓一個 AI agent 像人一樣來使用電腦:觀看屏幕像素并操作一個虛擬鍵盤和鼠標汞斧。我們必須在期望其解決的廣泛任務上訓練出 AI 系統(tǒng),而 Universe 就可以讓單個 agent 在任何人類可以通過計算機完成的任務上進行訓練什燕。

4 月份粘勒,我們啟動了 Gym,這是用來開發(fā)和比較強化學習算法的工具屎即。而借助 Universe庙睡,任何程序都可以被轉(zhuǎn)換成一個 Gym 的環(huán)境。Universe 通過自動啟動程序在一個 VNC 遠程桌上進行工作——所以它不需要對程序內(nèi)部技俐、源碼或者 bot API 的特別訪問乘陪。

今天的發(fā)布內(nèi)容包括一千個環(huán)境如 Flash Game,Browser task雕擂,以及slither.io GTA V 的游戲啡邑。其中數(shù)百個已經(jīng)可以直接測試強化學習算法,而幾乎所有的都可以使用 universe python 庫自由運行:

import gym
import universe # register Universe environments into Gym

env = gym.make('flashgames.DuskDrive-v0') # any Universe environment ID here
observation_n = env.reset()

while True:
  # agent which presses the Up arrow 60 times per second
  action_n = [[('KeyEvent', 'ArrowUp', True)] for _ in observation_n]
  observation_n, reward_n, done_n, info = env.step(action_n)
  env.render()
上面的代碼會啟動你的 AI 來玩 [Dusk Drive](http://www.kongregate.com/games/LongAnimals/dusk-drive) Flash游戲. 你的 AI 每秒會接受到 60 次上面的幀. 你需要安裝 [Docker](https://docs.docker.com/engine/installation/) 和 [universe ](https://github.com/openai/universe).

我們的目標是開發(fā)出一個單個 AI agent 可以靈活地應用其過去的經(jīng)驗在 Universe 環(huán)境中去快速地精通不熟悉井赌、困難的環(huán)境谤逼,這實際上是向通用智能跨出的主要一步。有很多可以幫上忙的方法:給予我們對游戲的權(quán)限仇穗,在 Universe 任務上訓練 agent流部,整合新的游戲,或者玩這些游戲纹坐。

EA, Microsoft Studios, Valve, Wolfram 還有其他一些參與者幫助下枝冀,我們已經(jīng)賦予了 Universe AI 安全權(quán)限,使得 Universe AI agent 可以自由訪問游戲和應用耘子,如 Portal, Fable Anniversary, World of Goo, RimWorld, Slime Rancher, Shovel Knight, SpaceChem, Wing Commander III, Command & Conquer: Red Alert 2, Syndicate, Magic Carpet, Mirror's Edge, Sid Meier's Alpha Centauri, 以及 Wolfram Mathematica. 我們非常期待整合這些以及 更多.


背景

人工智能領(lǐng)域在過去數(shù)年中經(jīng)歷了快速的發(fā)展果漾。計算機現(xiàn)在能夠以空前的準確度 , , 和 翻譯語言。他們同樣可以學習 生成圖像, 聲音, 和 文本了谷誓。強化學習系統(tǒng)跨晴,AlphaGo,擊敗了圍棋世界冠軍片林。但是,雖說有這些成就,我們目前能夠構(gòu)建出來的系統(tǒng)仍舊落在“狹義人工智能”的范疇之內(nèi)——他們可以在一個特定領(lǐng)域內(nèi)取得超人的性能费封,但是卻沒有在超出這些領(lǐng)域外做出明智行動的能力焕妙。例如,AlphaGo 可以輕易在圍棋上擊敗你弓摘,不過你并不能告訴它一種不同的棋類游戲的規(guī)則焚鹊,指望它陪你來一局新游戲。

擁有通用問題解決能力的系統(tǒng)——這種能力人類天生俱來韧献,我們常常稱之為常識末患,可以讓一個 agent 快速解決一個新的困難任務——仍舊超出了我們的能力范圍。顯著的挑戰(zhàn)就是我們的 agent 不能夠?qū)⑵浣?jīng)驗帶到新的任務上锤窑。在標準的訓練環(huán)境下璧针,我們從一片空白開始初始化 agent,讓它們通過數(shù)千萬次的嘗試來隨機調(diào)整渊啰,學會重復那些碰巧產(chǎn)生回報收益的行動探橱。如果我們希望獲得通用的智能 agent,我們必須允許它們經(jīng)歷更加寬廣的任務绘证,這樣才能開發(fā)可以有效重用在新的任務上的世界知識和問題解決策略隧膏。

大家都知道,Atari 2600 游戲“Montezuma's Revenge” 是使用強化學習非常難解決的問題嚷那。人類玩家可以立馬看到他們可以控制游戲中的人胞枕,骷髏頭可能是危險的東西不能觸碰,也許搜集鑰匙是很好的念頭魏宽。AI agent 從一片空白開始腐泻,沒有任何過去的經(jīng)驗遷移,強制地只能解決試錯的方法來找到解決方法需要百萬次的嘗試湖员。

Universe 構(gòu)架

Universe 通過一個常用的接口來獲取非常豐富的環(huán)境:agent 通過觀察屏幕像素并產(chǎn)生一個鍵盤和鼠標命令來操作一個遠程桌面贫悄。環(huán)境暴露了一個 VNC 服務器,Universe 庫將 agent 轉(zhuǎn)化成了一個 VNC 客戶端娘摔。

我們設計目標是提供一個單一的 python 進程來以每秒 60 幀的速度并行驅(qū)動 20 個環(huán)境窄坦。每個屏幕的緩沖區(qū)是 1024x768,所以簡單地從外部進程讀每個幀會消耗掉 3GB/s 內(nèi)存帶寬凳寺。我們用 Go 寫了一個面向批的 VNC client鸭津,這個可以作為一個 python共享庫載入,并對每個環(huán)境增量更新一對緩沖區(qū)肠缨。在嘗試很多 VNC服務器逆趋、編碼和非證明過的協(xié)議選項的組合后,我們現(xiàn)在按照 100 ms 延遲晒奕,按照每秒 60 幀的速度驅(qū)動數(shù)十個環(huán)境——這些幾乎均由服務器端的編碼所造成闻书。

下面是我們當前實現(xiàn)的幾個重要特點:

  1. 通用(General)名斟。agent 可以使用這個接口(開始時設計為人類使用)來和任何已有的計算機程序進行交互而不需要模擬器或者訪問程序的內(nèi)部。例如魄眉,它可以玩任何的計算機游戲砰盐,和一個終端交互,訪問網(wǎng)頁坑律,在 CAD 軟件中設計房子岩梳,操作一個圖片編輯程序,或者編輯一張電子表格晃择。
  2. 被人類熟悉冀值。因為人們對圖像像素/鍵盤/鼠標這樣的接口已經(jīng)非常熟悉,人類可以輕易操作任何一個環(huán)境宫屠。我們可以使用人類的表現(xiàn)作為一個基準列疗,并通過簡單地保存 VNC traffic 來記錄人類的展示。我們已經(jīng)發(fā)現(xiàn)在切換到強化學習來優(yōu)化給定的獎勵函數(shù)前采用人類的展示在明智地按照行為復制的方式來初始化 agent 時效果很好(比如說激况,使用監(jiān)督學習來模仿人類行為)作彤。
  3. VNC 標準。很多 VNC 的實現(xiàn)可以在網(wǎng)上找到乌逐,有些已經(jīng)被打包進入了最常見的操作系統(tǒng)竭讳,包括 OSX。甚至還有 JavaScript 的 VNC 實現(xiàn)浙踢,這可以讓我們在不需要安裝任何新的軟件的情況上獲得人類的展示——這個對于像 Amazon Mechanical Turk 這樣的服務尤為重要绢慢。
  4. 方便 Debug。我們可以在訓練或者評價 agent 的時候觀測它——僅僅通過附加了一個 VNC 客戶端到環(huán)境的(共享) VNC 桌面上洛波。我們同樣可以保存 VNC traffic 供后期分析胰舆。

我們對將 VNC 運行得如此好非常吃驚。當擴展到更大的游戲上的時候蹬挤,其實我們有想要更加妥當點的計劃使用另外的后端技術(shù)缚窿,但是初步跡象表明,我們可以將已有的實現(xiàn)推進得更遠焰扳,現(xiàn)在客戶端可以讓 GTA V 按照每秒 20 幀的速度運行在公有網(wǎng)絡上倦零。


環(huán)境

我們已經(jīng)整合了大量環(huán)境到 Universe,將這些看做是一個起點吨悍。每個環(huán)境打包成一個 Docker 鏡像和 Host two servers 可以與外界進行交流:VNC server 發(fā)送像素接受鍵盤鼠標命令扫茅,WebSocket server 發(fā)送獎勵信號給強化學習任務(以及任何的額外信息,如文本或者診斷信息)并接受控制消息(如運行的特定環(huán)境的 ID) 育瓜。

Atari games

Universe 包含了 Arcade Learning Environment 中 Atari 2600 游戲葫隙。這些環(huán)境現(xiàn)在異步運行在quay.io/openai/universe.gym-core Docker 鏡像上,可以讓 agent 通過網(wǎng)絡進行連接躏仇,所以說 agent 必須處理延遲和低幀率恋脚。在本地網(wǎng)絡上腺办,我們能夠有 60 幀每秒,觀察延遲 20 ms慧起,行動延遲是 10 ms; 在公網(wǎng)上會下降到 20 幀每秒, 80 ms 的觀測延遲和 30 ms 的行動延遲菇晃。

Human demonstrators playing Atari games over VNC.

Flash games

轉(zhuǎn)向 Flash游戲是我們擴展 Universe 的起點——他們大量存在于因特網(wǎng)上,通常比 Atari 的圖像更為豐富蚓挤,但是還是比較簡單。我們篩選了超過 30000 個游戲驻子,估計還有一個高一量級的游戲數(shù)量灿意。

我們初始 Universe 發(fā)布了 1000 個 Flash 游戲(其中 100 個有獎勵函數(shù)),我們在 quay.io/openai/universe.flashgamesDocker image with consent from the rightsholders. 這個鏡像啟動了一個 TigerVNC 服務器和啟動了 Python 控制服務器, Selenium 來打開一個 Chrome 瀏覽器在一個包含容器的頁面顯示相應的游戲并自動點擊任何需要啟動游戲的按鈕崇呵。

Human demonstrators playing Flash games games over VNC.

抽取獎勵 盡管沒有獎勵函數(shù)的環(huán)境可以被用來進行無監(jiān)督學習或者生成人類展示缤剧,強化學習需要一個獎勵函數(shù)。不像 Atari 游戲域慷,我們不能簡單地從進程內(nèi)存中讀出成果的標準荒辕,因為每個游戲存儲的信息方式有太多差異了。幸運的是犹褒,很多游戲有屏幕上的分數(shù)抵窒,這個可以被用作獎勵函數(shù),只要我們可以解析出來這個值叠骑。盡管像 Tesseract 這樣的 OCR 可以在干凈背景下標準字體上有很好的效果李皇,但是在另外不同的字體、移動的背景宙枷,快速的動畫掉房,或者游戲中常見的吸收物品上卻是很痛苦。我們開發(fā)了一個卷積神經(jīng)網(wǎng)絡 OCR 模型在 Docker 容器的 python 控制器上運行慰丛,將分數(shù)從 VNC self-loop 維護的屏幕緩沖區(qū)解析出來卓囚,并將其通過 WebSocket channel 交還給 agent。

Our score OCR model in action. A human integrator has provided the bounding box for the score. The OCR model parses the score at 60 frames per second.

Browser tasks

人類集體將互聯(lián)網(wǎng)建成了一個擁有巨大寶庫诅病,設計成可見的消費哪亿。Universe 包含基于瀏覽器的環(huán)境?,要求 agent 像人那樣去讀睬隶、瀏覽和使用互聯(lián)網(wǎng)——借助于像素锣夹、鍵盤和鼠標。
今天我們的agent 大多數(shù)學會去和常見的用戶接口元素苏潜,比如按鈕银萍、下拉列表和滑塊進行交互,但在未來他們可以完成復雜的任務恤左,比如說在互聯(lián)網(wǎng)上查找他們不知道的東西贴唇, 管理郵件或者日歷搀绣,完成可汗學院課程或者進行 Amazon Mechanical Turk 和 CrowdFlower 任務.

Mini World of Bits. 我們首先創(chuàng)建了一個新的基準測試集刻畫了瀏覽器交互的顯著挑戰(zhàn)。我們稱此為 Mini World of Bits戳气。我們將它看作MNIST的類比链患,并相信掌握好這些環(huán)境會給出有價值的信號給模型,而訓練技術(shù)會在整個網(wǎng)站或者更加復雜的任務上效果很好瓶您。目前初始的 Mini World of Bits benchmark 包含 80 個環(huán)境從簡單的(如點擊特定的按鈕)到困難的(如在一個模擬的郵件客戶端回復一個聯(lián)系人)麻捻。

Human demonstrators completing Mini World of Bits tasks.

Real-world browser tasks. 我們已經(jīng)在更加實際的瀏覽器任務進行探索。agent 獲得一個指令呀袱,在一個網(wǎng)站上執(zhí)行行動的序列贸毕。一個這樣的環(huán)境將給 agent 一個目標航班訂單的細節(jié),然后要求它操作用戶接口搜索這個航班(我們使用這些網(wǎng)站 cached 的記錄來避免被封殺或者直接購買真實的機票)

Human demonstrators completing a flight booking task on various websites given the instruction: "San Francisco to Boston, departing on 12/5 and returning on 12/10".

Future integrations

我們可以整合任何游戲夜赵、網(wǎng)站或者可以運行在一個 Docker 容器上或者說 Windows 虛擬機上的應用明棍。我們希望獲得社區(qū)的支持來持續(xù)擴展 Universe 環(huán)境,比如完成合作方的游戲整合寇僧,Android 應用(模擬器可以在 Docker 內(nèi)運行摊腋,fold.it,Unity 游戲嘁傀,HTML5 游戲兴蒸,在線教育游戲及其實人類所想到的任何事。

微軟 Project Malmo 團隊將會與 Universe 整合心包,我們期待支持更多其他的 AI 框架类咧。

Human demonstrators playing some games and applications from our partners.

運行一個環(huán)境

盡管差異性很大,但是運行 Universe 環(huán)境不需要太復雜的步驟蟹腾。你僅要安裝 Docker 和 Universe:

$ git clone https://github.com/openai/universe && pip install -e universe

我們將每個相似環(huán)境的集合打包進一個“runtime”痕惋,這是一個暴露兩個端口:5900(用于 VNC 協(xié)議交換像素/鍵盤/鼠標)和 15900(用于 WebSocket 控制協(xié)議)。例如娃殖,quay.io/openai/universe.flashgames Docker 鏡像就是一個 runtime 可以服務很多不同的 Flash 游戲環(huán)境值戳。

啟動一個 runtime 你可以用下面的命令啟動你的第一個 runtime:

# -p 5900:5900 and -p 15900:15900 expose the VNC and WebSocket ports
# --privileged/--cap-add/--ipc=host needed to make Selenium work
$ docker run --privileged --cap-add=SYS_ADMIN --ipc=host \
    -p 5900:5900 -p 15900:15900 quay.io/openai/universe.flashgames

這段命令會下載并運行 Flash 游戲 Docker 容器。你可以觀察和控制遠程桌面通過連接你自身的 VNC 觀察器到 5900 端口炉爆,比如 TurboVNC 或者基于瀏覽器的 VNC 客戶端端口是 15900 提供 web 服務堕虹。默認的密碼是 openai。OSX 同樣有一個原生 VNC 觀察器芬首,可以通過打開 vnc://localhost:5900 訪問赴捞。(不幸的是, OSX 觀察器并沒有實現(xiàn) Tight 編碼郁稍,而這是很多大型游戲的最佳選擇)

編寫自己的 agent 你可以很方便地寫出自己的 agent赦政,使用你習慣的框架比如說 Tensorflow 或者 Theano。(我們已經(jīng)給出了一個 TensorFlow 的agent.)在每個時間步,agent 的觀測包含一個 NumPy 的像素矩陣恢着,agent 必須釋放一個 VNC 事件列表(鼠標/鍵盤和行動)桐愉。例如,下面的 agent 會激活 Dusk Drive 并持續(xù)按下前進命令:

import gym
import universe # register Universe environments into Gym

env = gym.make('flashgames.DuskDrive-v0') # any Universe environment ID here
# If using docker-machine, replace "localhost" with your Docker IP
env.configure(remotes="vnc://localhost:5900+15900")
observation_n = env.reset()

while True:
  # agent which presses the Up arrow 60 times per second
  action_n = [[('KeyEvent', 'ArrowUp', True)] for _ in observation_n]
  observation_n, reward_n, done_n, info = env.step(action_n)
  env.render()

你可以保持自身 VNC 連接打開狀態(tài)掰派,并觀測 agent 玩游戲的情況从诲,甚至使用鍵盤和鼠標與 agent 以 co-op 模式共同游戲。

環(huán)境管理 由于環(huán)境運行為服務器進程靡羡,他們可以在遠程機器上運行系洛,可能是一個集群抑或甚至是一個公共的互聯(lián)網(wǎng)。我們將一些管理遠程 runtime 的方式記錄在這里略步。在 OpenAI碎罚,我們使用“allocator” HTTP 服務,在需要的 Kubernetes 集群上供給 runtime纳像,我們可以使用它來連接單個 agent 進程到數(shù)百個模擬環(huán)境上。


檢驗 Universe 基礎設施

展望

研究進程需要有意義的性能度量拯勉。在接下來的幾周里竟趾,我們會發(fā)布遷移學習基準測試集,讓大家可以確定自己真的在通用問題解決能力上取得了進步宫峦。

Universe 從計算機視覺的 ImageNet 數(shù)據(jù)集的歷史中獲得啟發(fā)岔帽。李飛飛和合作者們精心設計了 ImageNet 基準數(shù)據(jù)集,錯誤率從 2010 年的 28% 急劇下降到了 2016 年的 3%导绷,這達到了(在某種程度上甚至是超過了)人類水平犀勒。

如果 AI 社區(qū)用 Universe 達成了如上的成就,那么我們將會在面對普遍領(lǐng)域的通用智能系統(tǒng)研究開發(fā)上取得真正的進展妥曲。

Help us improve Universe

沒有社區(qū)的幫助 Universe 是不可能成功的贾费。有很多貢獻力量的方式(其中最偉大的方式就是加入我們

給于我們使用你的游戲、程序檐盟、網(wǎng)站或者 app 的權(quán)限

如果你的程序會產(chǎn)出好的 AI 訓練任務褂萧,那么我們很想要得到你的許可將其封裝進 Universe。好的候選是有一個屏幕上的數(shù)字(比如游戲的分數(shù))這可以被解析成一個獎勵葵萎,或者一個良定義的目標函數(shù)导犹,當然可以是原生的也可以是用戶自定義的。

在 Universe 任務上訓練 agent

AI 進步需要整個社區(qū)的合作羡忘,我們歡迎社區(qū)在這些任務上的 agent 訓練谎痢。我們已經(jīng)發(fā)布了一個 starter agent 可以作為構(gòu)建自身 agent 的起點。在接下來的幾周卷雕,我們會發(fā)布覺得可以作為開始時采用的細分基準測試集节猿。

整合新的環(huán)境(正在加入)

我們有很多超過自己處理能力的等待整合進 Universe 的環(huán)境。在后面爽蝴,我們會發(fā)布環(huán)境整合工具沐批,所以任何想要貢獻新的環(huán)境整合的朋友都可以來纫骑。同時,我們也將運行beta版本 供環(huán)境整合九孩。

貢獻展示(正在加入)

我們編譯了一個在 Universe 環(huán)境中人類展示大數(shù)據(jù)集先馆,這個會公開發(fā)布。如果你想要通過玩游戲參與來幫助科學研究躺彬,請在這里報名煤墙。


Credits

  • Acquisition & partnerships: Erin Pettigrew, Jack Clark, Jeff Arnold
  • Core infrastructure: Greg Brockman, Catherine Olsson, Alex Ray
  • Demonstrations: Tom Brown, Jeremy Schlatter, Marie La, Catherine Olsson
  • Distributed training infrastructure: Vicki Cheung, Greg Brockman, Jonas Schneider
  • Documentation & communications: Jack Clark, Andrej Karpathy, Catherine Olsson
  • Environment integrations: Alec Radford, Jonathan Gray, Tom Brown, Greg Brockman, Alex Ray, Catherine Olsson, Trevor Blackwell, Tambet Matiisen, Craig Quiter
  • Initial agent results: Rafal Jozefowicz, Dario Amodei, Ilya Sutskever, Jonathan Ho, Trevor Blackwell, Avital Oliver, Yaroslav Bulatov
  • Remote environment management: Vicki Cheung, Greg Brockman, Catherine Olsson, Jie Tang
  • RL baselines: Dario Amodei, Harri Edwards
  • Website: Ludwig Petterson, Jie Tang, Tom Brown, Alec Radford, Jonas Schneider, Szymon Sidor
  • World of Bits: Andrej Karpathy, Tianlin (Tim) Shi, Linxi (Jim) Fan, Jonathan Hernandez, Percy Liang

The following partners have been key to creating Universe: EA, Valve, Microsoft, NVIDIA, Kongregate, Newgrounds, Yacht Club Games, Zachtronics, Ludeon Studios, Monomi Park, 2D Boy, Adam Reagle, Alvin Team, Rockspro, Anubhav Sharma, Arkadium, Beast Games, Char Studio, Droqen, Percy Pea, deeperbeige, Denny Menato, Dig Your Own Grave, Free World Group, Gamesheep, Hamumu Software, Hemisphere Games, Icy Lime, Insane Hero, inRegular Games, JackSmack, Nocanwin, Joe Willmott, Johnny Two Shoes, The Gamest Studio, László Cziglédszky, Madalin Games, Martian Games, Mateusz Skutnik, Mikalay Radchuk, Neutronized, Nitrome, ooPixel, PacoGames, Pixelante, Plemsoft, Rob Donkin, robotJam, Rumble Sushi 3D, SFB Games, Simian Logic, Smiley Gamer, Sosker, tequibo, kometbomb, ThePodge, Vasco Freitas, Vitality Games, Wolve Games, Xform Games, XGen Studios

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市宪拥,隨后出現(xiàn)的幾起案子仿野,更是在濱河造成了極大的恐慌,老刑警劉巖她君,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脚作,死亡現(xiàn)場離奇詭異,居然都是意外死亡缔刹,警方通過查閱死者的電腦和手機球涛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來校镐,“玉大人亿扁,你說我怎么就攤上這事∧窭” “怎么了从祝?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長引谜。 經(jīng)常有香客問我牍陌,道長,這世上最難降的妖魔是什么煌张? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任呐赡,我火速辦了婚禮,結(jié)果婚禮上骏融,老公的妹妹穿的比我還像新娘链嘀。我一直安慰自己,他們只是感情好档玻,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布怀泊。 她就那樣靜靜地躺著,像睡著了一般误趴。 火紅的嫁衣襯著肌膚如雪霹琼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天,我揣著相機與錄音枣申,去河邊找鬼售葡。 笑死,一個胖子當著我的面吹牛忠藤,可吹牛的內(nèi)容都是我干的挟伙。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼模孩,長吁一口氣:“原來是場噩夢啊……” “哼尖阔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起榨咐,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤介却,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后块茁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體齿坷,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年数焊,在試婚紗的時候發(fā)現(xiàn)自己被綠了胃夏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡昌跌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出照雁,到底是詐尸還是另有隱情蚕愤,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布饺蚊,位于F島的核電站萍诱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏污呼。R本人自食惡果不足惜裕坊,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望燕酷。 院中可真熱鬧籍凝,春花似錦、人聲如沸苗缩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽酱讶。三九已至退盯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背渊迁。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工慰照, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人琉朽。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓毒租,卻偏偏與公主長得像,于是被迫代替她去往敵國和親漓骚。 傳聞我的和親對象是個殘疾皇子蝌衔,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

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