第3章 3.2 循環(huán)神經(jīng)網(wǎng)絡(luò)_第1頁
第3章 3.2 循環(huán)神經(jīng)網(wǎng)絡(luò)_第2頁
第3章 3.2 循環(huán)神經(jīng)網(wǎng)絡(luò)_第3頁
第3章 3.2 循環(huán)神經(jīng)網(wǎng)絡(luò)_第4頁
第3章 3.2 循環(huán)神經(jīng)網(wǎng)絡(luò)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

循環(huán)神經(jīng)網(wǎng)絡(luò)循環(huán)神經(jīng)網(wǎng)絡(luò)循環(huán)神經(jīng)網(wǎng)絡(luò)是一類以序列數(shù)據(jù)為輸入,在序列的演進方向遞歸且所有節(jié)點(循環(huán)單元)按鏈式連接的遞歸神經(jīng)網(wǎng)絡(luò)(RecursiveNeuralNetwork)。對循環(huán)神經(jīng)網(wǎng)絡(luò)的研究始于20世紀80年代至90年代,并在21世紀初發(fā)展為深度學習算法之一,其中雙向長短時記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(Bi-directionalLSTMRNN)和長短時記憶(LongShort-TermMemory,LSTM)網(wǎng)絡(luò)是常用的循環(huán)神經(jīng)網(wǎng)絡(luò)。循環(huán)神經(jīng)網(wǎng)絡(luò)具有記憶性,因此在對序列的非線性特征進行學習時具有一定優(yōu)勢。循環(huán)神經(jīng)網(wǎng)絡(luò)被用于自然語言處理領(lǐng)域,如語音識別、語言建模、機器翻譯等,也被用于各類時間序列預(yù)報。引入卷積神經(jīng)網(wǎng)絡(luò)的循環(huán)神經(jīng)網(wǎng)絡(luò)可以處理包含序列輸入的計算機視覺問題。循環(huán)神經(jīng)網(wǎng)絡(luò)

循環(huán)神經(jīng)網(wǎng)絡(luò)

1基于循環(huán)神經(jīng)網(wǎng)絡(luò)和SelfAttention網(wǎng)絡(luò)的新聞?wù)诸悓嵗夸浹h(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層2循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層1.Embedding層在自然語言處理中,需要對文本中的每個單詞用一個向量進行編碼,即單詞向量化。一種常用的單詞向量化方法叫獨熱編碼,可以將單詞編碼成除了某個元素是1之外其他元素都是0的向量。例如,給定一個英文句子“Thecatjumpoverthedog”,該句子有5個不同的單詞,則可以將“the”編碼為[1,0,0,0,0]、將“cat”編碼為[0,1,0,0,0]、將“jump”編碼為[0,0,1,0,0]、將“over”編碼為[0,0,0,1,0]、將“dog”編碼為[0,0,0,0,1]。但是獨熱編碼有很多缺點:一是向量過于“稀疏”,每個向量都包含很多個0且只有一個1,浪費存儲空間;二是獨熱編碼向量不能表達單詞間的邏輯關(guān)系,不利于文本數(shù)據(jù)挖掘;三是當單詞總量擴大時,每個單詞向量都要重新修改。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層Embedding層將正整數(shù)(索引)轉(zhuǎn)換為固定大小的向量,該向量的每個元素是一個浮點數(shù)而不僅僅是0或1。一個獨熱編碼可以用一個正整數(shù)代替,因此Embedding層可以改正獨熱編碼的缺點。例如,將[[4],[20]]轉(zhuǎn)換為[[0.25,0.1],[0.6,-0.2]]。Embedding層只能用作網(wǎng)絡(luò)的第一層。輸入的大小為(batch_size,input_length),輸出的大小為(batch_size,input_length,output_dim)。Embedding類的語法格式如下。tf.keras.layers.Embedding(input_dim,output_dim,embeddings_initializer="uniform",embeddings_regularizer=None,activity_regularizer=None,embeddings_constraint=None,mask_zero=False,input_length=None,**kwargs)常用參數(shù)及其說明循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層參數(shù)名稱說明input_dim接收整數(shù),表示詞匯量,即最大整數(shù)索引加1,無默認值output_dim接收整數(shù),表示輸出單詞編碼的維度,無默認值embeddings_initializer接收函數(shù)句柄,表示初始化函數(shù),默認為"uniform"embeddings_regularizer接收函數(shù)句柄,表示正則化函數(shù),默認為Noneactivity_regularizer接收函數(shù)句柄,表示正則化激活函數(shù),默認為Noneembeddings_constraint接收函數(shù)句柄,表示約束函數(shù),默認為Nonemask_zero接收布爾值,表示是否排除0,默認為Falseinput_length接收整數(shù),表示輸入序列的長度,默認為NoneEmbedding類的用法如代碼所示fromkerasimportSequential,layersimportnumpyasnpmodel=Sequential()model.add(layers.Embedding(1000,64,input_length=10))input_array=np.random.randint(1000,size=(32,10))pile('rmsprop','mse')predict(input_array)在代碼中,Embedding層包含一個可訓練的矩陣,矩陣的行值為單詞數(shù)量1000,矩陣的列值為每個單詞的編碼長度64,即矩陣的一行對應(yīng)一個單詞的編碼向量。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層如果把單詞編號轉(zhuǎn)換成獨熱編碼向量(即構(gòu)造一個包含1000個元素的全0向量,然后把對應(yīng)編號處的元素設(shè)為1),則Embedding層的計算過程可表示如下。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層也就是說,設(shè)一個句子有10個單詞,每個單詞用長度為1000的向量進行獨熱編碼,形成一個10×1000的矩陣作為輸入,乘Embedding層中的1000×64的權(quán)重矩陣,得到一個10×64的輸出,即可把一個單詞由原來的1000維的獨熱編碼向量降維編碼成一個64維的普通向量。實際上,為了有效地計算,這種稀疏狀態(tài)下不會進行矩陣乘法計算。因為矩陣的計算結(jié)果實際上是矩陣對應(yīng)的向量中值為1的索引,這樣網(wǎng)絡(luò)中的Embedding層的權(quán)重矩陣便成了一個“查找表”,進行矩陣計算時,可以直接去查輸入向量中取值為1的維度下對應(yīng)的權(quán)重值。Embedding層的輸出就是每個輸入單詞的“嵌入詞向量”。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層2.

循環(huán)層SimpleRNN類用SimpleRNN類可以實現(xiàn)一個如圖3-18的循環(huán)層。SimpleRNN類的語法格式如下。keras.layers.SimpleRNN(units,activation='tanh',use_bias=True,kernel_initializer='glorot_unifom',recurrent_initializer='orthogonal',bias_initializer='zeros',kernel_regularizer=None,recurrent_regularizer=None,bias_regularizer=None,activity_regularizer=None,kernel_constraint=None,recurrent_constraint=None,bias_constraint=None,dropout=0.0,recurrent_dropout=0.0,return_sequences=False,return_state=False,go_backwards=False,stateful=False,unroll=False)參數(shù)名稱說明units接收正整數(shù),表示輸出空間的維度。無默認值activation接收要使用的激活函數(shù)(詳見activations)。tanh表示雙曲正切。如果傳入None,則不使用激活函數(shù)。默認為'tanh'return_sequences接收布爾值。為False時返回輸出序列中的最后一個輸出,否則返回全部序列。默認為Falsereturn_state接收布爾值,表示除了輸出之外是否返回最后一個狀態(tài)。默認為False常用參數(shù)及其說明循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層參數(shù)名稱說明go_backwards接收布爾值。如果為True,則向后處理輸入序列并返回相反的序列。默認為Falsestateful接收布爾值。如果為True,則批中索引為i的樣品的最后狀態(tài)將用作下一批中索引為i的樣品的初始狀態(tài)。默認為Falseunroll接收布爾值。如果為True,則網(wǎng)絡(luò)將展開,否則將使用符號循環(huán)。展開可以加快RNN的訓練速度,但這往往會占用更多的內(nèi)存。展開只適用于短序列。默認為False常用參數(shù)及其說明循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層SimpleRNN類的用法如代碼所示fromkerasimportSequential,layersimportnumpyasnpmodel=Sequential()model.add(layers.Embedding(1000,64,input_length=10))model.add(layers.SimpleRNN(128))model.summary()input_array=np.random.randint(1000,size=(32,10))output_array=model.predict(input_array)print(output_array.shape)fromkerasimportModel,Input循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層xin=Input((10,))x=layers.Embedding(1000,64)(xin)y1,y2=layers.SimpleRNN(128,return_sequences=True,return_state=True)(x)model2=Model(xin,[y1,y2])model2.summary()whole_sequence_output,final_state=model2.predict(input_array)print(whole_sequence_output.shape)print(final_state.shape)其中,Embedding層的權(quán)重矩陣有1000×64=64000個可訓練的參數(shù)。在SimpleRNN中,每個單詞的輸入維度為64,隱藏層有128個節(jié)點,然后直接經(jīng)過傳遞函數(shù)得到128維的輸出。因此,輸入層到隱藏層的權(quán)重矩陣有128×64=8192個可訓練的參數(shù),上一個時刻的隱藏層的輸出向量作為這一次的輸入的權(quán)重矩陣有128×128=16384個可訓練的參數(shù),偏置向量有128個可訓練的參數(shù)。所以SimpleRNN中一共有128×64+128×128+128=24704個可訓練的參數(shù)。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層LSTM類LSTM的全稱是LongShortTermMemory,顧名思義,它具有記憶長短期信息的能力的神經(jīng)網(wǎng)絡(luò)。LSTM類的語法格式如下,常用參數(shù)及其說明類似Embedding類。keras.layers.LSTM(units,activation='tanh',recurrent_activation='hard_sigmoid',use_bias=True,kernel_initializer='glorot_uniform',recurrent_initializer='orthogonal',bias_initializer='zeros',unit_forget_bias=True,kernel_regularizer=None,recurrent_regularizer=None,bias_regularizer=None,activity_regularizer=None,kernel_constraint=None,recurrent_constraint=None,bias_constraint=None,dropout=0.0,recurrent_dropout=0.0,implementation=1,return_sequences=False,return_state=False,go_backwards=False,stateful=False,unroll=False)SimpleRNN的記憶功能不夠強大,當輸入的數(shù)據(jù)序列比較長時,它無法將序列中之前獲取的信息有效地向下傳遞。LSTM網(wǎng)絡(luò)則能夠改正SimpleRNN的這個缺點。在Keras中,LSTM類和SimpleRNN類的用法完全一致,可以直接把tf.keras.layers.SimpleRNN替換為tf.keras.layers.LSTM。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層

循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層LSTM網(wǎng)絡(luò)內(nèi)部主要分為3個階段,首先是忘記階段,然后是選擇記憶階段,最后是輸出階段。①忘記階段。這個階段主要對上一個節(jié)點傳進來的輸入進行選擇性忘記,即將計算得到的(表示forget)作為忘記門控,以控制上一個狀態(tài)的有哪些數(shù)據(jù)需要留下來,哪些數(shù)據(jù)需要忘記。②選擇記憶階段。這個階段的輸入會被有選擇地進行“記憶”,主要是會對輸入進行選擇記憶。當前的輸入內(nèi)容由前面計算得到的表示,而選擇的門控信號則由(代表information)控制。將上面兩步得到的結(jié)果相加,即可得到傳輸給下一個狀態(tài)的。③輸出階段。這個階段將決定當前狀態(tài)的輸出值,主要是通過來進行控制的,并且還對上一階段得到的(0時刻的兩個輸出)進行了放縮操作。放縮操作通過tanh激活函數(shù)進行變化。與經(jīng)典RNN類似,輸出往往也是通過變化得到的。LSTM網(wǎng)絡(luò)通過門控狀態(tài)來控制傳輸狀態(tài),記住需要長時間記憶的信息,忘記不重要的信息;而不像普通的RNN那樣,只能夠“呆萌”地具有一種記憶疊加方式。但也因為LSTM網(wǎng)絡(luò)引入了很多內(nèi)容,導致參數(shù)變多,使得訓練難度加大了很多。因此很多時候會使用效果和LSTM網(wǎng)絡(luò)相當,但參數(shù)更少的門控循環(huán)單元(GatedRecurrentUnit,GRU)來構(gòu)建大訓練量的網(wǎng)絡(luò)。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層3.

注意力模型注意力模型(AttentionModel)被廣泛使用在自然語言處理、圖像識別及語音識別等各種類型的深度學習任務(wù)中,是深度學習技術(shù)中值得關(guān)注與深入了解的核心技術(shù)之一。無論是在圖像處理、語音識別還是自然語言處理等各種類型的任務(wù)中,都很容易遇到注意力模型。了解注意力模型的工作原理對于關(guān)注深度學習技術(shù)發(fā)展的技術(shù)人員來說有很大的必要。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層(1)人類的視覺注意力機制從注意力模型的命名來看,其借鑒了人類的注意力機制。這里先簡單介紹人類的視覺注意力機制。視覺注意力機制是人類視覺所特有的大腦信號處理機制。人類視覺通過快速掃描全局圖像,找到需要重點關(guān)注的目標區(qū)域,也就是一般所說的注意力機制焦點,而后對這一區(qū)域投入更多注意力機制資源,以獲取更多需要關(guān)注的目標的細節(jié)信息,而忽略其他無用信息。這是人類利用有限的注意力機制資源從大量信息中快速篩選出高價值信息的手段,是人類在長期進化中形成的一種生存機制。人類視覺注意力機制極大地提高了視覺信息處理的效率與準確性。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層(2)Encoder-Decoder框架要了解深度學習中的注意力模型,就要先了解Encoder-Decoder框架。目前大多數(shù)注意力模型都附著在Encoder-Decoder框架下。當然,其實注意力模型可以看作一種通用的思想,本身并不依賴于特定框架,這點需要注意。Encoder-Decoder框架可以看作深度學習領(lǐng)域的一種研究模式,其應(yīng)用場景異常廣泛。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層抽象的文本處理領(lǐng)域的Encoder-Decoder框架如下圖所示。

循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層

循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層抽象的文本處理領(lǐng)域的Encoder-Decoder框架不僅在文本領(lǐng)域廣泛使用,而且在語音識別、圖像處理等領(lǐng)域也經(jīng)常使用。對于語音識別來說,Encoder的輸入是語音流,Decoder的輸出是對應(yīng)的文本信息;對于圖像描述任務(wù)而言,Encoder的輸入是一張圖片,Decoder的輸出則是能夠描述圖片語義內(nèi)容的一句描述;如果Encoder的輸入是一句話,Decoder的輸出是一張圖片,則可以構(gòu)造智能繪圖的應(yīng)用;如果Encoder的輸入是一張有噪聲的圖片,Decoder的輸出是一張無噪聲的圖片,則可以用于圖像去噪;如果Encoder輸入的是一張黑白圖片,Decoder輸出的是一張彩色圖片,則可以用于黑白圖像上色。一般而言,文本處理和語音識別的Encoder通常采用RNN,圖像處理的Encoder一般采用CNN。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層

循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層

循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層(4)SelfAttention網(wǎng)絡(luò)SelfAttention(自注意力)網(wǎng)絡(luò)經(jīng)常被稱為IntraAttention(內(nèi)部注意力)網(wǎng)絡(luò),最近獲得了比較廣泛的使用。在一般任務(wù)的Encoder-Decoder框架中,輸入Source和輸出Target的內(nèi)容是不一樣的,如對于英-中機器翻譯而言,Source是英文句子,Target是翻譯出的中文句子,注意力機制出現(xiàn)在Target的元素和Source中的所有元素之間。而SelfAttention指的不是Target和Source之間的注意力機制,而是Source內(nèi)部元素之間或者Target內(nèi)部元素之間發(fā)生的注意力機制,也可以理解為在Target和Source相等這種特殊情況下的注意力計算機制。如果是常規(guī)的、Target不等于Source情況下的注意力計算,其數(shù)學意義正如上文Encoder-Decoder框架部分所講。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層可視化地表示SelfAttention在同一個英語句子內(nèi)的單詞間產(chǎn)生的聯(lián)系,如右圖所示。從圖中可以看出,翻譯“making”的時候會注意到“more”“difficult”,因為這兩者組成了一個常用的短語關(guān)系。采用SelfAttention不僅可以捕獲同一個句子中單詞之間的一些句法特征或者語義特征,在計算過程中還可以直接將句子中任意兩個單詞通過一個計算步驟直接聯(lián)系起來,所以遠距離的相互依賴的特征之間的距離被極大縮短,有利于有效地利用這些特征。RNN和LSTM網(wǎng)絡(luò)均需要按序列順序依次計算,對于遠距離的相互依賴的特征,要經(jīng)過若干時間序列的信息累積才能將兩者聯(lián)系起來,而距離越遠,有效捕獲的可能性越小。而引入SelfAttention后,捕獲句子中遠距離的相互依賴的特征就相對容易了。除此之外,SelfAttention對于增加計算的并行度也有直接幫助。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層

循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層

循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層(5)注意力模型的使用實例隨機構(gòu)造了n個句子,每個句子含有time_steps個單詞,每個單詞有input_dim維。第attention_column個單詞的編碼是全0或全1的向量,并和句子的類別(0或1)相同。對于所有的句子,大部分的注意力應(yīng)該集中在第attention_column個單詞,準確地預(yù)測出句子的類別。也就是說,注意力模型的權(quán)重在第attention_column個分量處應(yīng)該是顯著增大的。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層注意力模型的使用實例代碼如下所示。#注意力模型開始#(batch_size,time_steps,lstm_units)→(batch_size,lstm_units,time_steps)a=Permute((2,1))(lstm_out)#對最后一維進行全連接,參數(shù)數(shù)量:time_steps*time_steps+time_steps#相當于獲得每一個step中,每個lstm維度在所有step中的權(quán)重#(batch_size,lstm_units,time_steps)→(batch_size,lstm_units,time_steps)a=Dense(TIME_STEPS,activation='softmax')(a)#(batch_size,lstm_units,time_steps)→(batch_size,time_steps,lstm_units)a_probs=Permute((2,1),name='attention_vec')(a)#權(quán)重和輸入的對應(yīng)元素相乘,注意力模型加權(quán),lstm_out=lstm_out*a_probslstm_out=multiply([lstm_out,a_probs],name='attention_mul')#ATTENTIONPARTFINISHES--------------#(batch_size,time_steps,lstm_units)→(batch_size,time_steps*lstm_units)lstm_out_fla=Flatten()(lstm_out)output=Dense(1,activation='sigmoid')(lstm_out_fla)model=Model([inputs],output)pile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])model.summary()循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層在代碼中,注意力模型權(quán)重矩陣a_probs通過全連接層得到(全連接層中可訓練的權(quán)重數(shù)量為10×10+10=110個),即不同的句子、不同的單詞具有不同的注意力模型權(quán)重a_probs。對某一個句子,對應(yīng)有大小為time_steps×lstm_units的權(quán)重矩陣,該矩陣的每一列的和為1,即按lstm_units特征對所有的time_steps單詞進行加權(quán)。理想情況下,該矩陣編號為attention_column的列的值顯著地比其他列大。運行代碼可以得到的輸出如右圖所示,即加權(quán)系數(shù)a_probs在所有測試樣本和所有l(wèi)stm_units維數(shù)上的平均值??梢钥吹剑琣ttention_column=2的列的值顯著地比其他列的值大。也就是說,網(wǎng)絡(luò)成功注意到編號為2的單詞編碼是對分類有顯著影響的。循環(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層在MNIST手寫數(shù)字識別中使用注意力模型:將一個圖像樣本看成一個句子,圖像的每一行看成一個單詞,圖像的列數(shù)看成一個單詞的編碼維數(shù)。使用和代碼3-14相同的注意力模型,可以得到比單純使用全連接網(wǎng)絡(luò)更高的分類精度。由于圖像的行之間并沒有順序,可以使用雙向LSTM網(wǎng)絡(luò),將得到2倍的lstm_units維數(shù)的輸出。1基于循環(huán)神經(jīng)網(wǎng)絡(luò)和SelfAttention網(wǎng)絡(luò)的新聞?wù)诸悓嵗夸浹h(huán)神經(jīng)網(wǎng)絡(luò)中的常用網(wǎng)絡(luò)層2基于循環(huán)神經(jīng)網(wǎng)絡(luò)和SelfAttention網(wǎng)絡(luò)的新聞?wù)诸悓嵗?.2.1小節(jié)的Embedding層中,討論了單詞向量化的算法原理。要得到比較好的單詞向量,大約需要40億個文本數(shù)據(jù)的訓練數(shù)據(jù),然而通常很難獲得如此巨量的數(shù)據(jù)以及相應(yīng)的算力。斯坦福大學基于GloVe的向量化算法(Skip-Gram算法的變種),用維基百科中的所有文本數(shù)據(jù)訓練后得到了比較精準的單詞向量。在這個預(yù)先訓練好的GloVe單詞向量空間上,本小節(jié)使用循環(huán)神經(jīng)網(wǎng)絡(luò)來實現(xiàn)對新聞?wù)姆诸悾Ρ燃由蟂elfAttention網(wǎng)絡(luò)的結(jié)果?;谘h(huán)神經(jīng)網(wǎng)絡(luò)和SelfAt

溫馨提示

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

評論

0/150

提交評論