博士論文閱讀筆記


要特別注意論文里的符號(hào)表示,按照他的表述方式去理解。

Introduction

? 在貝葉斯機(jī)器學(xué)習(xí)中,我們是和不確定性和概率模型打交道。Gaussian processes(高斯過(guò)程)是一種概率模型,該模型在函數(shù)上定義概率分布,用于從觀測(cè)數(shù)據(jù)里概括出哪些是可能性大的,哪些是可能性小的。

?這個(gè)概率的觀點(diǎn)為數(shù)據(jù)分析和做決定(decision making)提供了置信區(qū)間。在數(shù)據(jù)分析和做決定時(shí),辨別一個(gè)模型是否對(duì)它的輸出有把握是很有必要的,我們可能會(huì)問(wèn):我們是否需要更多的數(shù)據(jù)?是否需要更改模型?是否在做決定時(shí)更加小心?這些問(wèn)題就是貝葉斯機(jī)器學(xué)習(xí)所關(guān)注的地方。

在深度學(xué)習(xí)里,我們只有對(duì)參數(shù)的點(diǎn)估計(jì)和預(yù)測(cè)。深度模型的使用,讓我們犧牲了回答以上問(wèn)題的工具,因而,我們很可能遇到這種情況:我們不能判定模型做出的預(yù)測(cè)是合理的,還是模型隨機(jī)猜的。


?大部分深度學(xué)習(xí)模型被認(rèn)為是確定性函數(shù),它和概率模型有很大不同,概率模型處理的是不確定性信息。基于這個(gè)原因,去觀察深度學(xué)習(xí)和概率模型之間有多緊密,是很令人驚訝的。事實(shí)上,我們能從現(xiàn)有的深度學(xué)習(xí)模型里免費(fèi)得到不確定信息。本篇論文為理解深度學(xué)習(xí)中的不確定性提供了實(shí)用的工具。

1.1?? 深度學(xué)習(xí)

-------------------------------------------------------------

sinusodial? 正弦的? ? ?? orthogonal? 正交的 ? ? ? ? terminology? (某學(xué)科的)術(shù)語(yǔ)? ? ? ? ?mathematical notation ? 數(shù)學(xué)符號(hào)

-------------------------------------------------------------

以linear regression為例,在線性回歸中,我們有N個(gè)輸入-輸出對(duì),{(x_{1} ,y_{1} ),...,(x_{N} ,y_{N} )},我們假設(shè)存在一個(gè)x_{i} y_{i} 線性函數(shù)映射(linear function mapping),我們的模型就是f(x)=xW+b.

當(dāng)x到y(tǒng)的映射是非線性的,我們希望得到一個(gè)非線性的函數(shù)f(x),那么就用到了linear basis function regression。

在這個(gè)回歸中,

于是得到一個(gè)特征向量

然后用這個(gè)特征向量去做線性回歸。

后面有大量的數(shù)學(xué)符號(hào),打在這上面十分不方便,就自己去看吧。


籠統(tǒng)地說(shuō),這里為我們提供了用數(shù)學(xué)的形式去看深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)和層。




模型的表達(dá)能力:

An intuitive definition for model expressiveness? might be the complexity of functions a model can capture。

模型的表達(dá)能力,直觀的定義就是一個(gè)模型能夠捕獲的函數(shù)的復(fù)雜性。

要捕獲一個(gè)階數(shù)達(dá)到(K-1)^L的多項(xiàng)式具有的復(fù)雜性,用"flat" model,需要K^L 個(gè)basis function,而用一個(gè)hierarchical model(比如神經(jīng)網(wǎng)絡(luò)),只需要K\times L個(gè)basis function。


基函數(shù)

這兒沒(méi)有理解,總感覺(jué)是之前見(jiàn)過(guò)的機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí),只不過(guò)這里作者換個(gè)表述方式,所以看不懂。


這里咋還用到RNN了呢,還說(shuō)在后面的3.4.2詳細(xì)介紹LSTM和GRU這兩個(gè)復(fù)雜的RNN模型。


1.2模型不確定性

? 這兒作者舉了個(gè)例子,有一個(gè)深度學(xué)習(xí)模型,它能對(duì)用戶輸入的寵物狗照片判斷狗的種類。這個(gè)模型是在不同種類的寵物狗的照片進(jìn)行訓(xùn)練的,若用戶輸入一張貓的圖片讓模型進(jìn)行預(yù)測(cè),它該怎么辦?

???? 這張貓的照片屬于out of distribution (就是和訓(xùn)練數(shù)據(jù)所屬的分布不一樣)的測(cè)試數(shù)據(jù),我們期望模型不僅輸出一個(gè)預(yù)測(cè),并且還輸出一個(gè)額外的信息來(lái)說(shuō)明這個(gè)輸入是out of distribution的,也即是說(shuō)模型表達(dá)出對(duì)這個(gè)輸入的高度不確定性,即模型對(duì)自己的輸出表示出一個(gè)很低的信心。

????? aleatoric uncertainty(偶然不確定性)是由noisy data 引起的。之前的人還把它稱為irreducible(不可簡(jiǎn)化的) uncertainty,因?yàn)榻o再多的數(shù)據(jù)也沒(méi)法減少它。本文中,作者則不認(rèn)同這一說(shuō)法,作者認(rèn)為提高測(cè)量精度是可以把它認(rèn)為是“reducible”(可以簡(jiǎn)化的)。作者還做實(shí)驗(yàn)說(shuō)明了。

注:作者提到的測(cè)量精度我猜測(cè)是做二氧化碳濃度實(shí)驗(yàn),搜集的二氧化碳濃度的數(shù)據(jù)的測(cè)量精度。


? ? epistemic uncertainty(認(rèn)知不確定性),又叫model uncertainty(模型不確定性),它包括uncertainty in model parameters(模型參數(shù)上不確定性)和structure uncertainty(結(jié)構(gòu)不確定性)。模型不確定性是reducible(可以簡(jiǎn)化的),也就是說(shuō),給出更多的數(shù)據(jù)時(shí),能夠減少它。

???? 存在很多模型可以解釋觀測(cè)數(shù)據(jù),我們選擇哪些模型參數(shù)呢?這就是在模型參數(shù)上的不確定性。

???? 我們選擇什么樣的模型結(jié)構(gòu)呢?這就是結(jié)構(gòu)不確定性。how do we specify our model to extrapolate / interpolate well?(這句話在提到結(jié)構(gòu)不確定性時(shí)說(shuō)的,我不明白什么意思)

? extrapolate?? v. 推斷; 推知; 外推

?? interpolate? v. 插話; 插嘴; (在文章中) 插入,添加內(nèi)容; 插值; 內(nèi)插


Aleatoric uncertainty and epistemic uncertainty can then be used to induce predictive uncertainty, the confidence we have in a prediction。

偶然不確定性和認(rèn)知不確定性能被用來(lái)構(gòu)成預(yù)測(cè)不確定性,預(yù)測(cè)不確定性就是我們對(duì)于一個(gè)預(yù)測(cè)的可信度。(是翻譯成置信度還是其他,我不確定)。


???? 對(duì)于out of distribution (就是和訓(xùn)練數(shù)據(jù)所屬的分布不一樣)的測(cè)試數(shù)據(jù),深度學(xué)習(xí)模型和概率模型的表現(xiàn)是不同的,深度學(xué)習(xí)模型只給出一個(gè)不合理的預(yù)測(cè)值,而概率模型不僅給出一個(gè)不合理的預(yù)測(cè)值,還給出額外的信息來(lái)說(shuō)明模型對(duì)于這個(gè)預(yù)測(cè)是不確定的。

如下圖所示:


圖1.2


? 不確定性信息常用于life science和entertaining case,對(duì)于醫(yī)生來(lái)說(shuō),不確定性信息也是非常重要的。Understanding if a model is underconfident or falsely over-confident (i.e. its uncertainty estimates are too small) can help get better performance out of it.

? 模型不確定性信息還可以運(yùn)用在在一些影響人類生活的決策系統(tǒng)中,比如接下來(lái)討論的醫(yī)生對(duì)病人的診斷,自動(dòng)工具(比如掃地機(jī)器人,無(wú)人駕駛汽車(chē)等),重要的系統(tǒng)以及高頻率的交易(Critical systems and high frequency trading)。


1.3模型不確定性和AI安全

? 把控制權(quán)交給自動(dòng)系統(tǒng),很可能對(duì)人類產(chǎn)生威脅。比如自動(dòng)決策,自動(dòng)駕駛,醫(yī)療領(lǐng)域的推薦系統(tǒng),經(jīng)濟(jì)領(lǐng)域的高頻率的交易,批評(píng)系統(tǒng)的控制。這些都可以納入AI安全的范圍。

?? 本文對(duì)AI安全一詞的解讀,與該領(lǐng)域?qū)λ慕庾x有很大不同,那些解讀主要是增強(qiáng)學(xué)習(xí)的背景下對(duì)該詞進(jìn)行解讀。

本文討論的情形是,通過(guò)監(jiān)督方式訓(xùn)練的模型,在做決定時(shí)把輸入錯(cuò)誤地映射到輸出時(shí),會(huì)對(duì)人們的生活產(chǎn)生威脅。在這些情境下,依賴不確定性來(lái)調(diào)整做決定的過(guò)程,可能會(huì)阻止我們不期待的那些情景的出現(xiàn)。

1.3.1醫(yī)生診斷病人

????? 內(nèi)科醫(yī)生在為病人開(kāi)藥時(shí)要看檢查結(jié)果,并且很大程度上依賴專家對(duì)這個(gè)檢查結(jié)果的confidence。而專家的判斷又受檢查系統(tǒng)的影響,檢查系統(tǒng)遇到一些out of distribution (就是和訓(xùn)練數(shù)據(jù)所屬的分布不一樣)的測(cè)試數(shù)據(jù)時(shí),會(huì)給出一些不合理的建議,從而對(duì)專家的判斷產(chǎn)生干擾。

?? 然而,基于模型的置信度(model confidence),當(dāng)模型完全是在隨機(jī)亂猜的時(shí)候,專家就會(huì)得到提示模型是在亂猜。


1.3.2自動(dòng)工具

????? 自動(dòng)系統(tǒng)能被分為兩大類,一類是依賴基于規(guī)則的系統(tǒng)來(lái)控制他們的行為,另一類是自己學(xué)習(xí)來(lái)使自己的行為適應(yīng)環(huán)境。這兩類系統(tǒng)都能用機(jī)器學(xué)習(xí)方法,第一類是通過(guò)低層次的使用機(jī)器學(xué)習(xí)算法來(lái)做特征提取,第二類則是通過(guò)增強(qiáng)學(xué)習(xí)。

?? 自動(dòng)駕駛汽車(chē)用低層次的特征提?。ū热鐖D片分割與圖片定位)來(lái)處理傳感器的輸入,然后把這些模型的輸出作為高層次的 decision making的輸入。高層次的 decision making能夠通過(guò)專家系統(tǒng)來(lái)實(shí)現(xiàn)。然而低層次的機(jī)器學(xué)習(xí)模塊發(fā)生的錯(cuò)誤能夠傳播到高層次的 decision making過(guò)程中,進(jìn)而產(chǎn)生災(zāi)難性的后果。作者舉了一個(gè)發(fā)生2016年5月自動(dòng)駕駛造成傷亡的的例子,系統(tǒng)沒(méi)法區(qū)別出一個(gè)正在轉(zhuǎn)彎的拖車(chē)的白色部分和晴朗的天空。

? 對(duì)此,我們可以在做高層次的decision making時(shí),利用低層次模塊的模型的置信度(model confidence)。


1.3.3重要的系統(tǒng)以及高頻率交易

? ? ? 一些重要系統(tǒng)的控制權(quán)正逐漸移交給機(jī)器學(xué)習(xí)系統(tǒng),比如郵局里自動(dòng)分揀郵件,核電站用一些系統(tǒng)控制那些重要的基礎(chǔ)設(shè)施,經(jīng)濟(jì)領(lǐng)域的那些高頻率的交易。在經(jīng)濟(jì)領(lǐng)域的這些高頻率交易,一旦出錯(cuò),會(huì)對(duì)經(jīng)濟(jì)市場(chǎng)帶來(lái)巨大的災(zāi)難。

??? 一個(gè)解決辦法是,當(dāng)用基于規(guī)則的? decision making系統(tǒng)時(shí),采取一個(gè)程序驗(yàn)證系統(tǒng),來(lái)驗(yàn)證程序是按照預(yù)定的路徑來(lái)跑的。但是基于機(jī)器學(xué)習(xí)的decision making系統(tǒng)沒(méi)法采取程序驗(yàn)證系統(tǒng)。

?? 當(dāng)模型置信度(model confidence)可用時(shí),可以把不確定性輸出作為特例。以重要的系統(tǒng)為例,當(dāng)模型對(duì)于輸出不確定時(shí),可以把模型的輸入交給人,讓人來(lái)做決定?;蛘?,人們可以采用一個(gè)簡(jiǎn)單并且快速的模型來(lái)做預(yù)測(cè),對(duì)于那些
簡(jiǎn)單模型不確定的輸入,采用一個(gè)更復(fù)雜但是比較慢的模型來(lái)做預(yù)測(cè)。

1.4模型不確定性的應(yīng)用

?????? 除了在AI安全上應(yīng)用模型不確定性,還可以把它應(yīng)用到很多方面,比如choosing what data to learn from或者 exploring an agent's environment efficiently.

??? ? ? 這兩個(gè)任務(wù)的共同點(diǎn)就是用模型不確定性來(lái)從small amounts of data(數(shù)據(jù)樣本比較少)中學(xué)習(xí),這對(duì)那些搜集數(shù)據(jù)比較耗時(shí)(比如需要多次重復(fù)實(shí)驗(yàn))且昂貴(比如需要專家對(duì)每個(gè)數(shù)據(jù)進(jìn)行標(biāo)記)的情況非常適合。

?????? 1.4.1Active learning(主動(dòng)學(xué)習(xí))

??????? 設(shè)計(jì)一個(gè)癌癥診斷系統(tǒng)來(lái)減輕醫(yī)生的工作量,該系統(tǒng)輸入核磁共振掃描圖像(MRI scans),輸出癌癥診斷的結(jié)果。但是要訓(xùn)練這個(gè)系統(tǒng),我們需要大量的帶標(biāo)記的MRI scans,而這個(gè)工作需要醫(yī)生去給MRI scans做注解,然后給其加上標(biāo)簽,表明該圖是患癌癥還是沒(méi)有患癌癥,但是專家的時(shí)間是非常昂貴的,并且獲得足夠數(shù)量的標(biāo)簽數(shù)據(jù)也是很難的。

????? 那么,我們?nèi)绾卧趲?biāo)簽的數(shù)據(jù)很少并且專家的知識(shí)很昂貴的情況下進(jìn)行學(xué)習(xí)?

???? 主動(dòng)學(xué)習(xí)可以解決這一問(wèn)題,主動(dòng)學(xué)習(xí)的模型可以自己選擇什么樣的無(wú)標(biāo)簽數(shù)據(jù)對(duì)于它來(lái)說(shuō)信息量最大,并且讓一個(gè)“oracle”(比如說(shuō)一個(gè)人工標(biāo)記者)僅對(duì)這些數(shù)據(jù)進(jìn)行標(biāo)記。

??? 選擇哪些數(shù)據(jù)點(diǎn)去進(jìn)行標(biāo)記是通過(guò)一個(gè)acquisition function(采集函數(shù))來(lái)實(shí)現(xiàn)的,該函數(shù)根據(jù)數(shù)據(jù)的潛在信息量對(duì)數(shù)據(jù)進(jìn)行排序?,F(xiàn)有的采集函數(shù)有很多,并且很多函數(shù)根據(jù)不帶標(biāo)簽的數(shù)據(jù)點(diǎn)的模型不確定性來(lái)判定它們的潛在信息量。

?????? 以前面提到的癌癥診斷系統(tǒng)為例,我們希望找到一個(gè)模型來(lái)對(duì)圖片數(shù)據(jù)產(chǎn)生好的不確定性估計(jì),并基于這些不確定性估計(jì)來(lái)設(shè)計(jì)一個(gè)好的acquisition function。深度學(xué)習(xí)為圖片處理提供了很多好用的工具,并且使得模型泛化能力良好,但是這基于大量的帶標(biāo)簽數(shù)據(jù),并且還沒(méi)有提供模型不確定性。

??? 本文對(duì)這些工具進(jìn)行了擴(kuò)展,使其能夠在小數(shù)據(jù)集上應(yīng)用,并且還提供了好的模型置信度(model confidence)。有了這些工具,本文在主動(dòng)學(xué)習(xí)中實(shí)現(xiàn)了本文提出的那些觀點(diǎn)(章節(jié)5.2)。

1.4.2 Efficient exploration in deep reinforcement learning(在強(qiáng)化學(xué)習(xí)中的有效探索)

?? 強(qiáng)化學(xué)習(xí)算法通過(guò)trial and error(試錯(cuò))來(lái)學(xué)習(xí)控制任務(wù),和一個(gè)小孩子學(xué)習(xí)騎自行車(chē)的過(guò)程非常像。每次嘗試都要耗費(fèi)時(shí)間和資源,故嘗試次數(shù)是有限的,這使得data efficiency變得非常重要。

??? 以掃地機(jī)器人(可看成是agent)為例,大致介紹了強(qiáng)化學(xué)習(xí),并指出強(qiáng)化學(xué)習(xí)需要在"探索"(“exploration”)和“利用”(exploitation)之間達(dá)到一個(gè)折中。(更多知識(shí)看西瓜書(shū)強(qiáng)化學(xué)習(xí)那一章,本文直接用這些概念了)。

注:在強(qiáng)化學(xué)習(xí)中,我們的目標(biāo)就是為了累積獎(jiǎng)賞最大化。那么在每次選擇動(dòng)作時(shí),agent會(huì)選擇在過(guò)去經(jīng)歷中它認(rèn)為獎(jiǎng)賞最大的動(dòng)作去執(zhí)行,這個(gè)可理解為“利用”,雖然有些動(dòng)作一開(kāi)始的獎(jiǎng)賞很小。但是也許在這個(gè)動(dòng)作的后面會(huì)有獎(jiǎng)賞很大的時(shí)候,所以agent需要去探索,探索那些獎(jiǎng)賞比較小的動(dòng)作,也許它后面的獎(jiǎng)賞會(huì)很大。


?深度強(qiáng)化學(xué)習(xí)用神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)Q值函數(shù)(我理解的是強(qiáng)化學(xué)習(xí)里的用于評(píng)估策略好壞的函數(shù),值函數(shù)可以理解成一個(gè)狀態(tài)s的平均reward)進(jìn)行近似。Epsilon 貪心搜索以一定的概率\epsilon 進(jìn)行探索,以1-\epsilon 的概率進(jìn)行利用(詳細(xì)內(nèi)容見(jiàn)西瓜書(shū)374頁(yè))。但是如果有了不確定性信息的話,那么agent(它是強(qiáng)化學(xué)習(xí)里的概念,博客上有人翻譯成“智能體”)就可以決定何時(shí)對(duì)環(huán)境進(jìn)行探索,何時(shí)進(jìn)行利用。

? 若對(duì)agent的Q value function進(jìn)行不確定性估計(jì),則一些技術(shù)(比如Thompson sampling)能被用來(lái)使學(xué)習(xí)策略的過(guò)程加快。關(guān)于這一點(diǎn),在章節(jié)5.3中會(huì)進(jìn)行說(shuō)明。

? 一種對(duì)data efficiency進(jìn)行大的改善的方法是modelling the system dynamics。A dynamics model allows the agent to generalise its knowledge about the system dynamics to other, unobserved, states.

?? Probabilistic dynamics models allow an agent to consider transition? uncertainty throughout planning and prediction, improving data efficiency even further。

PILCO是一個(gè)基于data-efficient概率model-based的策略搜索算法。

注:? (如果我們知道環(huán)境的一切,我們就說(shuō)這個(gè)環(huán)境是已知的,即model based。也就是說(shuō),在這種情況下,agent知道選擇一個(gè)動(dòng)作后,它的狀態(tài)轉(zhuǎn)移概率是怎樣的,獲得獎(jiǎng)賞是怎樣的。)

PILCO通過(guò)一個(gè)高斯過(guò)程(GP)動(dòng)態(tài)模型來(lái)傳播不確定狀態(tài)分布。傳播過(guò)程是通過(guò)遞歸地把一個(gè)時(shí)間步的輸出狀態(tài)分布(輸出不確定性)作為下一個(gè)時(shí)間步的輸入狀態(tài)分布(輸入不確定性),直到一個(gè)固定的時(shí)間horizon T。

This allows the agent to consider the long-term consequences (expected cumulative cost) of a particular controller parametrisation w.r.t. all plausible (可信的,有道理的)dynamics models.

PILCO依賴高斯過(guò)程,高斯過(guò)程對(duì)于小數(shù)量的低維數(shù)據(jù)效果很好,但是scale cubically with the number of trials.(和嘗試的數(shù)目呈現(xiàn)立方倍數(shù)的變化)。另外,PILCO的分布傳播過(guò)程中,給觀測(cè)空間維度加了個(gè)平方項(xiàng),因此很難把這個(gè)框架用到高維觀測(cè)空間里。因而,這讓那些需要很多嘗試的任務(wù)里使用PILCO變得困難。更重要的是,PILCO在連續(xù)狀態(tài)轉(zhuǎn)換之間的模型不確定性中不考慮時(shí)間相關(guān)性。這意味著,PIOCO在未來(lái)的時(shí)間步里低估了狀態(tài)不確定性,這會(huì)導(dǎo)致性能下降。

???? 在5.4部分,本文打算用貝葉斯深度動(dòng)態(tài)模型來(lái)替代PILCO的高斯過(guò)程,同時(shí)保留原有框架的概率本質(zhì)和data efficiency benefits。

1.5 Model uncertainty in deep learning

??????? Even though modern deep learning models used in practice do not capture model confidence, they are closely

related?? to a family of probabilistic models which induce probability distributions over functions: the Gaussian

process.

??????????? Given a? neural network, by placing a probability distribution over each weight (a standard normal distribution

for example), a??? Gaussian process can be recovered in the limit of infinitely many weights (see? Neal [1995] or

Williams [1997]). For a?? finite number of weights, model uncertainty can still be obtained by placing distributions over

the weights—these?? models are called Bayesian neural networks.

?? 高斯過(guò)程:現(xiàn)在的深度學(xué)習(xí)模型和一類概率模型家族緊密聯(lián)系,這類概率模型能夠帶來(lái)在函數(shù)上的概率分布,這就是高斯過(guò)程。

???? 對(duì)于權(quán)重?cái)?shù)目有限的網(wǎng)絡(luò),能夠通過(guò)在權(quán)重上建模分布(placing distributions over the weights)來(lái)獲得模型不確定性,這類模型叫做貝葉斯神經(jīng)網(wǎng)絡(luò)。

??????

One? requirement of such a tool would be to scale well to large data,

and scale well to complex models (such as CNNs and RNNs).

Much more important perhaps, it would be impractical to change existing model architectures

that have been well studied, and it is? often impractical to work with complex and cumbersome techniques

which are difficult? to explain to non-experts.

上面這一段講獲得模型不確定性的工具應(yīng)該具備哪些性質(zhì):


We will thus concentrate on the development of practical techniques to obtain model

confidence in deep learning, techniques which are also well rooted within the theoretical

foundations of probability theory and Bayesian modelling. Specifically, we will make use

of stochastic regularisation techniques (SRTs). SRTs are recently developed techniques

for model regularisation that have been tremendously successful within deep learning,

and are used in almost all modern deep learning models. These techniques adapt the

model output stochastically as a way of model regularisation (hence the name stochastic

regularisation). This results in the loss becoming a random quantity, which is optimised

using tools from the stochastic non-convex optimisation literature.

這一段講本文獲得模型置信度的技術(shù)的理論基礎(chǔ)是概率模型和貝葉斯建模。并且還用到了SRT(隨機(jī)正則化技術(shù))


不確定性計(jì)算公式
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容