神經(jīng)網(wǎng)絡(luò)淺談

人工智能技術(shù)是當前炙手可熱的話題,而基于神經(jīng)網(wǎng)絡(luò)的深度學習技術(shù)更是熱點中的熱點。去年谷歌的Alpha Go 以4:1大比分的優(yōu)勢戰(zhàn)勝韓國的李世石九段冕象,展現(xiàn)了深度學習的強大威力荠诬,后續(xù)強化版的Alpha Master和無師自通的Alpha Zero更是在表現(xiàn)上完全碾壓前者。不論你怎么看焙蹭,以深度學習為代表的人工智能技術(shù)正在塑造未來晒杈。

下圖為英偉達(NVIDIA)公司近年來的股價情況, 該公司的主要產(chǎn)品是“圖形處理器”(GPU)孔厉,而GPU被證明能大大加快神經(jīng)網(wǎng)絡(luò)的訓練速度拯钻,是深度學習必不可少的計算組件。英偉達公司近年來股價的飛漲足以證明當前深度學習的井噴之勢撰豺。


英偉達近年的股票走勢

好粪般,話不多說,下面簡要介紹神經(jīng)網(wǎng)絡(luò)的基本原理污桦、發(fā)展脈絡(luò)和優(yōu)勢亩歹。

一、神經(jīng)網(wǎng)絡(luò)是什么

神經(jīng)網(wǎng)絡(luò)是一種人類由于受到生物神經(jīng)細胞結(jié)構(gòu)啟發(fā)而研究出的一種算法體系凡橱,是機器學習算法大類中的一種小作。首先讓我們來看人腦神經(jīng)元細胞:


神經(jīng)細胞

一個神經(jīng)元通常具有多個樹突 ,主要用來接受傳入信息梭纹,而軸突只有一條躲惰,軸突尾端有許多軸突末梢,可以給其他多個神經(jīng)元傳遞信息变抽。軸突末梢跟其他神經(jīng)元的樹突產(chǎn)生連接础拨,從而傳遞信號氮块。

下圖是一個經(jīng)典的神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN):


乍一看跟傳統(tǒng)互聯(lián)網(wǎng)的拓撲圖有點類似,這也是稱其為網(wǎng)絡(luò)的原因诡宗,不同的是節(jié)點之間通過有向線段連接滔蝉,并且節(jié)點被分成三層。我們稱圖中的圓圈為神經(jīng)元塔沃,左邊三個神經(jīng)元組成的一列為輸入層蝠引,中間神經(jīng)元列為隱藏層,右邊神經(jīng)元列為輸出層,神經(jīng)元之間的箭頭為權(quán)重蛀柴。

神經(jīng)元是計算單元螃概,相當于神經(jīng)元細胞的細胞核,利用輸入的數(shù)據(jù)進行計算鸽疾,然后輸出吊洼,一般由一個線性計算部分和一個非線性計算部分組成;輸入層和輸出層實現(xiàn)數(shù)據(jù)的輸入輸出制肮,相當于細胞的樹突和軸突末梢冒窍;隱藏層指既不是輸入也不是輸出的神經(jīng)元層,一個神經(jīng)網(wǎng)絡(luò)可以有很多個隱藏層豺鼻。

神經(jīng)網(wǎng)絡(luò)的關(guān)鍵不是圓圈代表的神經(jīng)元综液,而是每條連接線對應的權(quán)重。每條連接線對應一個權(quán)重儒飒,也就是一個參數(shù)谬莹。權(quán)重具體的值需要通過神經(jīng)網(wǎng)絡(luò)的訓練才能獲得。我們實際生活中的學習體現(xiàn)在大腦中就是一系列神經(jīng)網(wǎng)絡(luò)回路的建立與強化桩了,多次重復的學習能讓回路變得更加粗壯届良,使得信號的傳遞速度加快,最后對外表現(xiàn)為“深刻”的記憶圣猎。人工神經(jīng)網(wǎng)絡(luò)的訓練也借鑒于此士葫,如果某種映射關(guān)系出現(xiàn)很多次,那么在訓練過程中就相應調(diào)高其權(quán)重送悔。

二慢显、人工神經(jīng)網(wǎng)絡(luò)發(fā)展簡史

1)神經(jīng)元

1943年,心理學家McCulloch和數(shù)學家Pitts參考了生物神經(jīng)元的結(jié)構(gòu)欠啤,發(fā)表了抽象的神經(jīng)元模型MP:


符號化后的模型如下:


Sum函數(shù)計算各權(quán)重與輸入乘積的線性組合荚藻,是神經(jīng)元中的線性計算部分,而sgn是取符號函數(shù)洁段,當輸入大于0時应狱,輸出1,反之輸出0祠丝,是神經(jīng)元中的非線性部分疾呻。向量化后的公式為z=sgn(w^T a)(w^T=(w_1,w_2,w_3)除嘹,a=〖(a_1,a_2,a_3)〗^T)。

但是岸蜗,MP模型中尉咕,權(quán)重的值都是預先設(shè)置的,因此不能學習璃岳。該模型雖然簡單年缎,并且作用有限,但已經(jīng)建立了神經(jīng)網(wǎng)絡(luò)大廈的地基

2) 單層神經(jīng)網(wǎng)絡(luò)

1958年铃慷,計算科學家Rosenblatt提出了由兩層神經(jīng)元組成(一個輸入層单芜,一個輸出層)的神經(jīng)網(wǎng)絡(luò)。他給它起了一個名字–“感知器”(Perceptron)


感知器是當時首個可以學習的人工神經(jīng)網(wǎng)絡(luò)犁柜。Rosenblatt現(xiàn)場演示了其學習識別簡單圖像的過程缓溅,在當時引起了轟動,掀起了第一波神經(jīng)網(wǎng)絡(luò)的研究熱潮赁温。

但感知器只能做簡單的線性分類任務。1969年淤齐,人工智能領(lǐng)域的巨擘Minsky指出這點股囊,并同時指出感知器對XOR(異或,即兩個輸入相同時輸出0更啄,不同時輸出1)這樣的簡單邏輯都無法解決稚疹。所以,明斯基認為神經(jīng)網(wǎng)絡(luò)是沒有價值的祭务。

隨后内狗,神經(jīng)網(wǎng)絡(luò)的研究進入低谷,又稱 AI Winter义锥。

3) 兩層神經(jīng)網(wǎng)絡(luò)

Minsky說過單層神經(jīng)網(wǎng)絡(luò)無法解決異或問題柳沙,但是當增加一個計算層以后,兩層神經(jīng)網(wǎng)絡(luò)不僅可以解決異或問題拌倍,而且具有非常好的非線性分類效果赂鲤。

下圖為兩層神經(jīng)網(wǎng)絡(luò)(輸入層一般不算在內(nèi)):


上圖中,輸出層的輸入是上一層的輸出柱恤。

向量化后的公式為:


注意:

每個神經(jīng)元節(jié)點默認都有偏置變量b数初,加上偏置變量后的計算公式為:


同時,兩層神經(jīng)網(wǎng)絡(luò)不再使用sgn函數(shù)作為激勵函數(shù)梗顺,而采用平滑的sigmoid函數(shù):

σ(z)=1/(1+e^(-z) )

其圖像如下:


理論證明:兩層及以上的神經(jīng)網(wǎng)絡(luò)可以無限逼近真實的對應函數(shù)泡孩,從而模擬數(shù)據(jù)之間的真實關(guān)系,這是神經(jīng)網(wǎng)絡(luò)強大預測能力的根本寺谤。但兩層神經(jīng)網(wǎng)絡(luò)的計算量太大仑鸥,當時的計算機的計算能力完全跟不上吮播,直到1986年,Rumelhar和Hinton等人提出了反向傳播(Backpropagation锈候,BP)算法薄料,解決了兩層神經(jīng)網(wǎng)絡(luò)所需要的復雜計算量問題,帶動了業(yè)界使用兩層神經(jīng)網(wǎng)絡(luò)研究的熱潮泵琳。

但好景不長摄职,算法的改進僅使得神經(jīng)網(wǎng)絡(luò)風光了幾年,然而計算能力不夠获列,局部最優(yōu)解谷市,調(diào)參等一系列問題一直困擾研究人員。90年代中期击孩,由Vapnik等人發(fā)明的SVM(Support Vector Machines迫悠,支持向量機)算法誕生,很快就在若干個方面體現(xiàn)出了對比神經(jīng)網(wǎng)絡(luò)的優(yōu)勢:無需調(diào)參巩梢;高效创泄;全局最優(yōu)解。

由于以上原因括蝠,SVM迅速打敗了神經(jīng)網(wǎng)絡(luò)算法成為主流鞠抑。神經(jīng)網(wǎng)絡(luò)的研究再一次進入低谷,AI Winter again忌警。

4) 多層神經(jīng)網(wǎng)絡(luò)

多層神經(jīng)網(wǎng)絡(luò)一般指兩層或兩層以上的神經(jīng)網(wǎng)絡(luò)(不包括輸入層)搁拙,更多情況下指兩層以上的神經(jīng)網(wǎng)絡(luò)。

2006年法绵,Hinton提出使用 預訓練 ”(pre-training)和“微調(diào)”(fine-tuning)技術(shù)能優(yōu)化神經(jīng)網(wǎng)絡(luò)訓練箕速,大幅度減少訓練多層神經(jīng)網(wǎng)絡(luò)的時間

并且,他給多層神經(jīng)網(wǎng)絡(luò)相關(guān)的學習方法賦予了一個新名詞–“ 深度學習 ”朋譬,以此為起點盐茎,“深度學習”紀元開始了:)

“深度學習”一方面指神經(jīng)網(wǎng)絡(luò)的比較“深”,也就是層數(shù)較多徙赢;另一方面也可以指神經(jīng)網(wǎng)絡(luò)能學到很多深層次的東西庭呜。研究發(fā)現(xiàn),在權(quán)重參數(shù)不變的情況下犀忱,增加神經(jīng)網(wǎng)絡(luò)的層數(shù)募谎,能增強神經(jīng)網(wǎng)絡(luò)的表達能力。

但深度學習究竟有多強大呢阴汇?沒人知道数冬。2012年,Hinton與他的學生在ImageNet競賽中,用多層的卷積神經(jīng)網(wǎng)絡(luò)成功地對包含一千類別的一百萬張圖片進行了訓練拐纱,取得了分類錯誤率15%的好成績铜异,這個成績比第二名高了近11個百分點,充分證明了多層神經(jīng)網(wǎng)絡(luò)識別效果的優(yōu)越性秸架。

同時揍庄,科研人員發(fā)現(xiàn)GPU的大規(guī)模并行矩陣運算模式完美地契合神經(jīng)網(wǎng)絡(luò)訓練的需要,在同等情況下东抹,GPU的速度要比CPU快50-200倍蚂子,這使得神經(jīng)網(wǎng)絡(luò)的訓練時間大大減少,最終再一次掀起了神經(jīng)網(wǎng)絡(luò)研究的熱潮缭黔,并且一直持續(xù)到現(xiàn)在食茎。

2016年基于深度學習的Alpha Go在圍棋比賽中以4:1的大比分優(yōu)勢戰(zhàn)勝了李世石,深度學習的威力再一次震驚了世界馏谨。

5) 回顧

神經(jīng)網(wǎng)絡(luò)的發(fā)展歷史曲折蕩漾别渔,既有被捧上神壇的高潮,也有無人問津的低谷惧互,中間經(jīng)歷了數(shù)次大起大落哎媚,我們姑且稱之為“三起三落”吧,其背后則是算法的改進和計算能力的持續(xù)發(fā)展喊儡。

下圖展示了神經(jīng)網(wǎng)絡(luò)自發(fā)明以來的發(fā)展情況及一些重大時間節(jié)點拨与。


當然,對于神經(jīng)網(wǎng)絡(luò)我們也要保持清醒的頭腦管宵。由上圖,每次神經(jīng)網(wǎng)絡(luò)研究的興盛期持續(xù)10年左右攀甚,從最近2012年算起箩朴,或許10年后的2022年,神經(jīng)網(wǎng)絡(luò)的發(fā)展將再次遇到瓶頸秋度。

三炸庞、神經(jīng)網(wǎng)絡(luò)學習方法

神經(jīng)網(wǎng)絡(luò)作為機器學習的一種,其模型訓練的目的荚斯,就是使得參數(shù)盡可能的與真實的模型逼近埠居。理論證明,兩層及以上的神經(jīng)網(wǎng)絡(luò)可以無限逼近真實的映射函數(shù)事期。因此滥壕,給定足夠的訓練數(shù)據(jù)和訓練時間,總能通過神經(jīng)網(wǎng)絡(luò)找到無限逼近真實關(guān)系的模型兽泣。

具體做法:首先給所有權(quán)重參數(shù)賦上隨機值绎橘,然后使用這些隨機生成的參數(shù)值,來預測訓練數(shù)據(jù)中的樣本唠倦。假設(shè)樣本的預測目標為yp 称鳞,真實目標為y涮较,定義值loss,計算公式如下:

loss = (yp -y) ^2

這個值稱之為 損失 (loss)冈止,我們的目標就是使對所有訓練數(shù)據(jù)的損失和盡可能的小狂票,這就轉(zhuǎn)化為求loss函數(shù)極值的問題。

一個常用方法是高等數(shù)學中的求導熙暴,但由于參數(shù)不止一個闺属,求導后計算導數(shù)等于0的運算量很大,所以常用梯度下降算法來解決這樣的優(yōu)化問題怨咪。梯度是一個向量屋剑,由函數(shù)的各自變量的偏導數(shù)組成。

比如對二元函數(shù) f =(x,y)诗眨,則梯度?f=(?f/?x,?f/?y)唉匾。梯度的方向是函數(shù)值上升最快的方向。梯度下降算法每次計算參數(shù)在當前的梯度匠楚,然后讓參數(shù)向著梯度的反方向前進一段距離巍膘,不斷重復,直到梯度接近零時截止芋簿。一般這個時候峡懈,所有的參數(shù)恰好達到使損失函數(shù)達到一個最低值的狀態(tài)。下圖為梯度下降的大致運行過程:


在神經(jīng)網(wǎng)絡(luò)模型中与斤,由于結(jié)構(gòu)復雜肪康,每次計算梯度的代價很大。因此還需要使用 反向傳播 (Back Propagation)算法撩穿。反向傳播算法利用了神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進行計算磷支,不一次計算所有參數(shù)的梯度,而是從后往前食寡。首先計算輸出層的梯度雾狈,然后是第二個參數(shù)矩陣的梯度,接著是中間層的梯度抵皱,再然后是第一個參數(shù)矩陣的梯度善榛,最后是輸入層的梯度。計算結(jié)束以后呻畸,所要的兩個參數(shù)矩陣的梯度就都有了移盆。當然,梯度下降只是其中一個優(yōu)化算法伤为,其他的還有牛頓法味滞、RMSprop等。

確定loss函數(shù)的最小值后,我們就確定了整個神經(jīng)網(wǎng)絡(luò)的權(quán)重剑鞍,完成神經(jīng)網(wǎng)絡(luò)的訓練昨凡。

四、深度學習的優(yōu)勢

1) 多層神經(jīng)網(wǎng)絡(luò)的特點

在神經(jīng)網(wǎng)絡(luò)中一樣的參數(shù)數(shù)量蚁署,可以用更深的層次去表達便脊。


由上圖,不算上偏置參數(shù)的話光戈,共有三層神經(jīng)元哪痰,33個權(quán)重參數(shù)。


由下圖,保持權(quán)重參數(shù)不變,但增加了兩層神經(jīng)元缀遍。

在多層神經(jīng)網(wǎng)絡(luò)中,每一層的輸入是前一層的輸出肋演,相當于在前一層的基礎(chǔ)上學習,更深層次的神經(jīng)網(wǎng)絡(luò)意味著更深入的表示特征烂琴,以及更強的函數(shù)模擬能力爹殊。更深入的表示特征可以這樣理解,隨著網(wǎng)絡(luò)的層數(shù)增加奸绷,每一層對于前一層次的抽象表示更深入梗夸。


如上圖,第一個隱藏層學習到“邊緣”的特征号醉,第二個隱藏層學習到“邊緣”組成的“形狀”的特征反症,第三個隱藏層學習到由“形狀”組成的“圖案”的特征,最后的隱藏層學習到由“圖案”組成的“目標”的特征畔派。通過抽取更抽象的特征來對事物進行區(qū)分铅碍,從而獲得更好的區(qū)分與分類能力。

2) 處理線性不可分

前面提到父虑, 明斯基認為Rosenblatt提出的感知器模型不能處理最簡單的“異或”(XOR)非線性問題该酗,所以神經(jīng)網(wǎng)絡(luò)的研究沒有前途授药,但當增加一層神經(jīng)元后士嚎,異或問題得到了很好地解決,原因何在悔叽?原來從輸入層到隱藏層莱衩,數(shù)據(jù)發(fā)生了空間變換,坐標系發(fā)生了改變娇澎,因為矩陣運算本質(zhì)上就是一種空間變換笨蚁。

如下圖,紅色和藍色的分界線是最終的分類結(jié)果,可以看到括细,該分界線是一條非常平滑的曲線伪很。


但是,改變坐標系后奋单,分界線卻表現(xiàn)為直線锉试,如下圖:


同時,非線性激勵函數(shù)的引入使得神經(jīng)網(wǎng)絡(luò)對非線性問題的表達能力大大加強览濒。

3) 不用提取特征

對于傳統(tǒng)的樸素貝葉斯呆盖、決策樹、支持向量機SVM等分類器贷笛,提取特征是一個非常重要的前置工作应又。在正式訓練之前,需要花費大量的時間在數(shù)據(jù)的清洗上乏苦,這樣分類器才能清楚地知道數(shù)據(jù)的維度株扛,要不然基于概率和空間距離的線性分類器是沒辦法進行工作的。然而在神經(jīng)網(wǎng)絡(luò)中邑贴,由于巨量的線性分類器的堆疊(并行和串行)以及卷積神經(jīng)網(wǎng)絡(luò)的使用席里,它對噪聲的忍耐能力、對多通道數(shù)據(jù)上投射出來的不同特征偏向的敏感程度會自動重視或忽略拢驾,這樣我們在處理的時候奖磁,就不需要使用太多的技巧用于數(shù)據(jù)的清洗了。有趣的是繁疤,業(yè)內(nèi)大佬常感嘆咖为,“你可能知道SVM等機器學習的所有細節(jié),但是效果并不好稠腊,而神經(jīng)網(wǎng)絡(luò)更像是一個黑盒躁染,很難知道它究竟在做什么,但工作效果卻很好”架忌。

人類對機器學習的環(huán)節(jié)干預越少吞彤,就意味著距離人工智能的方向越近。神經(jīng)網(wǎng)絡(luò)的這個特性非常有吸引力叹放。

五饰恕、一些資料

1) 谷歌的TensorFlow開發(fā)了一個非常有意思的神經(jīng)網(wǎng)絡(luò)入門教程 ,用戶可以非常方便地在網(wǎng)頁上更改神經(jīng)網(wǎng)絡(luò)的參數(shù)井仰,并且能看到實時的學習效率和結(jié)果埋嵌,非常適合初學者掌握神經(jīng)網(wǎng)絡(luò)的基本概念及神經(jīng)網(wǎng)絡(luò)的原理。網(wǎng)頁截圖如下:


2) 深度學習領(lǐng)域大佬吳恩達不久前發(fā)布的《神經(jīng)網(wǎng)絡(luò)和深度學習 》MOOC俱恶,現(xiàn)在可以在網(wǎng)易云課堂上免費觀看了雹嗦,并且還有中文字幕范舀。

3) 《神經(jīng)網(wǎng)絡(luò)于深度學習》(Michael Nielsen著)、《白話深度學習與TensorFlow》也是不錯的入門書籍了罪。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锭环,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子泊藕,更是在濱河造成了極大的恐慌田藐,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吱七,死亡現(xiàn)場離奇詭異汽久,居然都是意外死亡,警方通過查閱死者的電腦和手機踊餐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門景醇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吝岭,你說我怎么就攤上這事三痰。” “怎么了窜管?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵散劫,是天一觀的道長。 經(jīng)常有香客問我幕帆,道長获搏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任失乾,我火速辦了婚禮常熙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘碱茁。我一直安慰自己裸卫,他們只是感情好,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布纽竣。 她就那樣靜靜地躺著墓贿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蜓氨。 梳的紋絲不亂的頭發(fā)上聋袋,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機與錄音语盈,去河邊找鬼舱馅。 笑死缰泡,一個胖子當著我的面吹牛刀荒,可吹牛的內(nèi)容都是我干的代嗤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼缠借,長吁一口氣:“原來是場噩夢啊……” “哼干毅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起泼返,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤硝逢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后绅喉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渠鸽,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年柴罐,在試婚紗的時候發(fā)現(xiàn)自己被綠了徽缚。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡革屠,死狀恐怖凿试,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情似芝,我是刑警寧澤那婉,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站党瓮,受9級特大地震影響详炬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜寞奸,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一痕寓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蝇闭,春花似錦呻率、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至逻悠,卻和暖如春元践,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背童谒。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工单旁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人饥伊。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓象浑,卻偏偏與公主長得像蔫饰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子愉豺,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

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

  • 26日篓吁,湖南宜章境內(nèi)一輛旅游大巴著火,至少35人遇難蚪拦,車上全部是耒陽人杖剪。當晚,湖南耒陽市民自發(fā)在市區(qū)舉行了燭光悼...
    笨浩閱讀 310評論 0 1
  • 書《雅舍談吃》 從個體生命的遷徙到食材的交流運輸驰贷,從烹調(diào)方法的演變到人生命運的流轉(zhuǎn)盛嘿,人和食物的匆匆腳步,從來不曾停...
    噠噠啊dada閱讀 523評論 0 0