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

1戈次、神經(jīng)網(wǎng)絡(luò)

首先了解神經(jīng)網(wǎng)絡(luò)蔑歌,大家移步這倆篇博客碌上,一篇為純理論均芽,一篇為實(shí)戰(zhàn)加理論丘逸。

2、卷積神經(jīng)網(wǎng)絡(luò)之層級(jí)結(jié)構(gòu)

cs231n課程里給出了卷積神經(jīng)網(wǎng)絡(luò)各個(gè)層級(jí)結(jié)構(gòu)掀宋,如下圖

在這里插入圖片描述
上圖中CNN要做的事情是:給定一張圖片深纲,是車還是馬未知仲锄,是什么車也未知,現(xiàn)在需要模型判斷這張圖片里具體是一個(gè)什么東西湃鹊,總之輸出一個(gè)結(jié)果:如果是車 那是什么車
所以

  • 最左邊是數(shù)據(jù)輸入層儒喊,對(duì)數(shù)據(jù)做一些處理,比如去均值(把輸入數(shù)據(jù)各個(gè)維度都中心化為0币呵,避免數(shù)據(jù)過(guò)多偏差怀愧,影響訓(xùn)練效果)、歸一化(把所有的數(shù)據(jù)都?xì)w一到同樣的范圍)余赢、PCA/白化等等芯义。CNN只對(duì)訓(xùn)練集做“去均值”這一步。
    中間是
  • CONV:卷積計(jì)算層妻柒,線性乘積 求和扛拨。
  • RELU:激勵(lì)層,上文2.2節(jié)中有提到:ReLU是激活函數(shù)的一種
  • POOL:池化層举塔,簡(jiǎn)言之鬼癣,即取區(qū)域平均或最大
    最右邊是
  • FC:全連接層

這幾個(gè)部分中,卷積計(jì)算層是CNN的核心啤贩,下文將重點(diǎn)闡述。

3CNN之卷積計(jì)算層

3.1 CNN怎么進(jìn)行識(shí)別
簡(jiǎn)言之拜秧,當(dāng)我們給定一個(gè)"X"的圖案痹屹,計(jì)算機(jī)怎么識(shí)別這個(gè)圖案就是“X”呢?一個(gè)可能的辦法就是計(jì)算機(jī)存儲(chǔ)一張標(biāo)準(zhǔn)的“X”圖案枉氮,然后把需要識(shí)別的未知圖案跟標(biāo)準(zhǔn)"X"圖案進(jìn)行比對(duì)志衍,如果二者一致,則判定未知圖案即是一個(gè)"X"圖案聊替。

而且即便未知圖案可能有一些平移或稍稍變形楼肪,依然能辨別出它是一個(gè)X圖案。如此惹悄,CNN是把未知圖案和標(biāo)準(zhǔn)X圖案一個(gè)局部一個(gè)局部的對(duì)比春叫,如下圖所示


在這里插入圖片描述

而未知圖案的局部和標(biāo)準(zhǔn)X圖案的局部一個(gè)一個(gè)比對(duì)時(shí)的計(jì)算過(guò)程,便是卷積操作泣港。卷積計(jì)算結(jié)果為1表示匹配暂殖,否則不匹配。

具體而言当纱,為了確定一幅圖像是包含有"X"還是"O"呛每,相當(dāng)于我們需要判斷它是否含有"X"或者"O",并且假設(shè)必須兩者選其一坡氯,不是"X"就是"O"晨横。


在這里插入圖片描述

理想的情況就像下面這個(gè)樣子:


在這里插入圖片描述
標(biāo)準(zhǔn)的"X"和"O"洋腮,字母位于圖像的正中央,并且比例合適手形,無(wú)變形

對(duì)于計(jì)算機(jī)來(lái)說(shuō)啥供,只要圖像稍稍有一點(diǎn)變化,不是標(biāo)準(zhǔn)的叁幢,那么要解決這個(gè)問(wèn)題還是不是那么容易的:


在這里插入圖片描述

計(jì)算機(jī)要解決上面這個(gè)問(wèn)題滤灯,一個(gè)比較天真的做法就是先保存一張"X"和"O"的標(biāo)準(zhǔn)圖像(就像前面給出的例子),然后將其他的新給出的圖像來(lái)和這兩張標(biāo)準(zhǔn)圖像進(jìn)行對(duì)比曼玩,看看到底和哪一張圖更匹配鳞骤,就判斷為哪個(gè)字母。

但是這么做的話黍判,其實(shí)是非常不可靠的豫尽,因?yàn)橛?jì)算機(jī)還是比較死板的。在計(jì)算機(jī)的“視覺(jué)”中顷帖,一幅圖看起來(lái)就像是一個(gè)二維的像素?cái)?shù)組(可以想象成一個(gè)棋盤)美旧,每一個(gè)位置對(duì)應(yīng)一個(gè)數(shù)字。在我們這個(gè)例子當(dāng)中贬墩,像素值"1"代表白色榴嗅,像素值"-1"代表黑色。


在這里插入圖片描述

當(dāng)比較兩幅圖的時(shí)候陶舞,如果有任何一個(gè)像素值不匹配嗽测,那么這兩幅圖就不匹配,至少對(duì)于計(jì)算機(jī)來(lái)說(shuō)是這樣的肿孵。

對(duì)于這個(gè)例子唠粥,計(jì)算機(jī)認(rèn)為上述兩幅圖中的白色像素除了中間的3*3的小方格里面是相同的,其他四個(gè)角上都不同:


在這里插入圖片描述

因此停做,從表面上看晤愧,計(jì)算機(jī)判別右邊那幅圖不是"X",兩幅圖不同蛉腌,得出結(jié)論:


在這里插入圖片描述
但是這么做官份,顯得太不合理了。理想的情況下烙丛,我們希望贯吓,對(duì)于那些僅僅只是做了一些像平移,縮放蜀变,旋轉(zhuǎn)悄谐,微變形等簡(jiǎn)單變換的圖像,計(jì)算機(jī)仍然能夠識(shí)別出圖中的"X"和"O"库北。就像下面這些情況爬舰,我們希望計(jì)算機(jī)依然能夠很快并且很準(zhǔn)的識(shí)別出來(lái):
在這里插入圖片描述

這也就是CNN出現(xiàn)所要解決的問(wèn)題们陆。

Features


在這里插入圖片描述

對(duì)于CNN來(lái)說(shuō),它是一塊一塊地來(lái)進(jìn)行比對(duì)情屹。它拿來(lái)比對(duì)的這個(gè)“小塊”我們稱之為Features(特征)坪仇。在兩幅圖中大致相同的位置找到一些粗糙的特征進(jìn)行匹配,CNN能夠更好的看到兩幅圖的相似性垃你,相比起傳統(tǒng)的整幅圖逐一比對(duì)的方法椅文。

每一個(gè)feature就像是一個(gè)小圖(就是一個(gè)比較小的有值的二維數(shù)組)。不同的Feature匹配圖像中不同的特征惜颇。在字母"X"的例子中皆刺,那些由對(duì)角線和交叉線組成的features基本上能夠識(shí)別出大多數(shù)"X"所具有的重要特征。


在這里插入圖片描述

這些features很有可能就是匹配任何含有字母"X"的圖中字母X的四個(gè)角和它的中心凌摄。那么具體到底是怎么匹配的呢羡蛾?如下:


在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

看到這里是不是有了一點(diǎn)頭目呢。但其實(shí)這只是第一步锨亏,你知道了這些Features是怎么在原圖上面進(jìn)行匹配的痴怨。但是你還不知道在這里面究竟進(jìn)行的是怎樣的數(shù)學(xué)計(jì)算,比如這個(gè)下面3*3的小塊到底干了什么器予?


在這里插入圖片描述
這里面的數(shù)學(xué)操作浪藻,就是我們常說(shuō)的“卷積”操作。接下來(lái)乾翔,我們來(lái)了解下什么是卷積操作珠移。

3.2 什么是卷積
對(duì)圖像(不同的數(shù)據(jù)窗口數(shù)據(jù))和濾波矩陣(一組固定的權(quán)重:因?yàn)槊總€(gè)神經(jīng)元的多個(gè)權(quán)重固定,所以又可以看做一個(gè)恒定的濾波器filter)做內(nèi)積(逐個(gè)元素相乘再求和)的操作就是所謂的『卷積』操作末融,也是卷積神經(jīng)網(wǎng)絡(luò)的名字來(lái)源。

非嚴(yán)格意義上來(lái)講暇韧,下圖中紅框框起來(lái)的部分便可以理解為一個(gè)濾波器勾习,即帶著一組固定權(quán)重的神經(jīng)元。多個(gè)濾波器疊加便成了卷積層懈玻。

在這里插入圖片描述
OK巧婶,舉個(gè)具體的例子。比如下圖中涂乌,圖中左邊部分是原始輸入數(shù)據(jù)艺栈,圖中中間部分是濾波器filter,圖中右邊是輸出的新的二維數(shù)據(jù)湾盒。
在這里插入圖片描述
中間濾波器filter與數(shù)據(jù)窗口做內(nèi)積湿右,其具體計(jì)算過(guò)程則是:40 + 00 + 00 + 00 + 01 + 01 + 00 + 01 + -4*2 = -8

3.3 圖像上的卷積

在下圖對(duì)應(yīng)的計(jì)算過(guò)程中,輸入是一定區(qū)域大小(width*height)的數(shù)據(jù)罚勾,和濾波器filter(帶著一組固定權(quán)重的神經(jīng)元)做內(nèi)積后等到新的二維數(shù)據(jù)毅人。

具體來(lái)說(shuō)吭狡,左邊是圖像輸入,中間部分就是濾波器filter(帶著一組固定權(quán)重的神經(jīng)元)丈莺,不同的濾波器filter會(huì)得到不同的輸出數(shù)據(jù)划煮,比如顏色深淺、輪廓缔俄。相當(dāng)于如果想提取圖像的不同特征弛秋,則用不同的濾波器filter,提取想要的關(guān)于圖像的特定信息:顏色深淺或輪廓俐载。

如下圖所示

在這里插入圖片描述
3.4 GIF動(dòng)態(tài)卷積圖
在CNN中蟹略,濾波器filter(帶著一組固定權(quán)重的神經(jīng)元)對(duì)局部輸入數(shù)據(jù)進(jìn)行卷積計(jì)算。每計(jì)算完一個(gè)數(shù)據(jù)窗口內(nèi)的局部數(shù)據(jù)后瞎疼,數(shù)據(jù)窗口不斷平移滑動(dòng)科乎,直到計(jì)算完所有數(shù)據(jù)。這個(gè)過(guò)程中贼急,有這么幾個(gè)參數(shù):

  • a. 深度depth:神經(jīng)元個(gè)數(shù)茅茂,決定輸出的depth厚度。同時(shí)代表濾波器個(gè)數(shù)太抓。

  • b. 步長(zhǎng)stride:決定滑動(dòng)多少步可以到邊緣空闲。

  • c.填充值z(mì)ero-padding:在外圍邊緣補(bǔ)充若干圈0,方便從初始位置以步長(zhǎng)為單位可以剛好滑倒末尾位置走敌,通俗地講就是為了總長(zhǎng)能被步長(zhǎng)整除碴倾。

在這里插入圖片描述

cs231n課程中有一張卷積動(dòng)圖,貌似是用d3js 和一個(gè)util 畫(huà)的掉丽,我根據(jù)cs231n的卷積動(dòng)圖依次截取了18張圖跌榔,然后用一gif 制圖工具制作了一gif 動(dòng)態(tài)卷積圖。如下gif 圖所示


在這里插入圖片描述

可以看到:

  • 兩個(gè)神經(jīng)元捶障,即depth=2僧须,意味著有兩個(gè)濾波器。

  • 數(shù)據(jù)窗口每次移動(dòng)兩個(gè)步長(zhǎng)取3*3的局部數(shù)據(jù)项炼,即stride=2担平。

  • zero-padding=1。

    然后分別以兩個(gè)濾波器filter為軸滑動(dòng)數(shù)組進(jìn)行卷積計(jì)算锭部,得到兩組不同的結(jié)果暂论。

    如果初看上圖,可能不一定能立馬理解啥意思拌禾,但結(jié)合上文的內(nèi)容后取胎,理解這個(gè)動(dòng)圖已經(jīng)不是很困難的事情:

  • 左邊是輸入(773中,7*7代表圖像的像素/長(zhǎng)寬湃窍,3代表R扼菠、G摄杂、B 三個(gè)顏色通道)

  • 中間部分是兩個(gè)不同的濾波器Filter w0、Filter w1

  • 最右邊則是兩個(gè)不同的輸出

    隨著左邊數(shù)據(jù)窗口的平移滑動(dòng)循榆,濾波器Filter w0 / Filter w1對(duì)不同的局部數(shù)據(jù)進(jìn)行卷積計(jì)算析恢。

    值得一提的是:

  • 左邊數(shù)據(jù)在變化,每次濾波器都是針對(duì)某一局部的數(shù)據(jù)窗口進(jìn)行卷積秧饮,這就是所謂的CNN中的局部感知機(jī)制映挂。

  • 打個(gè)比方,濾波器就像一雙眼睛盗尸,人類視角有限柑船,一眼望去,只能看到這世界的局部泼各。如果一眼就看到全世界鞍时,你會(huì)累死,而且一下子接受全世界所有信息扣蜻,你大腦接收不過(guò)來(lái)逆巍。當(dāng)然,即便是看局部莽使,針對(duì)局部里的信息人類雙眼也是有偏重锐极、偏好的。比如看美女芳肌,對(duì)臉灵再、胸、腿是重點(diǎn)關(guān)注亿笤,所以這3個(gè)輸入的權(quán)重相對(duì)較大翎迁。

與此同時(shí),數(shù)據(jù)窗口滑動(dòng)净薛,導(dǎo)致輸入在變化汪榔,但中間濾波器Filter w0的權(quán)重(即每個(gè)神經(jīng)元連接數(shù)據(jù)窗口的權(quán)重)是固定不變的,這個(gè)權(quán)重不變即所謂的CNN中的參數(shù)(權(quán)重)共享機(jī)制罕拂。

  • 再打個(gè)比方,某人環(huán)游全世界全陨,所看到的信息在變爆班,但采集信息的雙眼不變。btw辱姨,不同人的雙眼 看同一個(gè)局部信息
    所感受到的不同柿菩,即一千個(gè)讀者有一千個(gè)哈姆雷特,所以不同的濾波器 就像不同的雙眼雨涛,不同的人有著不同的反饋結(jié)果枢舶。
  • 我第一次看到上面這個(gè)動(dòng)態(tài)圖的時(shí)候懦胞,只覺(jué)得很炫,另外就是據(jù)說(shuō)計(jì)算過(guò)程是“相乘后相加”凉泄,但到底具體是個(gè)怎么相乘后相加的計(jì)算過(guò)程
    則無(wú)法一眼看出躏尉,網(wǎng)上也沒(méi)有一目了然的計(jì)算過(guò)程。本文來(lái)細(xì)究下后众。

    首先胀糜,我們來(lái)分解下上述動(dòng)圖,如下圖


    在這里插入圖片描述

    接著蒂誉,我們細(xì)究下上圖的具體計(jì)算過(guò)程教藻。即上圖中的輸出結(jié)果1具體是怎么計(jì)算得到的呢?其實(shí)右锨,類似wx + b括堤,w對(duì)應(yīng)濾波器Filter w0,x對(duì)應(yīng)不同的數(shù)據(jù)窗口绍移,b對(duì)應(yīng)Bias b0悄窃,相當(dāng)于濾波器Filter w0與一個(gè)個(gè)數(shù)據(jù)窗口相乘再求和后,最后加上Bias b0得到輸出結(jié)果1登夫,如下過(guò)程所示:


    在這里插入圖片描述
    在這里插入圖片描述

    在這里插入圖片描述
    在這里插入圖片描述

    在這里插入圖片描述

    在這里插入圖片描述

    在這里插入圖片描述

    在這里插入圖片描述

    在這里插入圖片描述

    然后濾波器Filter w0固定不變广匙,數(shù)據(jù)窗口向右移動(dòng)2步,繼續(xù)做內(nèi)積計(jì)算恼策,得到0的輸出結(jié)果


    在這里插入圖片描述
    最后鸦致,換做另外一個(gè)不同的濾波器Filter w1、不同的偏置Bias b1涣楷,再跟圖中最左邊的數(shù)據(jù)窗口做卷積分唾,可得到另外一個(gè)不同的輸出。
    在這里插入圖片描述

4 CNN之激勵(lì)層狮斗,池化層绽乔,全連接層

4.1 ReLU激勵(lì)層
第一節(jié)倆篇博客介紹了激活函數(shù)sigmoid,但實(shí)際梯度下降中碳褒,sigmoid容易飽和折砸、造成終止梯度傳遞,且沒(méi)有0中心化沙峻。咋辦呢睦授,可以嘗試另外一個(gè)激活函數(shù):ReLU,其圖形表示如下

在這里插入圖片描述
對(duì)于輸入的負(fù)值摔寨,輸出全為0去枷,對(duì)于正值,原樣輸出。

下面我們看一下本文的離例子中relu激活函數(shù)具體操作:

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

最后删顶,我們將上面所提到的卷積竖螃,池化,激活放在一起逗余,就是下面這個(gè)樣子:
在這里插入圖片描述
然后特咆,我們加大網(wǎng)絡(luò)的深度,增加更多的層猎荠,就得到深度神經(jīng)網(wǎng)絡(luò)了:
在這里插入圖片描述

4.2 池化pool層
前頭說(shuō)了坚弱,池化,簡(jiǎn)言之关摇,即取區(qū)域平均或最大荒叶,如下圖所示(圖引自cs231n)
CNN中使用的另一個(gè)有效的工具被稱為“池化(Pooling)”。池化可以將一幅大的圖像縮小输虱,同時(shí)又保留其中的重要信息些楣。池化背后的數(shù)學(xué)頂多也就是小學(xué)二年級(jí)水平。它就是將輸入圖像進(jìn)行縮小宪睹,減少像素信息愁茁,只保留重要信息。通常情況下亭病,池化都是22大小鹅很,比如對(duì)于max-pooling來(lái)說(shuō),就是取輸入圖像中22大小的塊中的最大值罪帖,作為結(jié)果的像素值促煮,相當(dāng)于將原始圖像縮小了4倍。(注:同理整袁,對(duì)于average-pooling來(lái)說(shuō)菠齿,就是取2*2大小塊的平均值作為結(jié)果的像素值。)

在這里插入圖片描述

上圖所展示的是取區(qū)域最大坐昙,即上圖左邊部分中 左上角2x2的矩陣中6最大绳匀,右上角2x2的矩陣中8最大,左下角2x2的矩陣中3最大炸客,右下角2x2的矩陣中4最大疾棵,所以得到上圖右邊部分的結(jié)果:6 8 3 4。很簡(jiǎn)單不是痹仙?

4.3全連接層(Fully connected layers)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

根據(jù)結(jié)果判定為"X":


在這里插入圖片描述
在這個(gè)過(guò)程中是尔,我們定義這一系列操作為”全連接層“(Fully connected layers):
在這里插入圖片描述
全連接層也能夠有很多個(gè),如下:
在這里插入圖片描述
在這里插入圖片描述

【綜合上述所有結(jié)構(gòu)】


在這里插入圖片描述

5 綜合演練

參數(shù)
f:過(guò)濾器大小
s:步長(zhǎng)

在這里插入圖片描述

在這里插入圖片描述

6 注:

本博客參考自:
v_JULY_v
吳恩達(dá)卷積神經(jīng)網(wǎng)絡(luò)
zhwhong

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蝶溶,一起剝皮案震驚了整個(gè)濱河市嗜历,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抖所,老刑警劉巖梨州,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異田轧,居然都是意外死亡暴匠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門傻粘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)每窖,“玉大人,你說(shuō)我怎么就攤上這事弦悉≈系洌” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵稽莉,是天一觀的道長(zhǎng)瀑志。 經(jīng)常有香客問(wèn)我,道長(zhǎng)污秆,這世上最難降的妖魔是什么劈猪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮良拼,結(jié)果婚禮上战得,老公的妹妹穿的比我還像新娘。我一直安慰自己庸推,他們只是感情好常侦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著予弧,像睡著了一般刮吧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掖蛤,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天杀捻,我揣著相機(jī)與錄音,去河邊找鬼蚓庭。 笑死致讥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的器赞。 我是一名探鬼主播垢袱,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼港柜!你這毒婦竟也來(lái)了请契?” 一聲冷哼從身側(cè)響起咳榜,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎爽锥,沒(méi)想到半個(gè)月后涌韩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡氯夷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年臣樱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腮考。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雇毫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出踩蔚,到底是詐尸還是另有隱情棚放,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布馅闽,位于F島的核電站席吴,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏捞蛋。R本人自食惡果不足惜孝冒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拟杉。 院中可真熱鬧庄涡,春花似錦、人聲如沸搬设。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拿穴。三九已至泣洞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間默色,已是汗流浹背球凰。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留腿宰,地道東北人呕诉。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像吃度,于是被迫代替她去往敵國(guó)和親甩挫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348