《深度學習技術(shù)應用》課件 項目二 TensorFlow實現(xiàn)文本分類_第1頁
《深度學習技術(shù)應用》課件 項目二 TensorFlow實現(xiàn)文本分類_第2頁
《深度學習技術(shù)應用》課件 項目二 TensorFlow實現(xiàn)文本分類_第3頁
《深度學習技術(shù)應用》課件 項目二 TensorFlow實現(xiàn)文本分類_第4頁
《深度學習技術(shù)應用》課件 項目二 TensorFlow實現(xiàn)文本分類_第5頁
已閱讀5頁,還剩107頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目二TensorFlow實現(xiàn)文本分類深度學習應用技術(shù)項目引導案例

情感分析是種有趣的自然語言處理應用,對文本數(shù)據(jù)中包含的情緒進行解析和分類,衡量人們的觀點傾向。

例如被用來分析觀眾對電影的評論或由該電影引起的情緒狀態(tài),又例如將在線客戶對產(chǎn)品或服務的反饋按照正面或負面的體驗進行分類。項目引導案例自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類01使用評論文本將影評分為積極(positive)或消極(nagetive)兩類,也就是文本的情感分析使用Kears和TensorflowHub對電影評論進行文本分類02使用Keras構(gòu)建模型進行文本分類,TensorFlowHub模型訓練過程,用評估模型準確率的方法并進行預測思考一下,大家知道自然語言處理還應用在哪些方面嗎?項目引導案例自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類任務一職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務一自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類了解自然語言處理發(fā)展史,技術(shù),應用研究;理解文本分類概念、分類輸入數(shù)據(jù)、文本分類過程相關(guān)知識;理解情感分析概念、層次及方法。能夠?qū)隝MDB數(shù)據(jù)集并瀏覽數(shù)據(jù)能夠?qū)ξ谋具M行數(shù)據(jù)預處理能夠使用嵌入(Embedding)方法構(gòu)建簡單的文本分類模型能夠?qū)M行文本分類模型訓練并對模型進行評估職業(yè)能力目標01知識目標技能目標職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務一自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類

了解自然語言處理的相關(guān)知識,構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,利用下載的IMDB數(shù)據(jù)集進行模型訓練和模型評估。任務描述任務要求下載IMDB數(shù)據(jù)集并對其進行預處理;構(gòu)建神經(jīng)網(wǎng)絡(luò)模型;完成模型訓練;繪制損失值圖表和準確率圖表。任務描述與要求02職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務一自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類任務分析自然語言處理技術(shù)是怎么做情感分析?想一想如何自定義神經(jīng)網(wǎng)絡(luò)?任務分析與計劃03任務計劃表通過上面的思考,你是否對本任務要完成的工作有所了解?讓我們一起來制訂完成本次任務的實施計劃吧!任務分析與計劃03項目名稱TensorFlow實現(xiàn)文本分類任務名稱自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類計劃方式自主設(shè)計計劃要求請用8個計劃步驟來完整描述出如何完成本次任務序號任務計劃1

2

3

4

5

6

78職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務一自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類文本分類204知識儲備自然語言處理1情感分析3自然語言處理04自然語言處理(NaturalLanguageProcessing,NLP)是計算機科學領(lǐng)域與人工智能領(lǐng)域中的一個重要方向。它研究能實現(xiàn)人與計算機之間用自然語言進行有效通信的各種理論和方法。自然語言處理主要應用于機器翻譯、輿情監(jiān)測、自動摘要、觀點提取、文本分類、問題回答、文本語義對比、語音識別、中文OCR等方面。自然語言處理發(fā)展史04第一階段第二階段第三階段③統(tǒng)計自然語言處理(90年代開始):基于統(tǒng)計的機器學習開始流行,很多NLP開始用基于統(tǒng)計的方法來做。①早期自然語言處理(60~80年代):基于規(guī)則來建立詞匯、句法語義分析、問答、聊天和機器翻譯系統(tǒng)。②神經(jīng)網(wǎng)絡(luò)自然語言處理(2008年之后):深度學習開始在語音和圖像發(fā)揮威力?;趥鹘y(tǒng)機器學習的自然語言處理技術(shù)04

自然語言處理可將處理任務進行分類,形成多個子任務,傳統(tǒng)的機械學習方法可利用SVM(支持向量機模型)、Markov(馬爾科夫模型)、CRF(條件隨機場模型)等方法對自然語言中多個子任務進行處理,進一步提高處理結(jié)果的精度基于傳統(tǒng)機器學習的自然語言處理技術(shù)04模型的性能過于依賴訓練集的質(zhì)量,需要人工標注訓練集,降低了訓練效率不足1傳統(tǒng)機器學習模型中的訓練集在不同領(lǐng)域應用會出現(xiàn)差異較大的應用效果,削弱了訓練的適用性,暴露出學習方法單一的弊端不足2無法人工標注出更抽象、更高階的自然語言特征,使得傳統(tǒng)機器學習只能學習預先制定的規(guī)則,而不能學規(guī)則之外的復雜語言特征不足3基于深度學習的自然語言處理技術(shù)04

深度學習是機器學習的一大分支,在自然語言處理中需應用深度學習模型,如卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等,通過對生成的詞向量進行學習,以完成自然語言分類、理解的過程。04能夠以詞或句子的向量化為前提,不斷學習語言特征,掌握更高層次、更加抽象的語言特征,滿足大量特征工程的自然語言處理要求優(yōu)勢1深度學習無需專家人工定義訓練集,可通過神經(jīng)網(wǎng)絡(luò)自動學習高層次特征。優(yōu)勢2基于深度學習的自然語言處理技術(shù)詞法分析基于大數(shù)據(jù)和用戶行為的分詞后,對詞性進行標注、命名實體識別,消除歧義。應用場景:各大手機廠商語音助手。文本分類對文章按照內(nèi)容類型(體育、教育、財經(jīng)、社會、軍事等等)進行自動分類,為文章聚類、文本內(nèi)容分析等應用提供基礎(chǔ)支持。應用場景:垃圾過濾,新聞分類,詞性標注等。文本糾錯識別文本中有錯誤的片段,進行錯誤提示并給出正確的建議文本內(nèi)容。應用場景:寫作類平臺。

情感分析能夠?qū)ξ谋拘畔⑦M行“情感”上的正向、負向及中性進行評價。應用場景:評論分析與決策。應用研究0404知識儲備文本分類2自然語言處理112情感分析3文本分類(textclassification),指的是將一個文檔歸類到一個或多個類別中的自然語言處理任務。應用場景非常廣泛,涵蓋垃圾郵件過濾、垃圾評論過濾、自動標簽、情感分析等任何需要自動歸檔文本的場合。文本的類別有時又稱作標簽,所有類別組成了標注集,文本分類輸出結(jié)果一定屬于標注集。文本分類是一個典型的監(jiān)督學習任務,其流程離不開人工指導:人工標注文檔的類別,利用語料訓練模型,利用模型預測文檔的類別。文本分類04分類輸入數(shù)據(jù)0401

02分類數(shù)據(jù)通過稀疏張量(sparsetensors)表示最有效,稀疏張量是具有非常少的非零元素的張量。分類數(shù)據(jù)是指表示來自有限選擇集的一個或多個離散項的輸入特征。例如,它可以是用戶觀看的電影集,文檔中的單詞集或人的職業(yè)。分類輸入數(shù)據(jù)04構(gòu)建電影推薦模型,可以為每個可能的電影分配一個唯一的ID,通過用戶觀看過的電影的稀疏張量來表示每個用戶。矩陣的每一行是捕獲用戶的電影觀看歷史的示例,被表示為稀疏張量,因為每個用戶僅觀看所有可能電影的一小部分。最后一行對應于稀疏張量[1,3,999999],使用電影圖標上方顯示的詞索引。04文本分類過程特征抽取語料預處理索引詞頻統(tǒng)計分類器訓練測試結(jié)果評價04知識儲備文本分類2自然語言處理112情感分析3情感分析04文本情感分析又稱意見挖掘、傾向性分析等。簡單而言,是對帶有情感色彩的主觀性文本進行分析、處理、歸納和推理的過程。文本情感分析指的是提取文本中的主觀信息的一種NLP任務,目標通常是找出文本對應的正負情感態(tài)度。情感分析可以在實體、句子、段落乃至文檔上進行。情感分析04

文本情感分析的基本流程如下圖所示,包括從原始文本爬取,文本預處理,語料庫和情感詞庫構(gòu)建,以及情感分析結(jié)果等全流程。04情感分析層次A篇章級別的情感分類是指定一個整體的情緒方向/極性,即確定該文章是否傳達總體正面或負面的意見。04情感分析層次B句子級。由于句子的情感分析離不開構(gòu)成句子的詞語的情感,其方法劃分為三大類:其一,基于知識庫的分析方法;其二,基于網(wǎng)絡(luò)的分析方法;其三,基于語料庫的分析方法。04情感分析層次C詞語級的情感是句子或篇章級情感分析的基礎(chǔ)。其方法主要可歸納為三類其一,基于詞典的分析方法;其二,基于網(wǎng)絡(luò)的分析方法;其三,基于語料庫的分析方法。情感分析方法04(1)基于情感詞典的方法先對文本進行分詞和停用詞處理等預處理,再利用先構(gòu)建好的情感詞典,對文本進行字符串匹配,從而挖掘正面和負面信息。該方法依賴于情感詞典的構(gòu)建和判斷規(guī)則質(zhì)量,而這兩者都需要耗費很多人力,包括人工設(shè)計和先驗知識。情感分析方法04(2)基于機器學習的方法其流程如下:首先人工標注文本傾向性作為訓練集,提取文本情感特征,通過機器學習的方法構(gòu)造情感分類器,通過分類器進行傾向性分類。該方法的模型訓練依賴于標注數(shù)據(jù)集的質(zhì)量,高質(zhì)量的數(shù)據(jù)集需要投入大量人工成本。需要高質(zhì)量的特征構(gòu)造和選取。情感分析方法04(3)基于深度學習的方法該方法避免人工提取特征的工作,通過Word2Vec模擬詞語之間聯(lián)系,有局部特征抽象畫以及記憶功能,在情感分類中具有極大優(yōu)勢。主要分為兩個步驟:評論語料表達為語義詞向量;通過不同語義合成方法用詞向量,得到對應句子或文檔的特征表達式,最后通過深度神經(jīng)網(wǎng)絡(luò)進行分類。三種情感分析方法對比04職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務一自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類數(shù)據(jù)集準備204環(huán)境配置1模型構(gòu)建3模型評估5任務實施模型訓練4環(huán)境配置05導入并導入Tensorflow1.安裝并導入安裝包Windows系統(tǒng)安裝:pipinstallLinux系統(tǒng)安裝:sudopipinstall數(shù)據(jù)集準備204環(huán)境配置1模型構(gòu)建3模型評估5任務實施模型訓練4數(shù)據(jù)集準備05數(shù)據(jù)下載1.IMDB數(shù)據(jù)集下載IMDB數(shù)據(jù)集打包在Tensorflow中。已經(jīng)過預處理,評論(單詞序列)已經(jīng)被轉(zhuǎn)換為整數(shù)序列,其中每個整數(shù)表示字典中的特定單詞。參數(shù)num_words=10000保留了訓練數(shù)據(jù)中最常出現(xiàn)的10,000個單詞。為了保持數(shù)據(jù)規(guī)模的可管理性,低頻詞將被丟棄。數(shù)據(jù)集準備05數(shù)據(jù)格式了解2.數(shù)據(jù)格式了解該數(shù)據(jù)集中每個樣本都是一個表示影評中詞匯的整數(shù)數(shù)組。每個標簽都是一個值為0或1的整數(shù)值,其中0代表消極評論,1代表積極評論。數(shù)據(jù)集準備05整數(shù)轉(zhuǎn)換回單詞3.整數(shù)轉(zhuǎn)換回單詞下載映射單詞到整數(shù)索引的詞典。使用decode_review函數(shù)來轉(zhuǎn)換單詞數(shù)據(jù)集準備05整數(shù)數(shù)組必須在輸入神經(jīng)網(wǎng)絡(luò)之前轉(zhuǎn)換為張量。這種轉(zhuǎn)換可以通過以下兩種方式來完成:4.數(shù)據(jù)處理(1)將數(shù)組轉(zhuǎn)換為表示單詞出現(xiàn)與否的由0和1組成的向量,類似于one-hot編碼。(2)填充數(shù)組來保證輸入數(shù)據(jù)具有相同的長度,然后創(chuàng)建一個大小為max_length*num_reviews的整型張量。數(shù)據(jù)集準備05用pad_sequences函數(shù)來使長度標準化keras.preprocessing.sequence.pad_sequences(sequences,maxlen=None,padding='pre',value=0):?sequences:浮點數(shù)或整數(shù)構(gòu)成的兩層嵌套列表。?maxlen:None或整數(shù),為序列的最大長度。大于此長度的序列將被截短,小于此長度的序列將在后部填0。?padding:pre或post,確定當需要補0時,在序列的起始還是結(jié)尾補(默認為pre)。?value:浮點數(shù),此值將在填充時代替默認的填充值0。數(shù)據(jù)集準備204環(huán)境配置1模型構(gòu)建3模型評估5任務實施模型訓練4模型構(gòu)建05神經(jīng)網(wǎng)絡(luò)由堆疊的層來構(gòu)建,這需要從兩個主要方面來進行體系結(jié)構(gòu)決策:1.構(gòu)建分類器?模型里有多少層?每個層里有多少隱層單元(hiddenunits)模型構(gòu)建05層按順序堆疊以構(gòu)建分類器:第一層是嵌入層,該層采用整數(shù)編碼的詞匯表,并查找每個詞索引的嵌入向量。向量輸出數(shù)組增加了一個維度,得到的維度為:(batch,sequence,embedding)。接下來,全局池化層1D將通過對序列維度求平均值,來為每個樣本返回一個定長輸出向量。這允許模型以盡可能最簡單的方式處理變長輸入。該定長輸出向量通過一個有16個隱層單元的全連接層傳輸。最后一層與單個輸出結(jié)點密集連接,使用Sigmoid激活函數(shù),其函數(shù)值為介于0與1之間的浮點數(shù),表示概率或置信度。模型構(gòu)建05一個模型需要損失函數(shù)和優(yōu)化器來進行訓練2.配置優(yōu)化器和損失函數(shù)二分類問題且模型輸出概率值(一個使用sigmoid激活函數(shù)的單一單元層),使用binary_crossentropy損失函數(shù)。這不是損失函數(shù)的唯一選擇,例如,可以選擇mean_squared_error。但通常binary_crossentropy更適合處理概率,它能夠度量概率分布之間的“距離”。數(shù)據(jù)集準備05tf.keras.Mpile(optimizer,loss,metrics)optimizer:模型訓練使用的優(yōu)化器,可以從tf.keras.optimizers中選擇。loss:模型優(yōu)化時使用的損失值類型,可以從tf.keras.losses中選擇。metrics:訓練過程中返回的矩陣評估指標,可以從tf.keras.metrics中選擇。數(shù)據(jù)集準備204環(huán)境配置1模型構(gòu)建3模型評估5任務實施模型訓練4模型訓練05在訓練時,檢查模型在未見過的數(shù)據(jù)上的準確率(accuracy)1.創(chuàng)建驗證集通過從原始訓練數(shù)據(jù)中分離10,000個樣本來創(chuàng)建一個驗證集。為什么現(xiàn)在不使用測試集?我們的目標是只使用訓練數(shù)據(jù)來開發(fā)和調(diào)整模型,然后只使用一次測試數(shù)據(jù)來評估準確率(accuracy))模型訓練05以512個樣本的mini-batch大小迭代40個epoch來訓練模型2.訓練模型對partial_x_trai和partial_y_trainn張量中所有樣本的的40次迭代。在訓練過程中,監(jiān)測來自驗證集的10,000個樣本上的損失值(loss)和準確率(accuracy)數(shù)據(jù)集準備05tf.keras.Model.fit(x,y,batch_size,epochs,validation_data)?x:訓練集數(shù)組。?y:訓練集標簽數(shù)組。?batch_size:批處理數(shù)量。?epochs:迭代次數(shù)。?validation_data:驗證集數(shù)組。數(shù)據(jù)集準備204環(huán)境配置1模型搭建3模型評估5任務實施模型訓練4模型評估05計算準確率1.計算準確率model.fit()返回一個History對象,該對象包含一個字典,其中包含訓練階段所發(fā)生的一切事件:模型評估05繪制損失值圖標2.繪制損失值圖標數(shù)據(jù)集準備05tf.keras.Mpile(optimizer,loss,metrics)?plt.plot(x,y,style,label):根據(jù)數(shù)據(jù)畫圖。

x:橫坐標對應數(shù)值。

y:縱坐標對應數(shù)值。

style:繪圖風格。

label:標簽名。?plt.xlabel:給橫坐標命名。?plt.ylabel:給縱坐標命名。?plt.legend:新增圖例。?plt.show():展示圖表。模型評估05準確率圖表繪制3.繪制準確率圖表職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務一自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類任務檢查與評價061、請參照評價標準完成自評和對其他小組的互評。2、各組請代表分析本組任務實施經(jīng)驗。項目名稱TensorFlow實現(xiàn)文本分類任務名稱自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類評價方式可采用自評、互評、老師評價等方式說明主要評價學生在項目學習過程中的操作技能、理論知識、學習態(tài)度、課堂表現(xiàn)、學習能力等

評價內(nèi)容與評價標準序號評價內(nèi)容評價標準分值得分1理論知識(15%)了解自然語言處理的基本概念、分類的基本概念。(15分)15分

2專業(yè)技能(45%)環(huán)境配置(5%)正確的安裝與導入依賴包(5分)5分

3數(shù)據(jù)集準備(15%)正確的下載IMDB數(shù)據(jù)集(2分)15分

正確的了解數(shù)據(jù)格式(5分)正確的將整數(shù)轉(zhuǎn)換回單詞(5分)正確的數(shù)據(jù)處理(3分)4模型構(gòu)建(10%)正確的構(gòu)建分類器(2分)10分

正確的配置優(yōu)化器和損失函數(shù)(8分)5模型訓練(5%)正確的創(chuàng)建驗證集(2分)5分正確的訓練模型(3分)7模型評估(10%)正確的計算準確率(5分)10分正確的繪制損失值圖表與準確率圖表(5分)8核心素養(yǎng)(20%)具有良好的自主學習能力、分析解決問題的能力、整個任務過程中有指導他人(20分)20分

具有較好的學習能力和分析解決問題的能力,任務過程中無指導他人(15分)能夠主動學習并收集信息,有請教他人進行解決問題的能力(10分)不主動學習(0分)9課堂紀律(20%)設(shè)備無損壞、設(shè)備擺放整齊、工位區(qū)域內(nèi)保持整潔、無干擾課堂秩序(20分)20分

設(shè)備無損壞、無干擾課堂秩序(15分)無干擾課堂秩序(10分)干擾課堂秩序(0分)總得分職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務一自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類任務小結(jié)07職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務一自定義神經(jīng)網(wǎng)絡(luò)對電影評論文本分類任務拓展08下載使用斯坦福SST-2數(shù)據(jù)集進行自定義神經(jīng)網(wǎng)絡(luò)文本分類。參考本文介紹的自定義神經(jīng)網(wǎng)絡(luò),自行構(gòu)建模型、訓練評估模型解題

思路提示謝謝大家學習項目二TensorFlow實現(xiàn)文本分類深度學習應用技術(shù)使用Keras和TensorflowHub對電影評論進行文本分類任務二職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務二使用Keras和TensorflowHub對電影評論進行文本分類了解遷移學習相關(guān)知識了解TensorflowHub了解文本嵌入及Embedding能夠掌握構(gòu)建含預訓練層的模型的方法;能夠使用Keras構(gòu)建模型進行文本分類;能夠掌握TensorFlowHub模型訓練過程;能夠掌握評估模型準確率的方法并進行預測。職業(yè)能力目標01知識目標技能目標職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務二使用Keras和TensorflowHub對電影評論進行文本分類

對下載電影評論數(shù)據(jù)集進行預處理,使用Keras進行預訓練模型構(gòu)建、模型訓練以及評估。任務描述任務要求下載IMDB數(shù)據(jù)集并對其進行預處理;下載預訓練模型并進行修改以完成模型訓練;完成模型評估,得到80%以上準確率。任務描述與要求02職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務二使用Keras和TensorflowHub對電影評論進行文本分類任務分析如何使用TensorflowHub進行模型訓練?如何進行文本分類?任務分析與計劃03任務計劃表通過上面的思考,你是否對本任務要完成的工作有所了解?讓我們一起來制訂完成本次任務的實施計劃吧!任務分析與計劃03項目名稱TensorFlow實現(xiàn)文本分類任務名稱使用Keras和TensorflowHub對電影評論進行文本分類計劃方式自主設(shè)計計劃要求請用8個計劃步驟來完整描述出如何完成本次任務序號任務計劃1

2

3

4

5

6

7

8職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務二使用Keras和TensorflowHub對電影評論進行文本分類TensorflowHub204知識儲備遷移學習1文本嵌入3遷移學習概念04

遷移學習是將某個領(lǐng)域或任務上學習到的知識或模式應用到不同但相關(guān)的領(lǐng)域或問題中。人在實際生活中有很多遷移學習,比如學會騎自行車,就比較容易學摩托車,學會了C語言,在學一些其它編程語言會簡單很多。那么機器是否能夠像人類一樣舉一反三呢?遷移學習意義04(1)站在巨人的肩膀上:前人花很大精力訓練出來的模型在大概率上會比你自己從零開始搭的模型要強悍,沒有必要重復造輪子。(2)訓練成本可以很低:如果采用導出特征向量的方法進行遷移學習,后期的訓練成本非常低,用CPU都完全無壓力,沒有深度學習機器也可以做。(3)適用于小數(shù)據(jù)集:數(shù)據(jù)集本身很小的情況,從頭訓練具有幾千萬參數(shù)的大型神經(jīng)網(wǎng)絡(luò)是不現(xiàn)實的,因為越大的模型對數(shù)據(jù)量的要求越大,過擬合無法避免。這時候如果還想用上大型神經(jīng)網(wǎng)絡(luò)的超強特征提取能力,只能靠遷移學習。04遷移學習方式010203TransferLearning:凍結(jié)預訓練模型的全部卷積層,只訓練自己定制的全連接層。ExtractFeatureVector:先計算出預訓練模型的卷積層對所有訓練和測試數(shù)據(jù)的特征向量,然后拋開預訓練模型,只訓練自己定制的簡配版全連接網(wǎng)絡(luò)。Fine-tune:凍結(jié)預訓練模型的部分卷積層(通常是靠近輸入的多數(shù)卷積層),訓練剩下的卷積層(通常是靠近輸出的部分卷積層)和全連接層。04遷移學習的基本方法010203樣本遷移特征遷移模型遷移TensorflowHub204知識儲備遷移學習1文本嵌入3204TensorflowHub在機器學習中,模型訓練需要大量時間與計算資源。為了提升資源利用與效率,優(yōu)化模型訓練表現(xiàn),創(chuàng)建了TensorFlowHub,促進機器學習中可復用模型的再利用——發(fā)布、探索與使用的代碼庫。這個模型庫中包含了獨立的TensorFlow計算圖、權(quán)重及數(shù)據(jù),可以將TensorFlow的預訓練模型片段重用在新的任務上。只需幾行代碼即可重復使用經(jīng)過訓練的模型,例如BERT和FasterR-CNN。TensorflowHub204知識儲備遷移學習1文本嵌入32

文本嵌入(TextEmbeddings)是字符串的實值向量表示形式。每個單詞構(gòu)建一個稠密的向量,這樣做是以便它與出現(xiàn)在相似上下文中的單詞向量相似。

對于大多數(shù)深度NLP任務而言,詞嵌入被認為是一個很好的起點。它們允許深度學習在較小的數(shù)據(jù)集上有效,通常是深度學習體系結(jié)構(gòu)的第一批輸入,也是NLP中最流行的遷移學習方式。

詞嵌入中最流行的方法是Google的Word2vec和Stanford的GloVe。文本嵌入04Embedding介紹04

輸入模型的分類數(shù)是來自有限選擇集的一個或多個離散項的輸入特征。分類數(shù)據(jù)通過稀疏張量(sparsetensors)表示最有效,稀疏張量是具有非常少的非零元素的張量。

所以需要將單詞表示成向量(張量)。最簡單的方法是為詞匯表中的每個單詞定義一個帶有節(jié)點的巨型輸入層,或者至少為數(shù)據(jù)中出現(xiàn)的每個單詞定義一個節(jié)點。

向量可能包含更大塊文本中的單詞計數(shù)。這被稱為“詞袋(bagofwords)”表示。職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結(jié)07任務拓展08任務二使用Keras和TensorflowHub對電影評論進行文本分類05任務實施數(shù)據(jù)集準備21構(gòu)建模型3模型訓練與評估4環(huán)境配置05安裝所需要的依賴包:tensorflow、tensorflow-hub、tensorflow-datasets、tfds-nightly、matplotlib等。1、安裝依賴包環(huán)境配置05導入所需要的依賴包2、導入依賴包環(huán)境配置05任務實施數(shù)據(jù)集準備2環(huán)境配置1構(gòu)建模型3模型訓練與評估4051、數(shù)據(jù)集下載下載IMDB數(shù)據(jù)集并將數(shù)據(jù)集分成訓練集、驗證集和測試集。數(shù)據(jù)集準備05數(shù)據(jù)集準備tfds.load(name,split=None,data_dir=None,download=True,as_supervised=False):?

name:數(shù)據(jù)集的名字。?

split:對數(shù)據(jù)集切分。?

data_dir:數(shù)據(jù)的位置或者數(shù)據(jù)下載的位置。?

download:是否下載。?

as_supervised:返回元組(默認返回時字典的形式的)。052、查看數(shù)據(jù)每個樣本都是一個代表電影評論的句子和一個相應的標簽。句子未經(jīng)過任何預處理。標簽是一個整數(shù)值(0或1),其中0表示負面評價,而1表示正面評價。數(shù)據(jù)集準備05任務實施數(shù)據(jù)集準備2環(huán)境配置1構(gòu)建模型3模型訓練與評估4051、模型載入神經(jīng)網(wǎng)絡(luò)由堆疊的層來構(gòu)建,這需要從三個主要方面來進行體系結(jié)構(gòu)決策:構(gòu)建模型如何表示文本?模型里有多少層?每個層里有多少隱層單元?05構(gòu)建模型本示例中,輸入數(shù)據(jù)由句子組成。預測的標簽為0或1。表示文本的一種方式是將句子轉(zhuǎn)換為嵌入向量。使用一個預訓練文本嵌入向量作為首層,這將具有三個優(yōu)點:不必擔心文本預處理可以從遷移學習中受益嵌入具有固定長度,更易于處理052、層按順序堆疊以構(gòu)建模型第一層是TensorFlowHub層。構(gòu)建模型此層使用預訓練的SaveModel將句子映射到其嵌入向量。使用的預訓練文本嵌入向量模型google/nnlm-en-dim50/2可將句子拆分為詞例,嵌入每個詞例,然后組合嵌入向量。05構(gòu)建模型生成的維度是:(num_examples,embedding_dimension)。對于此NNLM模型,embedding_dimension是50。該定長輸出向量通過一個有16個隱層單元的全連接層(Dense)進行管道傳輸。最后一層與單個輸出結(jié)點緊密相連。使用Sigmoid激活函數(shù),其函數(shù)值為介于0與1之間的浮點數(shù),表示概率或置信水平。053、編譯模型一個模型需要一個損失函數(shù)和一個優(yōu)化器來訓練:構(gòu)建模型

這是二元分類問題,并且模型輸出logit(具有線性激活的單一單元層),因此,將使用binary_crossentropy損失函數(shù)。05構(gòu)建模型tf.keras.Mpile(optimizer,loss,metrics)optimizer:模型訓練使用的優(yōu)化器,可以從tf.keras.optimizers中選擇。loss:模型優(yōu)化時使用的損失值類型,可以從tf.keras.losses中選擇。metrics:訓練過程中返回的矩陣評估指標,可以從tf.keras.metrics中選擇。05任務實施數(shù)據(jù)集準備2環(huán)境配置1構(gòu)建模型3模型訓練與評估4051、訓練模型一個模型需要一個損失函數(shù)和一個優(yōu)化器來訓練:模型訓練與評估

這是二元分類問題,并且模型輸出logit(具有線性激活的單一單元層),因此,將使用binary_crossentropy損失函數(shù)。05構(gòu)建模型tf.keras.Model.fit(x,y,batch_size,epochs,validation_data)x:訓練集數(shù)組。y:訓練集標簽數(shù)組。batch_size:批處理數(shù)量。epochs:迭代次數(shù)。validation_data:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論