《人工智能技術(shù)基礎(chǔ)》課件 第4章 循環(huán)神經(jīng)網(wǎng)絡(luò)_第1頁(yè)
《人工智能技術(shù)基礎(chǔ)》課件 第4章 循環(huán)神經(jīng)網(wǎng)絡(luò)_第2頁(yè)
《人工智能技術(shù)基礎(chǔ)》課件 第4章 循環(huán)神經(jīng)網(wǎng)絡(luò)_第3頁(yè)
《人工智能技術(shù)基礎(chǔ)》課件 第4章 循環(huán)神經(jīng)網(wǎng)絡(luò)_第4頁(yè)
《人工智能技術(shù)基礎(chǔ)》課件 第4章 循環(huán)神經(jīng)網(wǎng)絡(luò)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

人工智能技術(shù)基礎(chǔ)循環(huán)神經(jīng)網(wǎng)絡(luò)第四章

循環(huán)神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)是一類處理序列數(shù)據(jù)的人工神經(jīng)網(wǎng)絡(luò)。相較于卷積神經(jīng)網(wǎng)絡(luò)關(guān)注的是數(shù)據(jù)中的局部特征,循環(huán)神經(jīng)網(wǎng)絡(luò)關(guān)注的是序列數(shù)據(jù)中按照序列順序的前后依賴關(guān)系。它將先前數(shù)據(jù)的計(jì)算結(jié)果與之后的數(shù)據(jù)一同計(jì)算產(chǎn)生新的結(jié)果,如此循環(huán)往復(fù)。正是因?yàn)檠h(huán)網(wǎng)絡(luò)對(duì)于不同時(shí)間步的數(shù)據(jù)不是同時(shí)計(jì)算的,因而可以處理可變長(zhǎng)度的序列數(shù)據(jù),大大擴(kuò)大了應(yīng)用范圍。4循環(huán)神經(jīng)網(wǎng)絡(luò)簡(jiǎn)介1.了解RNN的基本知識(shí)和形式化的數(shù)學(xué)模型表示;2.掌握循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法;3.掌握標(biāo)準(zhǔn)RNN的前向計(jì)算和時(shí)間反向傳播計(jì)算過(guò)程;4.掌握幾種流行的RNN變體結(jié)構(gòu);5.了解RNN的應(yīng)用結(jié)構(gòu)。學(xué)習(xí)目標(biāo)4循環(huán)神經(jīng)網(wǎng)絡(luò)目錄Contents4.1循環(huán)神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法循環(huán)神經(jīng)網(wǎng)絡(luò)拓展模型循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用結(jié)構(gòu)小結(jié)4.24.34.44.501循環(huán)神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)4.1循環(huán)神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)1990年,JeffreyElman將多層前向神經(jīng)網(wǎng)絡(luò)隱層的輸出引回到輸入層作為聯(lián)系單元與原輸入層單元并列與隱層神經(jīng)元相連接,構(gòu)成描述動(dòng)態(tài)系統(tǒng)狀態(tài)的神經(jīng)網(wǎng)絡(luò)模型,當(dāng)時(shí)被稱為Elman網(wǎng),也被稱為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),主要用于動(dòng)態(tài)系統(tǒng)建模解決復(fù)雜系統(tǒng)預(yù)測(cè)預(yù)報(bào)問(wèn)題。1997年JürgenSchmidhuber將RNN中的簡(jiǎn)單常規(guī)神經(jīng)元替換成具有更多連接權(quán)值的復(fù)雜記憶單元,提出了長(zhǎng)短期記憶(LongShort-TermMemory,LSTM)模型,使RNN的能力大為提高。2003年YoshuaBengio把RNN用于解決傳統(tǒng)語(yǔ)言處理模型的“維度詛咒(CurseofDimensionality)”問(wèn)題,使其在自然語(yǔ)言處理中開(kāi)始應(yīng)用。2012年卷積神經(jīng)網(wǎng)絡(luò)在物體分類識(shí)別上的成功,使RNN返回研究人員的視野,已在機(jī)器翻譯、語(yǔ)音識(shí)別和個(gè)性化推薦等眾多領(lǐng)域效果顯著,成為解決與時(shí)序相關(guān)聯(lián)問(wèn)題的主要深度神經(jīng)網(wǎng)絡(luò)模型。4.1循環(huán)神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)RNN物理結(jié)構(gòu)圖RNN按時(shí)序展開(kāi)結(jié)構(gòu)圖4.1循環(huán)神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)從RNN按時(shí)序展開(kāi)的結(jié)構(gòu)可以看到,RNN在每一時(shí)刻都有外部輸入,反饋形成的環(huán)(回)路展開(kāi)后,上一時(shí)刻隱層的輸出與本時(shí)刻的外部輸入同時(shí)送入本時(shí)刻的隱層,展開(kāi)的網(wǎng)絡(luò)深度與輸入的時(shí)序數(shù)據(jù)的長(zhǎng)度一致,數(shù)據(jù)越長(zhǎng),網(wǎng)絡(luò)越深,因此RNN本質(zhì)上也是深度前向神經(jīng)網(wǎng)絡(luò)。RNN按時(shí)序展開(kāi)結(jié)構(gòu)不同于常規(guī)前向神經(jīng)網(wǎng)絡(luò),其各隱層的神經(jīng)元數(shù)量是相同的,且網(wǎng)絡(luò)各層中的輸入到隱層的連接權(quán)、隱層到隱層的反饋連接權(quán)和隱層到輸出層的連接權(quán)是全網(wǎng)絡(luò)共享不變的。需要注意的是RNN沒(méi)有強(qiáng)制要求輸入序列與輸出序列的長(zhǎng)度必須相等。RNN的數(shù)學(xué)模型如下:4.1循環(huán)神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)RNN中隱層神經(jīng)元激活函數(shù)通常采用tanh函數(shù),輸出神經(jīng)元的激活函數(shù)則依據(jù)所解決的問(wèn)題確定,如果是二分類問(wèn)題則使用Sigmoid函數(shù),如果是多分類問(wèn)題則使用Softmax函數(shù)。RNN計(jì)算單元02循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法4.2循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法

RNN可以使用誤差反向傳播算法的思想進(jìn)行訓(xùn)練。訓(xùn)練RNN的算法為通過(guò)時(shí)間反向傳播BPTT(BackPropagationThroughTime,BPTT)算法,它和傳統(tǒng)的反向傳播算法BP有類似之處,它們的核心任務(wù)都是利用反向傳播調(diào)整參數(shù),從而使得損失函數(shù)最小化。通過(guò)時(shí)間反向傳播算法,也包含前向計(jì)算和反向計(jì)算兩個(gè)步驟。4.2循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法標(biāo)準(zhǔn)結(jié)構(gòu)RNN的前向傳播過(guò)程,如下圖所示,為了有效區(qū)分不同類型的連接權(quán),分別用U、W、V代表輸入權(quán)、反饋權(quán)和輸出權(quán)。圖中各個(gè)符號(hào)的含義:x是輸入,h是隱層節(jié)點(diǎn),o為輸出,L為損失函數(shù),y為訓(xùn)練集的標(biāo)簽。這些元素右上角帶的t代表t時(shí)刻的狀態(tài),其中需要注意的是,因?yàn)閱卧猦在t時(shí)刻的表現(xiàn)不僅由此刻的輸入決定,還受t時(shí)刻之前時(shí)刻的影響。U、W、V是權(quán)值,同一類型的連接權(quán)值相同。4.2.1循環(huán)神經(jīng)網(wǎng)絡(luò)的前向輸出流程RNN的前向輸出流程4.2循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法BPTT算法是常用的訓(xùn)練RNN的方法,其實(shí)本質(zhì)還是BP算法,只不過(guò)RNN處理的是時(shí)間序列數(shù)據(jù),所以要基于時(shí)間反向傳播,故叫隨時(shí)間反向傳播。BPTT的中心思想和BP算法相同,沿著需要優(yōu)化參數(shù)的負(fù)梯度方向不斷尋找更優(yōu)的點(diǎn)直至收斂。因此,BPTT算法還是BP算法,本質(zhì)上還是梯度下降,那么求各個(gè)參數(shù)的梯度便成了此算法的核心。需要尋優(yōu)的參數(shù)有三個(gè),分別是U、W、V。與BP算法不同的是,三個(gè)參數(shù)的尋優(yōu)過(guò)程需要追溯之前的歷史數(shù)據(jù)。4.2.2循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法——隨時(shí)間反向傳播4.2循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法在梯度累乘過(guò)程中,如果取Sigmoid函數(shù)作為激活函數(shù)的話,那么必然是一堆小數(shù)在做乘法,結(jié)果就是越乘越小。隨著時(shí)間序列的不斷深入,小數(shù)的累乘就會(huì)導(dǎo)致梯度越來(lái)越小直到接近于0,這就是“梯度消失”現(xiàn)象。梯度消失就意味消失那一層的參數(shù)再也不更新,那么那一層隱層就變成了單純的映射層,毫無(wú)意義了,所以在深層神經(jīng)網(wǎng)絡(luò)中,有時(shí)候多增加層的神經(jīng)元數(shù)量可能會(huì)比多加層數(shù)即深度更好。RNN的特點(diǎn)就是能“追根溯源”利用歷史數(shù)據(jù),歷史數(shù)據(jù)越長(zhǎng)“梯度消失”越嚴(yán)重,因此解決“梯度消失”越是非常必要的。ReLU函數(shù)可以解決循環(huán)神經(jīng)網(wǎng)絡(luò)中的梯度消失問(wèn)題。4.2.3循環(huán)神經(jīng)網(wǎng)絡(luò)中梯度消失和爆炸問(wèn)題及解決方法1.梯度消失的原因與解決辦法4.2循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法4.2.3循環(huán)神經(jīng)網(wǎng)絡(luò)中梯度消失和爆炸問(wèn)題及解決方法1.梯度消失的原因與解決辦法Sigmoid函數(shù)及其導(dǎo)數(shù)圖tanh函數(shù)及其導(dǎo)數(shù)圖ReLU函數(shù)及其導(dǎo)數(shù)圖4.2循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法使用ReLU解決了RNN的“梯度消失”問(wèn)題,但也帶來(lái)了另一個(gè)問(wèn)題—“梯度爆炸”問(wèn)題。一旦激活函數(shù)的導(dǎo)數(shù)恒為1,由于網(wǎng)絡(luò)權(quán)W的取值無(wú)約束,連乘很容易使損失函數(shù)對(duì)連接權(quán)的偏導(dǎo)數(shù)越來(lái)越大(時(shí)序越長(zhǎng),RNN展開(kāi)結(jié)構(gòu)的隱層越多,乘積越大),導(dǎo)致“梯度爆炸”現(xiàn)象的發(fā)生。深度前向神經(jīng)網(wǎng)絡(luò)的激活函數(shù)采用ReLU同樣存在“梯度爆炸”問(wèn)題?!疤荻缺ā眴?wèn)題的解決比較簡(jiǎn)單,只需要給損失函數(shù)對(duì)三組連接權(quán)的梯度的絕對(duì)值設(shè)定合適的閾值,限制其最大值就可以解決這個(gè)問(wèn)題。對(duì)于“梯度消失”和“梯度爆炸”,通過(guò)采取將網(wǎng)絡(luò)初始權(quán)值設(shè)為接近0的非常小的數(shù)值,對(duì)網(wǎng)絡(luò)的輸入值做正則化或歸一化處理和對(duì)網(wǎng)絡(luò)隱層輸出做逐層正則化(LN)處理等措施,也可在網(wǎng)絡(luò)訓(xùn)練過(guò)程中有效減少這兩種現(xiàn)象的發(fā)生,提高網(wǎng)絡(luò)的訓(xùn)練效率。4.2.3循環(huán)神經(jīng)網(wǎng)絡(luò)中梯度消失和爆炸問(wèn)題及解決方法2.梯度爆炸的原因與解決辦法03循環(huán)神經(jīng)網(wǎng)絡(luò)拓展模型4.3循環(huán)神經(jīng)網(wǎng)絡(luò)拓展模型簡(jiǎn)單循環(huán)網(wǎng)絡(luò)是RNN的一種特殊情況,如圖所示,SRNN是一個(gè)三層網(wǎng)絡(luò),與傳統(tǒng)RNN網(wǎng)絡(luò)結(jié)構(gòu)相比,SRNN只是隱層神經(jīng)元自身有自反饋,這個(gè)反饋并不連接到其它隱層神經(jīng)元,相當(dāng)于只在隱層增加了上下文信息。SRNN在20世紀(jì)90年代被稱為對(duì)角回歸神經(jīng)網(wǎng)絡(luò)。圖中I1-In為網(wǎng)絡(luò)的輸入,Y1-Yn為網(wǎng)絡(luò)的隱層,M1-Mn為上下文單元。從圖中可以看出Y1-Yn與M1-Mn為一一對(duì)應(yīng)關(guān)系,即上下文單元節(jié)點(diǎn)與隱層中節(jié)點(diǎn)的連接是固定的,而且相應(yīng)的權(quán)值也是固定的。4.3.1簡(jiǎn)單循環(huán)網(wǎng)絡(luò)SRNN基本結(jié)構(gòu)4.3循環(huán)神經(jīng)網(wǎng)絡(luò)拓展模型在循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入和輸出目標(biāo)之間添加與輸入時(shí)序長(zhǎng)度相同的暫存單元,存儲(chǔ)所有隱層的輸出信息,并增加一個(gè)具有反饋連接的隱層,該隱層按輸入時(shí)序相反的方向順序接收信息,即首先接受時(shí)序輸入的最后一個(gè)信息,再接受倒數(shù)第二個(gè)信息,最后接受第一個(gè)信息,進(jìn)而將兩個(gè)信息流動(dòng)方向相反的隱層輸出同時(shí)送入網(wǎng)絡(luò)的輸出層神經(jīng)元中。按上述思想構(gòu)造的循環(huán)神經(jīng)網(wǎng)絡(luò)被稱為雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bi-directionalRecurrentNeuralNetwork,BRNN)。4.3.2雙向循環(huán)網(wǎng)絡(luò)BRNN雙向網(wǎng)絡(luò)基本結(jié)構(gòu)4.3循環(huán)神經(jīng)網(wǎng)絡(luò)拓展模型1997年JürgenSchmidhuber提出的長(zhǎng)短期記憶(LongShort-TermMemory,LSTM)模型,將RNN中的簡(jiǎn)單MP神經(jīng)元替換成具有更多連接權(quán)值的復(fù)雜記憶單元,使其記憶能力和處理復(fù)雜系統(tǒng)問(wèn)題的能力大大提高。LSTM是RNN的一種變體,它通過(guò)精妙的門(mén)控制將RNN中隱層的狀態(tài)信息(可以看做長(zhǎng)期記憶)和當(dāng)前時(shí)刻的輸入信息(可以看作短期記憶)結(jié)合起來(lái),有效地提高了RNN解決復(fù)雜問(wèn)題的能力。4.3.3長(zhǎng)短期記憶網(wǎng)絡(luò)長(zhǎng)短期記憶網(wǎng)絡(luò)基本結(jié)構(gòu)4.3循環(huán)神經(jīng)網(wǎng)絡(luò)拓展模型LSTM的關(guān)鍵就是細(xì)胞狀態(tài),水平線在圖上方貫穿運(yùn)行。細(xì)胞狀態(tài)類似于傳送帶,直接在整個(gè)鏈上運(yùn)行,只有一些少量的線性交互,信息在上面流傳保持不變會(huì)很容易。LSTM擁有三個(gè)門(mén),來(lái)保護(hù)和控制細(xì)胞狀態(tài),分別為遺忘門(mén)、輸入門(mén)、輸出門(mén)。4.3.3長(zhǎng)短期記憶網(wǎng)絡(luò)遺忘門(mén)輸入門(mén)輸出門(mén)4.3循環(huán)神經(jīng)網(wǎng)絡(luò)拓展模型門(mén)控循環(huán)單元(GatedRecurrentUnit,GRU)網(wǎng)絡(luò)是這些LSTM變體中影響最大的變體。它只有兩個(gè)門(mén),分別為更新門(mén)和重置門(mén),它將遺忘門(mén)和輸入門(mén)合成了一個(gè)單一的更新門(mén)。更新門(mén)用于控制前一時(shí)刻的狀態(tài)信息被帶入到當(dāng)前狀態(tài)中的程度,更新門(mén)的值越大說(shuō)明前一時(shí)刻的狀態(tài)信息帶入越多。重置門(mén)用于控制忽略前一時(shí)刻的狀態(tài)信息的程度,重置門(mén)的值越小說(shuō)明忽略得越多。4.3.4門(mén)控循環(huán)單元網(wǎng)絡(luò)GRU網(wǎng)絡(luò)基本結(jié)構(gòu)04循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用結(jié)構(gòu)循環(huán)神經(jīng)網(wǎng)絡(luò)本身的特性使其特別適合處理時(shí)序數(shù)據(jù),根據(jù)實(shí)際應(yīng)用場(chǎng)景的需要,RNN有四種常用的按時(shí)序展開(kāi)結(jié)構(gòu):同步的序列到序列結(jié)構(gòu)、序列分類結(jié)構(gòu)、向量到序列結(jié)構(gòu)、異步的序列到序列的模式。它們是針對(duì)不同類型的輸入輸出分別設(shè)計(jì)的。4.4循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用結(jié)構(gòu)N到N結(jié)構(gòu)又稱為變換器(Transducer),最經(jīng)典的RNN結(jié)構(gòu)要求輸入序列和輸出序列的長(zhǎng)度相同。如圖所示,損失函數(shù)L為每一時(shí)刻隱層節(jié)點(diǎn)的輸出o(t-l)與相應(yīng)時(shí)刻的期望輸出y(t)序列的差異;當(dāng)前時(shí)刻t的隱層節(jié)點(diǎn)h(t)輸入為上一時(shí)刻的隱層h(t-l)輸出和當(dāng)前時(shí)刻的序列輸入x(t),W為連接權(quán)重。雖然這種結(jié)構(gòu)要求輸入輸出序列長(zhǎng)度相同,但是輸入和輸出序列的長(zhǎng)度是可變的,這也正是RNN在處理序列數(shù)據(jù)時(shí)相對(duì)于CNN的優(yōu)勢(shì)。4.4循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用結(jié)構(gòu)4.4.1同步的序列到序列結(jié)構(gòu)(N到N)N到N的結(jié)構(gòu)N到N結(jié)構(gòu)的典型應(yīng)用如:計(jì)算視頻中每一幀的分類標(biāo)簽、詞性標(biāo)注、訓(xùn)練語(yǔ)言模型使用之前的詞預(yù)測(cè)下一個(gè)詞等。N到1結(jié)構(gòu)又稱為接受器(Acceptor),輸入x是一個(gè)時(shí)間序列,輸出o是一個(gè)單獨(dú)的值而不是時(shí)間序列,最后一個(gè)時(shí)間步的隱層節(jié)點(diǎn)輸出用于表示整個(gè)輸入序列x的特征,也可以用最后全部時(shí)間步的隱層節(jié)點(diǎn)輸出的某個(gè)函數(shù)值fo來(lái)表示序列x的特征。N到1結(jié)構(gòu)通常用來(lái)處理序列分類問(wèn)題,如一段語(yǔ)音、一段文字的類別,句子的情感分析,視頻序列的類別判斷等。4.4循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用結(jié)構(gòu)4.4.2序列分類結(jié)構(gòu)(N到1)N到1的結(jié)構(gòu)1到N結(jié)構(gòu)的網(wǎng)絡(luò)輸入為固定長(zhǎng)度的向量,而非上文中的按照時(shí)間展開(kāi)的向量序列。常用的1到N結(jié)構(gòu)中,有一種結(jié)構(gòu)只在序列開(kāi)始進(jìn)行輸入,而每一個(gè)時(shí)間步都有輸出。另一種為在隱層的每一個(gè)時(shí)間步都將x作為輸入。圖中當(dāng)前時(shí)間步的期望輸出也作為下一時(shí)間步的隱層節(jié)點(diǎn)輸入,是該結(jié)構(gòu)的另一種變體。1到N結(jié)構(gòu)常用于圖像理解。4.4循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用結(jié)構(gòu)4.4.3向量到序列結(jié)構(gòu)(1到N)1到N結(jié)構(gòu)首步輸入1到N結(jié)構(gòu)每步輸入N到M的結(jié)構(gòu)又叫編碼-譯碼(Encoder-Decoder)模型,也可稱之為Seq2Seq模型。N到N結(jié)構(gòu)的RNN要求輸入和輸出序列長(zhǎng)度相同,編碼-譯碼模型則不受此約束限制。用一個(gè)編碼網(wǎng)絡(luò)將輸入的序列編碼為一個(gè)上下文向量c。然后,用一個(gè)譯碼網(wǎng)絡(luò)對(duì)c進(jìn)行譯碼,將其變成輸出序列。N到M結(jié)構(gòu)實(shí)質(zhì)上使用了2個(gè)RNN,編碼器是一個(gè)N到1展開(kāi)結(jié)構(gòu)的RNN,譯碼器是一個(gè)1到M的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論