人工智能應(yīng)用基礎(chǔ) 課件全套 任務(wù)1-13 走進(jìn)人工智能-使用EasyDL實(shí)現(xiàn)芯片劃痕質(zhì)檢_第1頁
人工智能應(yīng)用基礎(chǔ) 課件全套 任務(wù)1-13 走進(jìn)人工智能-使用EasyDL實(shí)現(xiàn)芯片劃痕質(zhì)檢_第2頁
人工智能應(yīng)用基礎(chǔ) 課件全套 任務(wù)1-13 走進(jìn)人工智能-使用EasyDL實(shí)現(xiàn)芯片劃痕質(zhì)檢_第3頁
人工智能應(yīng)用基礎(chǔ) 課件全套 任務(wù)1-13 走進(jìn)人工智能-使用EasyDL實(shí)現(xiàn)芯片劃痕質(zhì)檢_第4頁
人工智能應(yīng)用基礎(chǔ) 課件全套 任務(wù)1-13 走進(jìn)人工智能-使用EasyDL實(shí)現(xiàn)芯片劃痕質(zhì)檢_第5頁
已閱讀5頁,還剩219頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

任務(wù)1走進(jìn)人工智能01020304人工智能與深度學(xué)習(xí)人工智能深度學(xué)習(xí)步驟人工智能深度學(xué)習(xí)框架單擊此處添加標(biāo)題05API操作平臺(tái)人工智能的應(yīng)用任務(wù)1走進(jìn)人工智能一、人工智能與深度學(xué)習(xí)1、人工智能概述人工智能(ArtificialIntelligence)簡(jiǎn)稱AI。人工智能是計(jì)算機(jī)科學(xué)的一個(gè)分支,它企圖了解智能的本質(zhì),并生產(chǎn)出一種新的能以人類智能相似的方式做出反應(yīng)的智能機(jī)器,是研究、開發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。人工智能是一個(gè)廣泛的研究領(lǐng)域,包括許多理論,方法和技術(shù),主要包含以下領(lǐng)域。一、人工智能與深度學(xué)習(xí)2、人工智能分類人工智能作為新一輪產(chǎn)業(yè)變革的核心驅(qū)動(dòng)力,在不斷催生新技術(shù)、新產(chǎn)品的同時(shí),對(duì)傳統(tǒng)行業(yè)也進(jìn)行了賦能,人工智能是一個(gè)很大的概念,種類比較多,根據(jù)水平高低,分為以下三類。弱人工智能弱人工智能是一種擅長(zhǎng)單方面的人工智能,能夠單獨(dú)完成某個(gè)特定的任務(wù)。強(qiáng)人工智能強(qiáng)人工智能是指和人類能夠?qū)崿F(xiàn)的功能類似。超人工智能超人工智能是比喻在所有領(lǐng)域(科學(xué)創(chuàng)新、社交技能等)都比人類大腦聰明的智能。一、人工智能與深度學(xué)習(xí)3、深度學(xué)習(xí)概述深度學(xué)習(xí)是人工智能和機(jī)器學(xué)習(xí)的一種,簡(jiǎn)稱DL,是一種通過模仿人類獲得某種類型知識(shí)的方式,也是利用深度神經(jīng)網(wǎng)絡(luò)來解決特征表達(dá)的一種學(xué)習(xí)過程,在使用深度學(xué)習(xí)過程中,深度學(xué)習(xí)是數(shù)據(jù)科學(xué)的一項(xiàng)重要元素,主要包括統(tǒng)計(jì)和模型預(yù)測(cè)。除此之外,深度學(xué)習(xí)也可以被視為這一種自動(dòng)化預(yù)測(cè)分析工具,通過對(duì)機(jī)器學(xué)習(xí)中的算法進(jìn)行調(diào)用,從而優(yōu)化模型和預(yù)測(cè)模型,實(shí)現(xiàn)自動(dòng)化預(yù)測(cè)分析。深度學(xué)習(xí)就是一種建立在模擬人腦進(jìn)行分析的神經(jīng)網(wǎng)絡(luò),從而對(duì)大腦的數(shù)據(jù)進(jìn)行解釋分析,比如圖像、聲音、文本等,在這個(gè)過程中用到的深度神經(jīng)網(wǎng)絡(luò)并不是一個(gè)全新的概念,而是一個(gè)包含多個(gè)隱含層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),層次中的每個(gè)算法都對(duì)其輸入應(yīng)用進(jìn)行非線性變換,并使得學(xué)習(xí)的知識(shí)來創(chuàng)建統(tǒng)計(jì)模型作為輸出。二、人工智能深度學(xué)習(xí)步驟深度學(xué)習(xí)的使用步驟主要分為三步:第一步:建立模型,通過建立模型,決定選擇什么樣的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)結(jié)構(gòu)中包含多少層和每層包含多少個(gè)神經(jīng)元。第二步:優(yōu)化模型,并對(duì)模型進(jìn)行評(píng)估,主要通過一些常用的損失函數(shù)優(yōu)化模型。第三步:選擇最優(yōu)函數(shù),通過調(diào)整學(xué)習(xí)參數(shù),調(diào)整學(xué)習(xí)率,使用梯度下降或者反向傳播算法來選擇最優(yōu)函數(shù)。321二、人工智能深度學(xué)習(xí)步驟1、建立模型(1)神經(jīng)元在深度學(xué)習(xí)中,主要通過神經(jīng)網(wǎng)絡(luò)來建立模型,常用的有卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等,這些神經(jīng)網(wǎng)絡(luò)都是由很多單元連接而成,這些單元稱為神經(jīng)元。二、人工智能深度學(xué)習(xí)步驟1、建立模型(1)圖中是一個(gè)簡(jiǎn)單的線性回歸函數(shù),每個(gè)輸入都乘以對(duì)應(yīng)的權(quán)重,將結(jié)果進(jìn)行求和,之后和與偏重帶入激活函數(shù),從而得到想要的結(jié)果。二、人工智能深度學(xué)習(xí)步驟1、建立模型(2)前饋神經(jīng)網(wǎng)絡(luò)前饋神經(jīng)網(wǎng)絡(luò)是一種最簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò),每個(gè)神經(jīng)元分層排列,每個(gè)神經(jīng)元和前一層的神經(jīng)元相連,值在網(wǎng)絡(luò)中傳遞的方向是由前向后進(jìn)行傳播,換句話說是由輸入層傳向輸出層。二、人工智能深度學(xué)習(xí)步驟1、建立模型(2)如圖所示,包含三層,網(wǎng)絡(luò)輸入層,隱藏層和輸出層,在網(wǎng)絡(luò)的輸入層中,Layer的大小與真實(shí)輸入大小相匹配,隱藏層位于輸入層和輸出層中間,一個(gè)神經(jīng)網(wǎng)絡(luò)模型包含多個(gè)隱藏層,輸出層是網(wǎng)絡(luò)的最后一層,神經(jīng)元計(jì)算產(chǎn)生的結(jié)果直接輸出,作為模型的輸出。二、人工智能深度學(xué)習(xí)步驟2、優(yōu)化模型(1)激活函數(shù)為了增強(qiáng)網(wǎng)絡(luò)的表達(dá)能力,需要使用激活函數(shù)將線性函數(shù)轉(zhuǎn)換成非線性函數(shù)。在深度學(xué)習(xí)模型中,常用的激活函數(shù)有sigmoid、tanh、relu和softplus。激活函數(shù)具體描述如表所示。二、人工智能深度學(xué)習(xí)步驟2、優(yōu)化模型(2)損失函數(shù)損失函數(shù)(lossfunction)是機(jī)器學(xué)習(xí)中評(píng)估神經(jīng)網(wǎng)絡(luò)模型效果的一種重要指標(biāo),它是評(píng)估模型輸出值與目標(biāo)值的差異,損失函數(shù)越小,表明模型的魯棒性就越好。對(duì)于模型的評(píng)估,一般使用損失函數(shù)反映模型的好壞,在損失函數(shù)中,使用最多的是交叉熵?fù)p失函數(shù)(Crossentropy),該函數(shù)主要用于神經(jīng)網(wǎng)絡(luò)分類問題,交叉熵會(huì)計(jì)算每個(gè)類別的概率,經(jīng)常與激活函數(shù)sigmoid一起出現(xiàn),通過交叉熵對(duì)y及y的導(dǎo)數(shù)損失進(jìn)行計(jì)算,之后通過調(diào)整參數(shù),使得交叉熵越小越好。二、人工智能深度學(xué)習(xí)步驟3、選擇最優(yōu)函數(shù)在網(wǎng)絡(luò)模型中,選擇最優(yōu)函數(shù)有兩種方式。1梯度下降2反向傳播算法二、人工智能深度學(xué)習(xí)步驟3、選擇最優(yōu)函數(shù)(1)梯度下降法網(wǎng)絡(luò)模型中,進(jìn)行參數(shù)學(xué)習(xí)過程中,當(dāng)隱藏層過多,網(wǎng)絡(luò)參數(shù)個(gè)數(shù)過大時(shí),是無法枚舉出所有可能取值,這時(shí)就需要尋找模型參數(shù),使得損失值達(dá)到最小,這時(shí)就需要使用梯度下降法進(jìn)行模型參數(shù)的尋找。如圖所示為語音識(shí)別模型,在這個(gè)里面共8層,每層有1000個(gè)神經(jīng)元,那權(quán)重參數(shù)就是一個(gè)非常龐大的數(shù)據(jù)。二、人工智能深度學(xué)習(xí)步驟3、選擇最優(yōu)函數(shù)(1)梯度下降法的具體流程是包含權(quán)重和偏差的參數(shù)集合,隨機(jī)找個(gè)初始值,計(jì)算一下每個(gè)參數(shù)對(duì)應(yīng)的偏微分,得到的一個(gè)偏微分的集合就是梯度,有了這些偏微分,從而更新梯度得到新的參數(shù),這樣不斷反復(fù)進(jìn)行,就能得到一組參數(shù)使得損失函數(shù)的值最小。二、人工智能深度學(xué)習(xí)步驟3、選擇最優(yōu)函數(shù)(2)反向傳播算法在神經(jīng)網(wǎng)絡(luò)訓(xùn)練中,可以使用反向傳播算法將計(jì)算得到的損失向前傳遞,用來計(jì)算各個(gè)神經(jīng)元連接的權(quán)重對(duì)損失的影響大小。反向傳播算法,簡(jiǎn)稱BP算法,是簡(jiǎn)歷在梯度下降法的基礎(chǔ)上,用于多層神經(jīng)元網(wǎng)絡(luò)的一種學(xué)習(xí)算法,主要使用激活傳播和權(quán)重更新兩個(gè)環(huán)節(jié)達(dá)到反復(fù)循環(huán)迭代的效果,從而達(dá)到網(wǎng)絡(luò)對(duì)輸入的響應(yīng)達(dá)到預(yù)定的目標(biāo)范圍為止。在深度學(xué)習(xí)中,可以使用深度學(xué)習(xí)框架來計(jì)算損失值,常用的框架有TensorFlow,PyTorch,Theano等。三、人工智能深度學(xué)習(xí)框架常見的深度學(xué)習(xí)框架有PaddlePaddle、TensorFlow、Caffe、Theano、Keras、PyTorch、MXNet等。這些深度學(xué)習(xí)框架被應(yīng)用于計(jì)算機(jī)視覺、語音識(shí)別、自然語言處理與生物信息學(xué)等領(lǐng)域,并獲取了極好的效果。深度學(xué)習(xí)框架在使用過程中,具有兩點(diǎn)優(yōu)勢(shì),分別為易用性和高效性。易用性,主要體現(xiàn)在屏蔽底層的機(jī)器學(xué)習(xí)算法,用戶只需要關(guān)注模型的結(jié)構(gòu),同時(shí)簡(jiǎn)化了計(jì)算過程,降低了深度學(xué)習(xí)的門檻。高效性:深度學(xué)習(xí)都具有高效性,可以將代碼運(yùn)行在CPU或者GPU上。三、人工智能深度學(xué)習(xí)框架1PaddlePaddle2TensorFlow3Caffe4Keras四、人工智能的應(yīng)用1、計(jì)算機(jī)視覺處理(1)人臉識(shí)別人臉識(shí)別在消費(fèi)支付、安防、娛樂、交通出行等場(chǎng)所有重要作用。人臉識(shí)別技術(shù)支持1:N匹配,支持多角度識(shí)別,不受發(fā)型、妝容、眼鏡的影響,因此即使人改變發(fā)型,或者換副眼鏡,居民都不需要擔(dān)心無法進(jìn)門,也無需重新去物業(yè)登記。四、人工智能的應(yīng)用1、計(jì)算機(jī)視覺處理(2)光學(xué)字符識(shí)別光學(xué)字符識(shí)別(OpticalCharacterRecognition,OCR)就是通過掃描等光學(xué)輸入方式將各種票據(jù)、報(bào)刊、書籍、文稿及其他印刷品的文字轉(zhuǎn)化為圖像信息,再利用文字識(shí)別技術(shù)將圖像信息轉(zhuǎn)化為可以使用的文本的計(jì)算機(jī)輸入技術(shù)。目前光學(xué)字符識(shí)別有著更加廣闊的應(yīng)用前景,例如證件識(shí)別、銀行卡識(shí)別、通用文字字符識(shí)別等。四、人工智能的應(yīng)用2、語音識(shí)別目前語音識(shí)別被廣泛應(yīng)用,社交聊天發(fā)送實(shí)時(shí)語音,轉(zhuǎn)換為文字,讓溝通交流更加準(zhǔn)確快捷。3、自然語言處理深度學(xué)習(xí)在自然語言處理中的應(yīng)用越來越廣泛,從底層的分詞、語言模型、句法分析等到高層的對(duì)話管理、知識(shí)問答、聊天、機(jī)器翻譯等方面幾乎全部都有深度學(xué)習(xí)模型的身影,并且取得了不錯(cuò)的效果。四、人工智能的應(yīng)用4、自動(dòng)駕駛自動(dòng)駕駛的人工智能包含了感知、決策和控制等流程和模塊。感知是指通過攝像頭、激光雷達(dá)等傳感器的輸入,進(jìn)而解析出周圍環(huán)境的信息。五、AIStudio操作平臺(tái)1、百度AIStudioAIStudio是百度AI推出的一站式開發(fā)平臺(tái),包含AI教程、代碼環(huán)境、算法算力、數(shù)據(jù)集,同時(shí)提供了免費(fèi)的在線云計(jì)算的一體化編程平臺(tái),AIStudio的網(wǎng)址鏈接為/aistudio/index?ref=pinpai。五、AIStudio操作平臺(tái)2、華為云ModelArts華為云是一個(gè)綜合的云平臺(tái),在平臺(tái)中包含云服務(wù)器、相關(guān)的解決方案、云市場(chǎng)等相關(guān)的內(nèi)容,同時(shí)包含ModelArts(面向開發(fā)者的一站式AI平臺(tái))。/product/modelarts.html?utm_source=3.&utm_medium=organic&utm_adplace=kapian。五、AIStudio操作平臺(tái)3、騰訊云TI平臺(tái)騰訊云TI平臺(tái)主要用于深度學(xué)習(xí),幫用戶實(shí)現(xiàn)數(shù)據(jù)獲取、數(shù)據(jù)處理、算法構(gòu)建、模型訓(xùn)練、模型評(píng)估、模型部署等一站式服務(wù)。六、任務(wù)實(shí)施1、任務(wù)背景服務(wù)器在線訓(xùn)練環(huán)境和硬件配備,對(duì)于新手來說還是比較麻煩,即使使用Docker也還是對(duì)使用者有一定的門檻要求,為此百度免費(fèi)開放了Web在線開發(fā)平臺(tái)AI-Studio供新手來使用。本任務(wù)通過創(chuàng)建百度賬號(hào)并進(jìn)入項(xiàng)目編輯頁來體驗(yàn)百度AI-studio平臺(tái)。六、任務(wù)實(shí)施2、實(shí)驗(yàn)思路感謝觀看任務(wù)2初識(shí)PaddlePaddle任務(wù)2初識(shí)PaddlePaddle01020304PaddlePaddle簡(jiǎn)介PaddlePaddle行業(yè)應(yīng)用PaddlePaddle環(huán)境搭建高層API一、PaddlePaddle簡(jiǎn)介PaddlePaddle也稱飛槳,是百度研發(fā)的一款技術(shù)領(lǐng)先、功能完備的產(chǎn)業(yè)級(jí)深度學(xué)習(xí)開源開放平臺(tái),包含深度學(xué)習(xí)核心框架、基礎(chǔ)模型庫(kù)、端到端開發(fā)套件、工具組件和服務(wù)平臺(tái)等五部分。二、PaddlePaddle行業(yè)應(yīng)用1、百度內(nèi)部行業(yè)應(yīng)用飛槳PaddlePaddle已在百度多項(xiàng)主要產(chǎn)品和服務(wù)之中發(fā)揮著巨大的作用。二、PaddlePaddle行業(yè)應(yīng)用2、高爾夫球場(chǎng)的遙感檢測(cè)PaddlePaddle使用卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)高爾夫球場(chǎng)用地進(jìn)行檢測(cè),對(duì)發(fā)現(xiàn)新增高爾夫球場(chǎng)、核查清理整治效果具有重要意義。二、PaddlePaddle行業(yè)應(yīng)用3、AI識(shí)蟲飛槳與北京林業(yè)大學(xué)合作的“AI識(shí)蟲”,能夠遠(yuǎn)程檢測(cè)病蟲害,效率提升50倍,準(zhǔn)確率超過90%,使用飛槳的步驟為:數(shù)據(jù)采集→基礎(chǔ)模型蠹蟲圖片訓(xùn)練識(shí)蟲模型→利用工具集將模型翻譯轉(zhuǎn)換→部署到PaddlePi-K210芯片板卡→識(shí)蟲設(shè)備集成。二、PaddlePaddle行業(yè)應(yīng)用4、其他應(yīng)用應(yīng)用飛槳研發(fā)的智能零件質(zhì)檢機(jī),單個(gè)零件的檢測(cè)速度只需25ms,檢測(cè)效率大幅提升,企業(yè)成本降低15%以上。飛槳與南方電網(wǎng)廣東能源技術(shù)公司聯(lián)合研發(fā)的電網(wǎng)智能巡檢解決方案,設(shè)備狀態(tài)讀取準(zhǔn)確性高達(dá)99.01%,電網(wǎng)設(shè)備人工巡檢工作量降低90%。事實(shí)上,隨著飛槳賦能行業(yè)進(jìn)程的加快,小到智能桃子分揀機(jī)、零件質(zhì)檢,大到城市規(guī)劃、病蟲害檢測(cè)、無人駕駛、預(yù)防性醫(yī)療保健等眾多行業(yè)中實(shí)現(xiàn)落地應(yīng)用。三、PaddlePaddle環(huán)境搭建1、pip安裝在使用pip安裝飛槳過程之前,需要在電腦上安裝Python軟件與pip工具,之后運(yùn)行下面命令進(jìn)行安裝。python-mpipinstallpaddlepaddle==2.2.2在使用pipinstallpaddlepaddle安裝過程會(huì)比較慢,一般推薦使用清華鏡像或百度鏡像源進(jìn)行安裝。命令如下:python-mpipinstallpaddlepaddle==2.2.2-ihttps://mirror./simple或python-mpipinstallpaddlepaddle==2.2.2-ihttps://mirror./simplepython-mpipinstallpaddlepaddle==2.2.2-i/pypi/simple三、PaddlePaddle環(huán)境搭建2、conda安裝使用conda安裝之前,需要在電腦中安裝好Anaconda或者miniconda,在進(jìn)入需要安裝飛槳的環(huán)境后,使用conda安裝飛槳命令如下:python-mpipinstallpaddlepaddle==2.2.2condainstallpaddlepaddle==2.2.2--channel/anaconda/cloud/Paddle/三、PaddlePaddle環(huán)境搭建3、Docker安裝在使用Docker方式安裝飛槳時(shí),需要在自己電腦上安裝Docker,以LINUX系統(tǒng)安裝為例,安裝好Docker后,在終端中輸入以下命令拉取CPU版本的飛槳官方鏡像。dockerpull/paddlepaddle/paddle:2.2.2CPU版的PaddlePaddle,且鏡像中預(yù)裝好了jupyter,拉取命令如下:用鏡像構(gòu)建并進(jìn)入Docker容器,命令如下:dockerpull/paddlepaddle/paddle:2.2.2-jupyterdockerrun--namepaddle-it-v$PWD:/paddle/paddlepaddle/paddle:2.2.2/bin/bash三、PaddlePaddle環(huán)境搭建3、Docker安裝如果需要下載GPU版本,需要查看GPU版本支持的CUDA,并需要預(yù)先安裝CUDA和nvidia-docker,以CUDA11.2為例,拉取預(yù)安裝PaddlePaddle的鏡像命令如下:nvidia-dockerpull/paddlepaddle/paddle:2.2.2-gpu-cuda11.2-cudnn8用鏡像構(gòu)建并進(jìn)入Docker容器,命令如下:nvidia-dockerrun--namepaddle-it-v$PWD:/paddle/paddlepaddle/paddle:2.2.2-gpu-cuda11.2-cudnn8/bin/bash三、PaddlePaddle環(huán)境搭建4、驗(yàn)證飛槳是否安裝成功飛槳通過三種方式中的一種安裝之后,進(jìn)入Python編輯器,可以通過以下命令檢測(cè)飛槳是否安裝成功。importpaddlepaddle.utils.run_check()運(yùn)行命令,出現(xiàn)如圖所示的結(jié)果,則說明飛槳在本地安裝成功。四、高層API飛槳在不斷提升過程中,推出了全新的高層API,主要適用于2.0及以上版本,使用全新的API,能夠快讀的構(gòu)建深度學(xué)習(xí)項(xiàng)目和快速完成算法的迭代。飛槳高層API具有以下特點(diǎn):易學(xué)易用:高層API是對(duì)普通動(dòng)態(tài)圖API的進(jìn)一步封裝和優(yōu)化,同時(shí)保持與普通API的兼容性,高層API使用更加易學(xué)易用,同樣的實(shí)現(xiàn)使用高層API可以節(jié)省大量的代碼。低代碼開發(fā):使用飛槳高層API的一個(gè)明顯特點(diǎn)是編程代碼量大大縮減。動(dòng)靜轉(zhuǎn)換:高層API支持動(dòng)靜轉(zhuǎn)換,只需要改一行代碼即可實(shí)現(xiàn)將動(dòng)態(tài)圖代碼在靜態(tài)圖模式下訓(xùn)練,既方便使用動(dòng)態(tài)圖調(diào)試模型,又提升了模型訓(xùn)練效率。321四、高層API在功能增強(qiáng)與使用方式上,高層API有以下升級(jí):模型訓(xùn)練方式升級(jí):高層API中封裝了Model類,繼承了Model類的神經(jīng)網(wǎng)絡(luò)可以僅用幾行代碼完成模型的訓(xùn)練。新增圖像處理模塊transform:飛槳新增了圖像預(yù)處理模塊,其中包含數(shù)十種數(shù)據(jù)處理函數(shù),基本涵蓋了常用的數(shù)據(jù)處理、數(shù)據(jù)增強(qiáng)方法。。提供常用的神經(jīng)網(wǎng)絡(luò)模型可供調(diào)用:高層API中集成了計(jì)算機(jī)視覺領(lǐng)域和自然語言處理領(lǐng)域常用模型,包括但不限于mobilenet、resnet、yolov3、cyclegan、bert、transformer、seq2seq等等。321五、任務(wù)實(shí)施乘坐出租車的時(shí)候,知道每次乘坐出租車的公里數(shù),也知道每次下車的時(shí)候支付給出租車司機(jī)的總費(fèi)用。但是并不知道乘車的起步價(jià),以及每公里行駛費(fèi)用是多少。希望讓機(jī)器從這些數(shù)據(jù)當(dāng)中學(xué)習(xí)出來計(jì)算總費(fèi)用的規(guī)則。1、任務(wù)背景五、任務(wù)實(shí)施2、實(shí)驗(yàn)思路感謝觀看任務(wù)3PaddlePaddle基礎(chǔ)知識(shí)任務(wù)3PaddlePaddle基礎(chǔ)知識(shí)010203張量動(dòng)態(tài)圖模型開發(fā)一、張量PaddlePaddle與Python中的科學(xué)計(jì)算庫(kù)(Numpy)類似,提供大量的計(jì)算操作,在計(jì)算過程中用到的常量稱為張量(Tensor),PaddlePaddle支持動(dòng)態(tài)圖和靜態(tài)圖,張量是數(shù)據(jù)流圖中節(jié)點(diǎn)之間相互流通數(shù)據(jù)的表現(xiàn)形式,比如一維數(shù)組、二維數(shù)組等都可以理解為張量,表示相關(guān)操作的輸出。一、張量PaddlePaddle在深度學(xué)習(xí)方面擁有強(qiáng)大的計(jì)算能力,可以創(chuàng)建多種不同形式的張量,在提供的API中,常用的函數(shù)有randn、arange和To_tensor等,具體如下所示。(1)randnrandn函數(shù)返回符合標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)張量,形狀為shape,數(shù)據(jù)類型為dtype,語法格式為:paddle.randn(shape,

dtype=None,

name=None)(2)arangearange函數(shù)返回以步長(zhǎng)step均勻分隔給定數(shù)值區(qū)間[start,end)的1-DTensor,數(shù)據(jù)類型為dtype,語法格式為:paddle.arange(start=0,

end=None,

step=1,

dtype=None,

name=None)一、張量(3)To_tensorTo_tensor函數(shù)將PIL.Image或numpy.ndarray轉(zhuǎn)換成paddle.Tensor。將形狀為(HxWxC)的輸入數(shù)據(jù)PIL.Image或numpy.ndarray轉(zhuǎn)換為(CxHxW)。如果想保持形狀不變,可以將參數(shù)data_format設(shè)置為'HWC'。語法格式為:paddle.vision.transforms.to_tensor(pic,

data_format='CHW')二、動(dòng)態(tài)圖PaddlePaddle從2.0版本開始默認(rèn)開啟動(dòng)態(tài)圖開發(fā)模式,使用動(dòng)態(tài)圖開發(fā)模式,每次執(zhí)行一個(gè)運(yùn)算,立刻能夠得到結(jié)果。在使用動(dòng)態(tài)圖過程中,除了引入paddle庫(kù)還需要引入numpy庫(kù)。示例代碼如下所示。importpaddleimportpaddle.nn.functionalasFimportnumpyasnp二、動(dòng)態(tài)圖在使用動(dòng)態(tài)圖過程中,有以下優(yōu)勢(shì):a=paddle.randn([4,2])b=paddle.arange(1,3,dtype='float32')print(a)print(b)A動(dòng)態(tài)圖模式下,可以直接運(yùn)行飛槳提用的randn或者arange等函數(shù),會(huì)立刻返回結(jié)果,不需要?jiǎng)?chuàng)建一個(gè)計(jì)算圖,再對(duì)給定的數(shù)據(jù)進(jìn)行運(yùn)算,示例代碼如下所示。動(dòng)態(tài)圖模式下,可以使用Python的條件判斷和循環(huán),用來執(zhí)行神經(jīng)網(wǎng)絡(luò)的計(jì)算,示例代碼如下所示。二、動(dòng)態(tài)圖a=paddle.to_tensor(np.array([1,2,3]))b=paddle.to_tensor(np.array([4,5,6]))foriinrange(10):r=paddle.rand([1,])ifr>0.5:c=paddle.pow(a,i)+bprint("{}+>{}".format(i,c.numpy()))else:c=paddle.pow(a,i)-bprint("{}->{}".format(i,c.numpy()))B使用動(dòng)態(tài)圖,可以根據(jù)控制流選擇不同的分支網(wǎng)絡(luò)同時(shí)方便構(gòu)建權(quán)重共享網(wǎng)絡(luò),示例代碼如下所示。二、動(dòng)態(tài)圖inputs=paddle.rand((256,64))linear=paddle.nn.Linear(64,8,bias_attr=False)loss_fn=paddle.nn.MSELoss()optimizer=paddle.optimizer.Adam(0.01,parameters=linear.parameters())foriinrange(10):hidden=linear(inputs)#weightfrominputtohiddenissharedwiththelinearmappingfromhiddento#outputoutputs=paddle.matmul(hidden,linear.weight,transpose_y=True)loss=loss_fn(outputs,inputs)loss.backward()print("step:{},loss:{}".format(i,loss.numpy()))optimizer.step()optimizer.clear_grad()C三、模型開發(fā)1、數(shù)據(jù)處理(1)數(shù)據(jù)收集內(nèi)置數(shù)據(jù)集在訓(xùn)練模型的過程中,第一步就是對(duì)數(shù)據(jù)進(jìn)行收集,PaddlePaddle框架將常用的數(shù)據(jù)集封裝到了API中,在使用過程中,可以直接調(diào)用API進(jìn)行查看,存放數(shù)據(jù)集的主要目錄為paddle.vision.datasets與paddle.text。三、模型開發(fā)內(nèi)置數(shù)據(jù)集查看PaddlePaddle中包含的數(shù)據(jù)集,示例代碼如下所示。importpaddleprint('視覺相關(guān)數(shù)據(jù)集:',paddle.vision.datasets.__all__)print('自然語言相關(guān)數(shù)據(jù)集:',paddle.text.__all__)在調(diào)用內(nèi)部提供的數(shù)據(jù)集時(shí),可用mode來表示訓(xùn)練集與測(cè)試集,數(shù)據(jù)集接口會(huì)自動(dòng)從遠(yuǎn)端下載數(shù)據(jù)集到本機(jī)緩存目錄~/.cache/paddle/dataset。示例代碼如下所示。frompaddle.vision.transformsimportToTensor#訓(xùn)練數(shù)據(jù)集用ToTensor將數(shù)據(jù)格式轉(zhuǎn)為Tensortrain_dataset=paddle.vision.datasets.MNIST(mode='train',transform=ToTensor())#驗(yàn)證數(shù)據(jù)集val_dataset=paddle.vision.datasets.MNIST(mode='test',transform=ToTensor())三、模型開發(fā)自定義數(shù)據(jù)集在實(shí)際應(yīng)用過程中,發(fā)現(xiàn)內(nèi)置的數(shù)據(jù)集并不能滿足要求,需要自己根據(jù)已有的相關(guān)數(shù)據(jù)來定義數(shù)據(jù)集,示例代碼如下所示。importpaddlefrompaddle.ioimportDatasetBATCH_SIZE=64BATCH_NUM=20IMAGE_SIZE=(28,28)CLASS_NUM=10classMyDataset(Dataset):三、模型開發(fā)自定義數(shù)據(jù)集在實(shí)際應(yīng)用過程中,發(fā)現(xiàn)內(nèi)置的數(shù)據(jù)集并不能滿足要求,需要自己根據(jù)已有的相關(guān)數(shù)據(jù)來定義數(shù)據(jù)集,示例代碼如下所示。"""步驟一:繼承paddle.io.Dataset類"""def__init__(self,num_samples):"""步驟二:實(shí)現(xiàn)構(gòu)造函數(shù),定義數(shù)據(jù)集大小"""super(MyDataset,self).__init__()self.num_samples=num_samplesdef__getitem__(self,index):三、模型開發(fā)"""步驟一:繼承paddle.io.Dataset類"""def__init__(self,num_samples):"""步驟二:實(shí)現(xiàn)構(gòu)造函數(shù),定義數(shù)據(jù)集大小"""super(MyDataset,self).__init__()self.num_samples=num_samplesdef__getitem__(self,index):"""步驟三:實(shí)現(xiàn)__getitem__方法,定義指定index時(shí)如何獲取數(shù)據(jù),并返回單條數(shù)據(jù)(訓(xùn)練數(shù)據(jù),對(duì)應(yīng)的標(biāo)簽)"""data=paddle.uniform(IMAGE_SIZE,dtype='float32')label=paddle.randint(0,CLASS_NUM-1,dtype='int64')returndata,labeldef__len__(self):三、模型開發(fā)"""步驟四:實(shí)現(xiàn)__len__方法,返回?cái)?shù)據(jù)集總數(shù)目"""returnself.num_samples#測(cè)試定義的數(shù)據(jù)集custom_dataset=MyDataset(BATCH_SIZE*BATCH_NUM)print('=============customdataset=============')fordata,labelincustom_dataset:print(data.shape,label.shape)break三、模型開發(fā)(2)數(shù)據(jù)加載在PaddlePaddle中,對(duì)數(shù)據(jù)加載需要調(diào)用paddle.io.DataLoader函數(shù),示例代碼如下所示。在代碼中定義一個(gè)數(shù)據(jù)迭代器train_loader,用于加載訓(xùn)練數(shù)據(jù)。通過batch_size=64設(shè)置數(shù)據(jù)集的批大小為64,通過shuffle=True,在取數(shù)據(jù)前會(huì)打亂數(shù)據(jù)。train_loader=paddle.io.DataLoader(custom_dataset,batch_size=BATCH_SIZE,shuffle=True)#如果要加載內(nèi)置數(shù)據(jù)集,將custom_dataset換為train_dataset即可forbatch_id,datainenumerate(train_loader()):x_data=data[0]y_data=data[1]print(x_data.shape)print(y_data.shape)break三、模型開發(fā)(3)數(shù)據(jù)預(yù)處理獲取數(shù)據(jù)后,如果不對(duì)數(shù)據(jù)進(jìn)行處理的話,會(huì)出現(xiàn)擬合的問題,在PaddlePaddle中,提供了數(shù)據(jù)增強(qiáng)API(定義在領(lǐng)域目錄的transforms下),對(duì)訓(xùn)練數(shù)據(jù)做增強(qiáng),使數(shù)據(jù)進(jìn)行處理得到不同的圖像,從而泛化數(shù)據(jù)集?;诳蚣軆?nèi)置數(shù)據(jù)集針對(duì)PaddlePaddle框架中的內(nèi)置數(shù)據(jù)集,可以使用paddle.vision.transforms下的方法,常用方法如圖所示。三、模型開發(fā)三、模型開發(fā)示例:對(duì)內(nèi)置數(shù)據(jù)集MNIST數(shù)據(jù)集隨機(jī)調(diào)整亮度、對(duì)比度、飽和度和改變圖片大小,示例代碼如下所示。frompaddle.vision.transformsimportCompose,Resize,ColorJitter#定義想要使用的數(shù)據(jù)增強(qiáng)方式,包括隨機(jī)調(diào)整亮度、對(duì)比度和飽和度,改變圖片大小transform=Compose([ColorJitter(),Resize(size=32)])#通過transform參數(shù)傳遞定義好的數(shù)據(jù)增強(qiáng)方法即可完成對(duì)自帶數(shù)據(jù)集的增強(qiáng)train_dataset=paddle.vision.datasets.MNIST(mode='train',transform=transform)三、模型開發(fā)自定義數(shù)據(jù)集importpaddlefrompaddle.ioimportDatasetfrompaddle.vision.transformsimportCompose,ResizeBATCH_SIZE=64BATCH_NUM=20IMAGE_SIZE=(28,28)CLASS_NUM=10classMyDataset(Dataset):def__init__(self,num_samples):super(MyDataset,self).__init__()self.num_samples=num_samples#在`__init__`中定義數(shù)據(jù)增強(qiáng)方法,此處為調(diào)整圖像大小self.transform=Compose([Resize(size=32)])三、模型開發(fā)def__getitem__(self,index):data=paddle.uniform(IMAGE_SIZE,dtype='float32')#在`__getitem__`中對(duì)數(shù)據(jù)集使用數(shù)據(jù)增強(qiáng)方法data=self.transform(data.numpy())label=paddle.randint(0,CLASS_NUM-1,dtype='int64')returndata,labeldef__len__(self):returnself.num_samples#測(cè)試定義的數(shù)據(jù)集custom_dataset=MyDataset(BATCH_SIZE*BATCH_NUM)print('=============customdataset=============')fordata,labelincustom_dataset:print(data.shape,label.shape)break三、模型開發(fā)2、模型組網(wǎng)(1)內(nèi)置模型在PaddlePaddle框架中內(nèi)置了計(jì)算機(jī)視覺領(lǐng)域的常用模型,在進(jìn)行計(jì)算機(jī)視覺任務(wù)實(shí)現(xiàn)過程中,可以通過調(diào)用內(nèi)置的模型,這些內(nèi)置模型存儲(chǔ)在paddle.vision.models目錄下,可以通過以下命令查看內(nèi)置的網(wǎng)絡(luò)模型。print('飛槳框架內(nèi)置模型:',paddle.vision.models.__all__)如果想調(diào)用飛槳框架內(nèi)置模型中的LeNet模型,示例代碼如下所示。lenet=paddle.vision.models.LeNet()三、模型開發(fā)2、模型組網(wǎng)可以使用paddle.summary()方法查看模型的每一層輸入輸出,示例代碼如下所示。paddle.summary(lenet,

(64,

1,

28,

28))運(yùn)行代碼,會(huì)發(fā)現(xiàn)顯示出lenet模型的結(jié)構(gòu)和輸入輸出,以及l(fā)enet模型中包含的數(shù)據(jù),如圖所示。三、模型開發(fā)(2)使用Sequential構(gòu)建模型的語法格式如下所示。classpaddle.nn.Sequential(*layers)使用Sequential構(gòu)建模型示例代碼如下所示。importpaddle#Sequential形式組網(wǎng)mnist=paddle.nn.Sequential(#構(gòu)造一個(gè)Flatten類的可調(diào)用對(duì)象paddle.nn.Flatten(),#定義一個(gè)線性變換層,輸入值為28*28=784,輸出層為512。paddle.nn.Linear(784,512),#使用ReLU激活函數(shù)paddle.nn.ReLU(),#正則化數(shù)據(jù),設(shè)置丟棄代理為0.2paddle.nn.Dropout(0.2),paddle.nn.Linear(512,10))三、模型開發(fā)(3)在forward中使用聲明的Layer變量進(jìn)行前向計(jì)算。示例代碼如下所示。#Layer類繼承方式組網(wǎng)classMnist(paddle.nn.Layer):def__init__(self):super(Mnist,self).__init__()self.flatten=paddle.nn.Flatten()self.linear_1=paddle.nn.Linear(784,512)self.linear_2=paddle.nn.Linear(512,10)self.relu=paddle.nn.ReLU()self.dropout=paddle.nn.Dropout(0.2)defforward(self,inputs):y=self.flatten(inputs)y=self.linear_1(y)y=self.relu(y)y=self.dropout(y)y=self.linear_2(y)returnymnist_2=Mnist()三、模型開發(fā)3、模型訓(xùn)練第一步:通過Sequential方法對(duì)模型進(jìn)行組網(wǎng),通過paddle.Model對(duì)模型進(jìn)行封裝。#定義網(wǎng)絡(luò)結(jié)構(gòu)(采用Sequential組網(wǎng)方式)mnist=paddle.nn.Sequential(paddle.nn.Flatten(1,-1),paddle.nn.Linear(784,512),paddle.nn.ReLU(),paddle.nn.Dropout(0.2),paddle.nn.Linear(512,10))model=paddle.Model(mnist)三、模型開發(fā)3、模型訓(xùn)練第二步:在使用Model.fit進(jìn)行模型訓(xùn)練時(shí),需要通過Model.prepare()接口提前配置模型優(yōu)化器、Loss計(jì)算方法和精度計(jì)算方法等。#為模型訓(xùn)練做準(zhǔn)備,設(shè)置優(yōu)化器,損失函數(shù)和精度計(jì)算方式model.prepare(paddle.optimizer.Adam(parameters=model.parameters()),paddle.nn.CrossEntropyLoss(),paddle.metric.Accuracy())三、模型開發(fā)3、模型訓(xùn)練第三步:做好準(zhǔn)備工作后,調(diào)用fit()來啟動(dòng)訓(xùn)練過程,fit中主要包含訓(xùn)練數(shù)據(jù)集、訓(xùn)練輪次和單次訓(xùn)練數(shù)據(jù)批次大小。#啟動(dòng)模型訓(xùn)練,指定訓(xùn)練數(shù)據(jù)集,設(shè)置訓(xùn)練輪次,設(shè)置每次數(shù)據(jù)集計(jì)算的批次大小,設(shè)置日志格式model.fit(train_dataset,epochs=5,batch_size=64,verbose=1)三、模型開發(fā)3、模型訓(xùn)練第四步:訓(xùn)練好的模型進(jìn)行評(píng)估可以使用evaluate()。#用evaluate在測(cè)試集上對(duì)模型進(jìn)行驗(yàn)證eval_result=model.evaluate(test_dataset,verbose=1)第五步:使用model.predict()對(duì)訓(xùn)練好的模型進(jìn)行預(yù)測(cè)驗(yàn)證,驗(yàn)證過程中只需要使用訓(xùn)練好的模型對(duì)預(yù)測(cè)測(cè)試數(shù)據(jù)進(jìn)行計(jì)算即可。#用predict在測(cè)試集上對(duì)模型進(jìn)行測(cè)試test_result=model.predict(test_dataset)四、任務(wù)實(shí)施采用uci-housing數(shù)據(jù)集,這是經(jīng)典線性回歸的數(shù)據(jù)集。數(shù)據(jù)集共7084條數(shù)據(jù),可以拆分成506行,每行14列。前13列用來描述房屋的各種信息,最后一列為該類房屋價(jià)格中位數(shù)。前13列用來描述房屋的各種信息。1、任務(wù)背景四、任務(wù)實(shí)施2、實(shí)驗(yàn)思路感謝觀看任務(wù)4線性回歸—預(yù)測(cè)程序員月薪任務(wù)4線性回歸—預(yù)測(cè)程序員月薪010203機(jī)器學(xué)習(xí)線性回歸sklearn庫(kù)一、機(jī)器學(xué)習(xí)1、什么是機(jī)器學(xué)習(xí)機(jī)器學(xué)習(xí)是實(shí)現(xiàn)人工智能的一種途徑,它是讓計(jì)算機(jī)通過一定的算法去分析數(shù)據(jù)中存在的規(guī)律,不斷提升對(duì)新數(shù)據(jù)預(yù)測(cè)性能的過程。換一種說法機(jī)器學(xué)習(xí)是研究計(jì)算機(jī)如何模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為。我們可以將這種關(guān)系以模型權(quán)重的方式存儲(chǔ)下來,進(jìn)而使用模型對(duì)未知結(jié)果的學(xué)生進(jìn)行預(yù)測(cè)。這里的權(quán)重表示專業(yè)課和選修課對(duì)結(jié)果的影響程度是不同的。1分類算法2回歸算法3聚類算法一、機(jī)器學(xué)習(xí)2、機(jī)器學(xué)習(xí)算法分類二、線性回歸如圖所示,橫軸表示房屋面積,縱軸表示房?jī)r(jià),圖中散點(diǎn)是部分抽樣的數(shù)據(jù)。那么從散點(diǎn)分布上來看,自變量房屋面積與房?jī)r(jià)之間存在著一定的線性關(guān)系,y=ax+b。直線與x軸夾角的正切就是斜率a,直線與y軸的交點(diǎn)也就是截距b。我們把上面一元函數(shù)中的參數(shù)代號(hào)變換一下,即把a(bǔ)變成w,那么函數(shù)形式就變成了y=wx+b,這就成了機(jī)器學(xué)習(xí)中一元線性回歸模型的表述,這里的w就稱為權(quán)重,b稱為偏置。三、sklearn庫(kù)sklearn是針Python編程語言的免費(fèi)機(jī)器學(xué)習(xí)庫(kù),廣泛地用于實(shí)際生產(chǎn)工作中,使用sklearn進(jìn)行機(jī)器學(xué)習(xí),能有效地降低學(xué)習(xí)門檻。sklearn是一款開源的Python機(jī)器學(xué)習(xí)庫(kù),它基于NumPy和SciPy,提供了大量用于數(shù)據(jù)挖掘和分析的工具,以及支持多種算法的一系列接口。在派Lab實(shí)訓(xùn)環(huán)境中已經(jīng)內(nèi)置了sklearn庫(kù),如果想要使用sklearn中的某些方法,我們首先要導(dǎo)入sklearn庫(kù)。#導(dǎo)入sklearn包,并將其命名為skimportsklearnassk#查看sklearn包是否導(dǎo)入成功sk三、sklearn庫(kù)如果顯示以下結(jié)果,則表示導(dǎo)入成功。<module'sklearn'from'/opt/conda/lib/python3.9/site-packages/sklearn/__init__.py'>四、任務(wù)實(shí)施回歸問題就是預(yù)測(cè)自變量與因變量之間的關(guān)系,是機(jī)器學(xué)習(xí)中常見的基本問題。本任務(wù)將通過構(gòu)建線性回歸模型實(shí)現(xiàn)對(duì)程序員月薪的自動(dòng)預(yù)測(cè),從而學(xué)習(xí)機(jī)器學(xué)習(xí)中的線性回歸算法的基本原理以及熟練掌握線性回歸算法的應(yīng)用流程。預(yù)測(cè)程序員月薪使用的數(shù)據(jù)集包含1800名程序員的樣本數(shù)據(jù),其中包含程序員的性別、年齡、工齡(入職月數(shù))、月薪。1、任務(wù)背景四、任務(wù)實(shí)施2、實(shí)驗(yàn)思路感謝觀看任務(wù)5

卷積神經(jīng)網(wǎng)絡(luò)—貓狗分類任務(wù)5

卷積神經(jīng)網(wǎng)絡(luò)—貓狗分類0102機(jī)器學(xué)習(xí)分類卷積神經(jīng)網(wǎng)絡(luò)概述一、機(jī)器學(xué)習(xí)分類1、監(jiān)督學(xué)習(xí)監(jiān)督學(xué)習(xí)是指已知樣本的結(jié)果(比如考試答案,生產(chǎn)結(jié)果等),使其達(dá)到所要求性能或結(jié)果的過程,主要任務(wù)是通過標(biāo)記的訓(xùn)練數(shù)據(jù)來推斷一個(gè)其中對(duì)應(yīng)的功能,其訓(xùn)練數(shù)據(jù)包括類別信息(數(shù)據(jù)標(biāo)簽和特征),如圖所示有一個(gè)樣本唐老鴨和根據(jù)它的特征定義的模型,從而得出結(jié)果是它屬于鴨子類。線性回歸屬于監(jiān)督學(xué)習(xí)。一、機(jī)器學(xué)習(xí)分類2、非監(jiān)督學(xué)習(xí)非監(jiān)督學(xué)習(xí)也稱為無監(jiān)督學(xué)習(xí),其樣本中只含有特征,不包含標(biāo)簽信息,因此在訓(xùn)練時(shí)并不知道分類的結(jié)果是否正確。如圖所示,有一群小動(dòng)物沒有任何標(biāo)簽,讓機(jī)器自己學(xué)習(xí)來對(duì)小動(dòng)物進(jìn)行歸類,把有相似特征的歸屬于一類,把五個(gè)小動(dòng)物分為了兩組一組有鴨子的特征,另一組包含的是其他動(dòng)物。一、機(jī)器學(xué)習(xí)分類2、非監(jiān)督學(xué)習(xí)當(dāng)有新數(shù)據(jù)(另一個(gè)鴨子)來的時(shí)候會(huì)把預(yù)測(cè)模型拿出來比對(duì),對(duì)他進(jìn)行歸類。如圖所示,它屬于鴨子類。二、卷積神經(jīng)網(wǎng)絡(luò)概述CNN可以應(yīng)用在場(chǎng)景分類,圖像分類,現(xiàn)在還可以應(yīng)用到自然語言處理(NLP)方面的很多問題,比如句子分類等。下面如圖是一個(gè)簡(jiǎn)單的CNN結(jié)構(gòu),這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)是用于一個(gè)四類分類的問題,分別是狗、貓、船和鳥,圖中的輸入圖片是屬于船一類。二、卷積神經(jīng)網(wǎng)絡(luò)概述1、輸入層輸入層負(fù)責(zé)神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入,例如在處理圖像時(shí),輸入層代表圖片的像素矩陣。在卷積神經(jīng)網(wǎng)絡(luò)中用三維張量類型表示(Length,Width,Channel),Length和Width代表圖像大小尺寸,Channel代表圖像的色彩通道,例如黑白圖像的深度為1,彩色圖像(RGB色彩模式)的深度為3。二、卷積神經(jīng)網(wǎng)絡(luò)概述2、卷積層卷積層也被稱為過濾器或者內(nèi)核,在卷積層中通過一塊塊卷積核(ConventionalKernel)在原始圖像上平移來提取特征,卷積層中每個(gè)節(jié)點(diǎn)的輸入是上一層的一小塊數(shù)據(jù),卷積層將神經(jīng)網(wǎng)絡(luò)中每一塊數(shù)據(jù)進(jìn)行深入分析,提取特征,得到特征映射。通常卷積層處理過的節(jié)點(diǎn)矩陣會(huì)變深。二、卷積神經(jīng)網(wǎng)絡(luò)概述2、卷積層不同的卷積核可以處理不同問題,如圖所示,使用卷積操作實(shí)現(xiàn)辣椒邊緣檢測(cè)。在卷積層提取數(shù)據(jù)特征進(jìn)行的操作叫作卷積運(yùn)算,如圖所示,卷積運(yùn)算對(duì)兩個(gè)輸入張量(輸入和卷積核)進(jìn)行卷積,并輸出一個(gè)代表來自每個(gè)輸入的信息的張量。二、卷積神經(jīng)網(wǎng)絡(luò)概述3、激勵(lì)層激勵(lì)層使用激活函數(shù)為神經(jīng)網(wǎng)絡(luò)引入非線性,非線性意味著輸入和輸出的關(guān)系是一條曲線,能夠刻畫輸入中更為復(fù)雜的變化。在搭建CNN時(shí)主要使用tf.nn.relu(修正線性單元)。評(píng)價(jià)某個(gè)激活函數(shù)是否有用時(shí),主要考慮以下兩個(gè)因素:函數(shù)是單調(diào)的,這樣輸出便會(huì)隨著輸入的增長(zhǎng)而增長(zhǎng),使利用梯度下降法尋找局部極值點(diǎn)成為可能。函數(shù)是可微分的,保證該函數(shù)定義域內(nèi)的任意一點(diǎn)上導(dǎo)數(shù)都存在,使梯度下降法能夠正常使用來自這類激活函數(shù)的輸出。12二、卷積神經(jīng)網(wǎng)絡(luò)概述4、池化層使用池化層既可以加快計(jì)算速度也有防止過擬合問題的作用。和卷積層類似,池化層前向傳播的過程也是通過移動(dòng)一個(gè)類似過濾器的結(jié)構(gòu)完成的,池化層使用最大值計(jì)算的操作叫作最大池化層(max-pooling),使用平均值計(jì)算的操作叫作平均池化層(mean-pooling)。二、卷積神經(jīng)網(wǎng)絡(luò)概述4、池化層圖中有一個(gè)4×4的平面,使用2×2的過濾器且步長(zhǎng)為2進(jìn)行池化。使用最大池化操作過濾器篩選出每次中的最大數(shù)值,使用平均池化操作過濾器將所有數(shù)據(jù)累加求取平均值作為池化特征結(jié)果。最大池化通常使用2×2的卷積核,主要原因在于它是在單個(gè)通路上能夠?qū)嵤┑淖钚?shù)量的降采樣,若使用1×1的卷積核,則輸出與輸入相同。平均池化用于當(dāng)整個(gè)卷積核都非常重要時(shí),若需實(shí)現(xiàn)值的縮減,平均池化非常有效。二、卷積神經(jīng)網(wǎng)絡(luò)概述5、全連接層全連接層每一個(gè)神經(jīng)元都和上一層所有神經(jīng)元相連,主要通過激活函數(shù)實(shí)現(xiàn)預(yù)測(cè)分類,經(jīng)過多次卷積層和池化層的處理后,此時(shí)數(shù)據(jù)中的信息已經(jīng)抽象成了信息含量更高的特征,在卷積神經(jīng)網(wǎng)絡(luò)的最后通常由1到2個(gè)全連接層完成分類任務(wù)。三、任務(wù)實(shí)施貓狗分類使用CIFAR10數(shù)據(jù)集,CIFAR10數(shù)據(jù)集包含60,000張32x32的彩色圖片,10個(gè)類別,每個(gè)類包含6,000張。其中50,000張圖片作為訓(xùn)練集,10000張作為驗(yàn)證集。1、任務(wù)背景三、任務(wù)實(shí)施2、實(shí)驗(yàn)思路感謝觀看任務(wù)6

LeNet之眼疾識(shí)別任務(wù)6

LeNet之眼疾識(shí)別01020304LeNet-5AlexNetVGGNetGoogleLeNet一、LeNet-5LeNet-5卷積神經(jīng)網(wǎng)絡(luò)利用卷積、參數(shù)共享、池化等操作提取特征,避免大量的計(jì)算成本,最后再使用全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行分類識(shí)別。LeNet-5共包含七層卷積網(wǎng)絡(luò)(不包含輸入層)組成,結(jié)構(gòu)如圖所示,輸入的原始圖像大小是32*32像素,卷積層使用C開頭,池化層使用S開頭,全連接使用F開頭。一、LeNet-5使用LeNet神經(jīng)網(wǎng)絡(luò)的工作流程如下所示:(1)卷積層(C1層),卷積核的大小為5*5,卷積核數(shù)量為6個(gè),輸出結(jié)果大小為28*28,即(32-5+1)×(32-5+1)=28×28,由于同個(gè)卷積核每個(gè)神經(jīng)元均使用相同的參數(shù),因此參數(shù)個(gè)數(shù)為(5×5+1)×6=156,其中5×5為卷積核參數(shù),1為偏置參數(shù);每層的連接數(shù)為每個(gè)卷積核參數(shù)*特征圖,即(5×5+1)×6×28×28=122304個(gè)連接數(shù)。(2)S2層S2是一個(gè)池化層,主要作用是做池化或特征降維,池化單元為2*2,所以6個(gè)特征圖的大小經(jīng)池化后變?yōu)?4*14。與常見的池化不同,該模型中,池化單元之間沒有重疊,在池化區(qū)域內(nèi)進(jìn)行聚合統(tǒng)計(jì)后得到新的特征值,相當(dāng)于圖像大小減半,因此卷積后的28×28圖像經(jīng)2×2池化后就變?yōu)?4×14,而圖像的個(gè)數(shù)沒有改變。一、LeNet-5(3)C3層C3卷積層的計(jì)算方式和C1相同,得出C3層的特征圖大小為(14-5+1)×(14-5+1)=10×10,該層有16個(gè)卷積核,卷積模板大小為5*5。與C1的最大區(qū)別是,C3中每個(gè)特征圖中的元素會(huì)與S2層中若干個(gè)特征圖中處于相同位置的5x5的區(qū)域相連,C3與S2并不是全連接而是部分連接,有些是C3連接到S2三層、有些四層、甚至達(dá)到6層,連接規(guī)則如圖所示。一、LeNet-5(4)S4層層S4是與S2類似,池化單元大小為2*2,有16個(gè)特征圖,每個(gè)大小為5*5,輸出為16個(gè)5*5的特征圖。S4層有32個(gè)可訓(xùn)練參數(shù)和2000個(gè)連接。(5)C5層該層有120個(gè)卷積核,每個(gè)卷積核的大小仍為5*5,有120個(gè)特征圖。由于S4層的大小為5×5,而該層的卷積核大小也是5×5,因此特征圖大小為(5-5+1)×(5-5+1)=1×1。這樣該層就剛好變成了全連接。注意:這里出現(xiàn)全連接純屬巧合。(6)F6全連接層F6就是一個(gè)簡(jiǎn)單的全連接層,它由84個(gè)神經(jīng)元構(gòu)成。和傳統(tǒng)的全連接一樣每個(gè)神經(jīng)元將C5層中的特征圖的值乘上相應(yīng)的權(quán)重并相加,再加上對(duì)應(yīng)的偏置再經(jīng)過激活函數(shù)(tanh/sigmoid)。該層有84個(gè)特征圖,F(xiàn)6層共有84×(120+1)=10164個(gè)可訓(xùn)練的參數(shù)。一、LeNet-5(6)說明:84個(gè)神經(jīng)元是源于輸出層的設(shè)計(jì),對(duì)應(yīng)于7*12個(gè)比特圖,其中-1表示白色,1表示黑色,這樣每個(gè)符號(hào)的比特圖的黑白色就對(duì)應(yīng)于一個(gè)編碼。具體如圖所示。(7)OUTPUT層OUTPUT層也稱輸出層,是一個(gè)全連接層,共有10個(gè)節(jié)點(diǎn),分別代表數(shù)字0~9,如果第i個(gè)節(jié)點(diǎn)的值為0,則表示網(wǎng)絡(luò)識(shí)別的結(jié)果是數(shù)字i。二、AlexNetAlexNet卷積神經(jīng)網(wǎng)絡(luò)自2012年誕生之后,帶來深度學(xué)習(xí)的大爆發(fā),使CNN成為在圖像識(shí)別分類的核心算法模型。AlexNet是在LeNet基礎(chǔ)上加深網(wǎng)絡(luò)的結(jié)構(gòu),在使用過程中有以下特點(diǎn):有更深的網(wǎng)絡(luò)結(jié)構(gòu)。使用卷積層+卷積層+池化層來提取圖像的特征。使用Dropout抑制過擬合。使用Relu替換之前的sigmoid作為激活函數(shù)。能夠支持多GPU訓(xùn)練。二、AlexNetAlexNet網(wǎng)絡(luò)結(jié)構(gòu)共有8層,前面5層是卷積層,后面3層是全連接層,采用兩個(gè)GPU進(jìn)行訓(xùn)練,結(jié)構(gòu)圖由上下兩部分組成,一個(gè)GPU運(yùn)行圖上方的層,另一個(gè)運(yùn)行圖下方的層,兩個(gè)GPU只在特定的層通信。例如第二、四、五層卷積層的核只和同一個(gè)GPU上的前一層的核特征圖相連,第三層卷積層和第二層所有的核特征圖相連接,全連接層中的神經(jīng)元和前一層中的所有神經(jīng)元相連接。三、VGGNet在VGGNet中全部使用3*3的卷積核和2*2的池化層,通過不斷加深網(wǎng)絡(luò)結(jié)構(gòu)來提升性能。在模型結(jié)構(gòu)中,深度從11層到19層不等,VGGNet把網(wǎng)絡(luò)分成5段,每段都把多個(gè)3*3的卷積網(wǎng)絡(luò)串聯(lián)在一起,每段卷積后面接一個(gè)最大池化層,最后是3個(gè)全連接層和1個(gè)激活層。三、VGGNet使用VGGNet模型結(jié)構(gòu)形象的展示圖片識(shí)別的過程如圖所示??梢钥吹桨矸e層、全連接層和輸出層。一般輸入的圖像為224*224。在使用過程中VGG的訓(xùn)練過程比AlexNet收斂的快一些,主要是因?yàn)閂GG使用的卷積核小,網(wǎng)絡(luò)結(jié)構(gòu)深,在特定的層中使用了預(yù)訓(xùn)練得到的數(shù)據(jù)進(jìn)行參數(shù)的初始化,同時(shí)引入1*1的卷積核,在不影響輸入輸出維度的情況下,引入非線性變換,增加網(wǎng)絡(luò)的表達(dá)能力,降低計(jì)算量。四、GoogleLeNetGoogleLeNet是一款網(wǎng)絡(luò)架構(gòu)簡(jiǎn)潔神經(jīng)網(wǎng)絡(luò),是一個(gè)有22層深度的網(wǎng)絡(luò),在該模型中,提出了一種Inception結(jié)構(gòu)。Inception結(jié)構(gòu)是一個(gè)將多個(gè)卷積或者池化操作放在一起組成的網(wǎng)絡(luò)模塊,在設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)時(shí),以模塊為單元去組裝整個(gè)網(wǎng)絡(luò)結(jié)構(gòu),其目的是將稀疏矩陣聚類為較為密集的子矩陣來提高計(jì)算性能,從而增加神經(jīng)網(wǎng)絡(luò)的表現(xiàn)又能保證計(jì)算資源的有效性。四、GoogleLeNetInception是GoogleLeNet中核心組成單元,歷經(jīng)V1、V2、V3、V4等多個(gè)版本的發(fā)展,不斷趨于完善。其中:在V1中使用1*1的卷積核,采用多尺度卷積核。在V2中,采用BatchNormalization(批歸一化)在V3中,采用非對(duì)稱卷積降低運(yùn)算量在V4中,結(jié)合了ResNet中的思想,發(fā)現(xiàn)ResidualConnections貌似只能加快網(wǎng)絡(luò)收斂速度,使更大的網(wǎng)絡(luò)規(guī)模提高了精度。五、任務(wù)實(shí)施如今近視已經(jīng)成為困擾人們健康的一項(xiàng)全球性負(fù)擔(dān),在近視人群中,有超過35%的人患有重度近視。近視會(huì)拉長(zhǎng)眼睛的光軸,也可能引起視網(wǎng)膜或者脈絡(luò)網(wǎng)膜的病變。隨著近視度數(shù)的不斷加深,高度近視有可能引發(fā)病理性病變,這將會(huì)導(dǎo)致以下幾種癥狀:視網(wǎng)膜或者脈絡(luò)網(wǎng)膜發(fā)生退化、視盤區(qū)域萎縮、漆裂樣紋損害、Fuchs斑等。因此,及早發(fā)現(xiàn)近視患者眼睛的病變并采取治療,顯得非常重要。1、任務(wù)背景五、任務(wù)實(shí)施2、實(shí)驗(yàn)思路感謝觀看任務(wù)7RNN實(shí)現(xiàn)謠言監(jiān)測(cè)任務(wù)7RNN實(shí)現(xiàn)謠言監(jiān)測(cè)0102循環(huán)神經(jīng)網(wǎng)絡(luò)LSTM模型一、循環(huán)神經(jīng)網(wǎng)絡(luò)循環(huán)神經(jīng)網(wǎng)絡(luò),簡(jiǎn)稱RNN,是一種對(duì)時(shí)間序列顯示建模的神經(jīng)網(wǎng)絡(luò),主要對(duì)文本語義和時(shí)序信息進(jìn)行處理和預(yù)測(cè),通常情況下與自然語言處理相互結(jié)合使用,循環(huán)神經(jīng)網(wǎng)絡(luò)包含輸入層、隱藏層和輸出層。一、循環(huán)神經(jīng)網(wǎng)絡(luò)以語言翻譯為例,若需要翻譯語句ABCD,此時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)的第一段每一個(gè)時(shí)刻的輸入就分別是A、B、C和D,用“_”作為待翻譯語句的結(jié)束符,在第一段中循環(huán)神經(jīng)網(wǎng)絡(luò)只有輸入沒有輸出,從結(jié)束符“_”開始,循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)入翻譯階段,此時(shí)每一個(gè)時(shí)刻的輸入是上一個(gè)時(shí)刻的輸出,最終得到的輸出XYZ就是語句ABCD翻譯的結(jié)果,翻譯輸出結(jié)束符“_”時(shí)表示翻譯結(jié)束。二、LSTM模型長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)簡(jiǎn)稱LSTM,是循環(huán)神經(jīng)網(wǎng)絡(luò)的一個(gè)變體,能夠有效地解決長(zhǎng)期依賴問題/梯度消失問題。LSTM模型的關(guān)鍵是引入了一組記憶單元(MemoryUnits),允許網(wǎng)絡(luò)可以學(xué)習(xí)何時(shí)遺忘歷史信息,何時(shí)用新信息更新記憶單元。在時(shí)刻t時(shí),記憶單元ct記錄了到當(dāng)前時(shí)刻為止的所有歷史信息,并受三個(gè)“門”控制:輸入門it,遺忘門ft和輸出門ot。三個(gè)門的元素的值在[0,1]之間。其核心為記憶(細(xì)胞狀態(tài))和門機(jī)制。二、LSTM模型門(Gate)是一種可選地讓信息通過的方式。它由一個(gè)Sigmoid神經(jīng)網(wǎng)絡(luò)層和一個(gè)點(diǎn)乘法運(yùn)算組成。Sigmoid神經(jīng)網(wǎng)絡(luò)層輸出0和1之間的數(shù)字,這個(gè)數(shù)字描述每個(gè)組件有多少信息可以通過,0表示不通過任何信息,1表示全部通過。遺忘門是決定從細(xì)胞狀態(tài)中丟棄什么信息,同時(shí)查看ht-1(前一個(gè)隱藏狀態(tài))和xt(當(dāng)前輸入)并為狀態(tài)Ct-1(上一個(gè)狀態(tài))中的每個(gè)數(shù)字輸出0-1之間的數(shù)字,其中1表示完全保留,0表示徹底刪除。輸入門決定要在細(xì)胞狀態(tài)中存儲(chǔ)的信息,在輸入過程中首先經(jīng)過Sigmoid層,該層決定了將更新的值,之后tanh層創(chuàng)建候選向量,該向量會(huì)被加到細(xì)胞的狀態(tài)中,最終結(jié)合這兩個(gè)向量來創(chuàng)建更新值,輸出門決定要輸出的內(nèi)容,通過Sigmoid層決定輸出細(xì)胞狀態(tài)中的內(nèi)容,之后將細(xì)胞狀態(tài)通過tanh并乘以Sigmoid門的輸出。三、任務(wù)實(shí)施傳統(tǒng)的謠言檢測(cè)模型一般根據(jù)謠言的內(nèi)容、用戶屬性、傳播方式人工地構(gòu)造特征,而人工構(gòu)建特征存在考慮片面、浪費(fèi)人力等現(xiàn)象。本次實(shí)踐使用基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的謠言檢測(cè)模型,將文本中的謠言事件向量化,通過循環(huán)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練來挖掘表示文本深層的特征,避免了特征構(gòu)建的問題,并能發(fā)現(xiàn)那些不容易被人發(fā)現(xiàn)的特征,從而產(chǎn)生更好的效果。1、任務(wù)背景三、任務(wù)實(shí)施2、實(shí)驗(yàn)思路感謝觀看任務(wù)8GRU電影評(píng)論情感分析任務(wù)8GRU電影評(píng)論情感分析0102自然語言處理詞向量Word2Vec一、自然語言處理1、自然語言處理概述自然語言處理簡(jiǎn)稱NLP,是計(jì)算機(jī)科學(xué)和人工智能的一個(gè)重要領(lǐng)域和方向,主要目的是研究人與計(jì)算機(jī)之間的相互通訊的理論和方法,換句話說,計(jì)算機(jī)是通過用戶以自然語言數(shù)據(jù)作為輸入,在內(nèi)部通過定義的算法進(jìn)行加工和處理,從而返回用戶所期望得到的結(jié)果。自然語言處理的任務(wù)主要包括兩大核心任務(wù),即自然語言理解(NaturalLanguageUnderstanding,NLU)與自然語言生成(NaturalLanguageGeneration,NLG)。一、自然語言處理2、自然語言處理發(fā)展歷程自然語言處理的發(fā)展大致可以劃分為4個(gè)階段,即萌芽期、快速發(fā)展期、低谷發(fā)展期和復(fù)興融合期。(1)萌芽期一、自然語言處理2、自然語言處理發(fā)展歷程(2)快速發(fā)展期在1957-1970年期間自然語言處理的發(fā)展稱為自然語言處理的快速發(fā)展期,在這一時(shí)期,自然語言處理很快融入了人工智能領(lǐng)域的研究,大量的自然語言研究工作都聚焦從語言學(xué)角度,分析自然語言的詞法、句法等結(jié)構(gòu)信息,并通過總結(jié)這些結(jié)構(gòu)之間的規(guī)則,達(dá)到處理和使用自然語言的目的。(3)低谷發(fā)展期1971-1993年期間稱為自然語言處理的低谷發(fā)展期,由于計(jì)算機(jī)語料庫(kù)中的信息有限,自然語言處理的理論和技術(shù)處于一個(gè)低迷期,歐共體、美國(guó)、蘇聯(lián)等先后都有巨大的資金投入,卻沒有讓自然語言處理得到實(shí)質(zhì)性的創(chuàng)新與突破,此階段相對(duì)之前的發(fā)展稱為低谷發(fā)展期。一、自然語言處理2、自然語言處理發(fā)展歷程(4)復(fù)興融合期1994年至今稱為自然語言處理的復(fù)興融合期。在這一時(shí)期,自然語言處理領(lǐng)域具有兩個(gè)鮮明特征,分別是大規(guī)模性和真實(shí)可用性。大規(guī)模性意味著計(jì)算機(jī)對(duì)自然語言的處理有了更深的層次要求,對(duì)文本信息的輸入和處理不再是單一或片段語句;真實(shí)可用性強(qiáng)調(diào)計(jì)算機(jī)輸出的文本處理內(nèi)容在“豐富度”方面的要求,提高了計(jì)算機(jī)在自然語言處理結(jié)果中所包含信息的可利用程度,最終達(dá)到能夠?qū)ψ匀徽Z言文本進(jìn)行自動(dòng)檢索、自動(dòng)提取重要信息并進(jìn)行自動(dòng)摘要的要求。一、自然語言處理3、自然語言處理應(yīng)用(1)搜索引擎人們每天都在享受著搜索引擎帶來的便捷,當(dāng)我們不小心寫了錯(cuò)別字,搜索引擎會(huì)更正它們,仍然會(huì)找到需要的相關(guān)結(jié)果。一、自然語言處理3、自然語言處理應(yīng)用(2)機(jī)器翻譯翻譯就是把一種語言文字的意義用另一種語言文字表達(dá)出來。那么機(jī)器翻譯,顧名思義,就是由機(jī)器來完成這樣的工作。百度翻譯等類似的應(yīng)用來查找特定單詞或短語在英語或其他語言中的含義,這背后的技術(shù)就是機(jī)器翻譯。一、自然語言處理3、自然語言處理應(yīng)用(3)個(gè)性化推薦系統(tǒng)推薦系統(tǒng)依賴于數(shù)據(jù)、算法、人機(jī)交互等環(huán)節(jié)的相互配合。自然語言處理利用大數(shù)據(jù)和歷史行為記錄,借助數(shù)據(jù)挖掘、信息檢索和計(jì)算統(tǒng)計(jì)學(xué)等技術(shù),能夠?qū)W習(xí)出用戶的興趣愛好,預(yù)測(cè)出用戶對(duì)特定物品的偏好,實(shí)現(xiàn)對(duì)用戶意圖的精準(zhǔn)理解,同時(shí)對(duì)語言進(jìn)行匹配計(jì)算,實(shí)現(xiàn)精準(zhǔn)匹配。二、詞向量Word2Vec1、Word2Vec模型簡(jiǎn)介Word2Vec(WordEmbedding)中文名稱為“詞向量”或“詞嵌套”,表示自然語言里單詞的一種方法,即把每個(gè)詞都表示為一個(gè)N維空間內(nèi)的點(diǎn),即一個(gè)高維空間內(nèi)的向量。通過這種方法,實(shí)現(xiàn)把自然語言計(jì)算轉(zhuǎn)換為向量計(jì)算。二、詞向量Word2Vec1、Word2Vec模型簡(jiǎn)介Word2Vec是一種可以從原始語料中學(xué)習(xí)字詞空間向量的預(yù)測(cè)模型,Word2Vec分為CBOW(ContinuousBag-of-Words)和Skip-Gram兩種模式,其中CBOW是用一個(gè)詞的上下文作為輸入來預(yù)測(cè)詞本身,Skip-Gram是用一個(gè)詞語作為輸入,來預(yù)測(cè)它的上下文詞。如圖8-6所示,左側(cè)為CBOW模型,右側(cè)為Skip-Gram模型。二、詞向量Word2Vec1、Word2Vec模型簡(jiǎn)介在CBOW中,先在句子中選定一個(gè)中心詞,并把其他詞作為這個(gè)中心詞的上下文。在Skip-gram中,同樣先選定一個(gè)中心詞,并把其他詞作為這個(gè)中心詞的上下文。二、詞向量Word2Vec2、門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)GRU模型如圖所示,GRU模型有兩個(gè)門,即“重置門r”和“更新門z”,“重置門”決定如何組合新輸入和之前的記憶,“重置門”越小說明忽略得越多,“更新門”決定留下多少之前的記憶,“更新門”的值越大說明前一時(shí)刻的狀態(tài)信息帶入越多。若將重置門都設(shè)為1,更新門都設(shè)為0,就得到普通的RNN模型。三、任務(wù)實(shí)施IMDB數(shù)據(jù)集是一個(gè)對(duì)電影評(píng)論標(biāo)注為正向評(píng)論與負(fù)向評(píng)論的數(shù)據(jù)集,共有25000條文本數(shù)據(jù)作為訓(xùn)練集,25000條文本數(shù)據(jù)作為測(cè)試集。該數(shù)據(jù)集的官方地址為:/~amaas/data/sentiment/1、任務(wù)背景三、任務(wù)實(shí)施2、實(shí)驗(yàn)思路感謝觀看任務(wù)9

電影系統(tǒng)推薦任務(wù)9

電影系統(tǒng)推薦01020304推薦系統(tǒng)概述推薦系統(tǒng)本質(zhì)常用的推薦系統(tǒng)算法工業(yè)實(shí)踐中的推薦系統(tǒng)一、推薦系統(tǒng)概述推薦系統(tǒng)是根據(jù)用戶平時(shí)瀏覽的大量數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析,完善用戶的個(gè)性化建模,從而實(shí)現(xiàn)主動(dòng)推薦給用戶能夠滿足他們需求的信息。推薦系統(tǒng)涉及多個(gè)領(lǐng)域,比如電子商務(wù)、電影視頻、社交網(wǎng)絡(luò)、位置服務(wù)等。一、推薦系統(tǒng)概述推薦系統(tǒng)的思想主要是利用用戶和物品的特征信息、用戶喜歡過的物品或用戶相似的其他用戶等信息,來發(fā)現(xiàn)和分析其對(duì)應(yīng)的特征,最終實(shí)現(xiàn)推薦用戶喜歡的特征的物品或相似的物品,在這個(gè)過程中,具體的方式是知你所想、精準(zhǔn)推送、物以類聚、人以群分。二、推薦系統(tǒng)本質(zhì)推薦系統(tǒng)的本質(zhì)是解決“5W”問題,“5W”主要包含who、what、why、when、where,比如當(dāng)用戶在晚間上網(wǎng)閱讀軍事小說時(shí),使用“5w”進(jìn)行分析,在小說的底部向他推薦三國(guó)志游戲,并給出了推薦理由“紙上談兵不如親身實(shí)踐”。三、常用的推薦系統(tǒng)算法常用的推薦系統(tǒng)算法實(shí)有三種,分別是協(xié)同過濾推薦、基于內(nèi)容過濾推薦和組合推薦。其中:1、協(xié)同過濾推薦(CollaborativeFilteringRecommendation):該算法的核心是分析用戶的興趣和行為,利用共同行為習(xí)慣的群體有相似喜好的原則,推薦用戶感興趣的信息。協(xié)同過濾算法又可以簡(jiǎn)單分為兩種:A基于用戶的協(xié)同過濾:根據(jù)用戶的歷史喜好分析出相似興趣的人,然后給用戶推薦其他人喜歡的物品。B基于物品的協(xié)同過濾:根據(jù)用戶的歷史喜好分析出相似物品,然后給用戶推薦同類物品。三、常用的推薦系統(tǒng)算法2、基于內(nèi)容過濾推薦(Content-basedFilteringRecommendation):基于內(nèi)容的過濾是信息檢索領(lǐng)域的重要研究?jī)?nèi)容,是更為簡(jiǎn)單直接的算法,該算法的核心是衡量出兩個(gè)物品的相似度。基于用戶的協(xié)同過濾、基于物品的協(xié)同過濾與基于內(nèi)容過濾推薦的區(qū)別和聯(lián)系如圖所示。三、常用的推薦系統(tǒng)算法3、組合推薦(HybridRecommendation):以上算法各有優(yōu)缺點(diǎn),比如基于內(nèi)容的過濾推薦是基于物品建模,在系統(tǒng)啟動(dòng)初期往往有較好的推薦效果,但是沒有考慮用戶群體的關(guān)聯(lián)屬性;協(xié)同過濾推薦考慮了用戶群體喜好信息,可以推薦內(nèi)容上不相似的新物品,發(fā)現(xiàn)用戶潛在的興趣偏好,但是這依賴于足夠多且準(zhǔn)確的用戶歷史信息。所以,實(shí)際應(yīng)用中往往不只采用某一種推薦方法,而是通過一定的組合方法將多個(gè)算法混合在一起,以實(shí)現(xiàn)更好的推薦效果,比如加權(quán)混合、分層混合等。具體選擇哪種方式和應(yīng)用場(chǎng)景有很大關(guān)系。四、工業(yè)實(shí)踐中的推薦系統(tǒng)(1)推薦來源:推薦來源會(huì)更加多樣化,除了使用深度學(xué)習(xí)模型的方式,還大量使用標(biāo)簽匹配的個(gè)性化推薦方式。此外,推薦熱門的內(nèi)容,具有時(shí)效性的內(nèi)容和一定探索性的內(nèi)容,都非常關(guān)鍵。對(duì)于新聞?lì)惖膬?nèi)容推薦,用戶不希望地球人都在談?wù)摰拇笫伦约汉翢o所知,期望更快更全面的了解。如果用戶經(jīng)常使用的推薦產(chǎn)品總推薦“老三樣”,會(huì)使得用戶喪失“新鮮感”而流失。因此,除了推薦一些用戶喜歡的內(nèi)容之外,謹(jǐn)慎的推薦一些用戶沒表達(dá)過喜歡的內(nèi)容,可探索用戶更廣泛的興趣領(lǐng)域,以便有更多不重復(fù)的內(nèi)容可以向用戶推薦。四、工業(yè)實(shí)踐中的推薦系統(tǒng)(2)檢索系統(tǒng):將推薦系統(tǒng)構(gòu)建成“召回+排序”架構(gòu)的高性能檢索系統(tǒng),以更短的特征向量建倒排索引。在“召回+排序”的架構(gòu)下,通常會(huì)訓(xùn)練出兩種不同長(zhǎng)度的特征向量,使用較短的特征向量做召回系統(tǒng),從海量候選中篩選出幾十個(gè)可能候選。使用較短的向量做召回,性能高但不夠準(zhǔn)確,然后使用較長(zhǎng)的特征向量做幾十個(gè)候選的精細(xì)排序,因?yàn)榇判虻暮蜻x很少,所以性能低一些也影響不大。(3)冷啟動(dòng)問題:用戶行為數(shù)據(jù)的積累。這時(shí),我們往往建立一套專家經(jīng)驗(yàn)的規(guī)則系統(tǒng),比如一個(gè)在美妝行業(yè)工作的店小二對(duì)各類女性化妝品偏好是非常了解的。通過規(guī)則系統(tǒng)運(yùn)行一段時(shí)間積累數(shù)據(jù)后,再逐漸轉(zhuǎn)向機(jī)器學(xué)習(xí)的系統(tǒng)。很多推薦系統(tǒng)也會(huì)主動(dòng)向用戶收集一些信息,比如大家注冊(cè)一些資訊類APP時(shí),經(jīng)常會(huì)要求選擇一些興趣標(biāo)簽。四、工業(yè)實(shí)踐中的推薦系統(tǒng)(4)推薦系統(tǒng)的評(píng)估推薦系統(tǒng)的評(píng)估不僅是計(jì)算模型Loss所能代表的,是使用推薦系統(tǒng)用戶的綜合體驗(yàn)。除了采用更多代表不同體驗(yàn)的評(píng)估指標(biāo)外(準(zhǔn)確率、召回率、覆蓋率、多樣性等),還會(huì)從兩個(gè)方面收集數(shù)據(jù)做分析:行為日志:如用戶對(duì)推薦內(nèi)容的點(diǎn)擊率,閱讀市場(chǎng),發(fā)表評(píng)論,甚至消費(fèi)行為等。人工評(píng)估:選取不同的具有代表性的評(píng)估員,從興趣相關(guān)度、內(nèi)容質(zhì)量、多樣性、時(shí)效性等多個(gè)維度評(píng)估。如果評(píng)估員就是用戶,通常是以問卷調(diào)研的方式下發(fā)和收集。五、任務(wù)實(shí)施個(gè)性化推薦算法的數(shù)據(jù)大多是文本和圖像。比如網(wǎng)易云音樂推薦中,數(shù)據(jù)是音樂的名字、歌手、音樂類型等文本數(shù)據(jù);抖音視頻推薦中,數(shù)據(jù)是視頻或圖像數(shù)據(jù);也有可能同時(shí)使用圖像和文本數(shù)據(jù),比如YouTube的視頻推薦算法中,會(huì)同時(shí)考慮用戶信息和視頻類別、視頻內(nèi)容信息。1、任務(wù)背景五、任務(wù)實(shí)施2、實(shí)驗(yàn)思路感謝觀看任務(wù)10目標(biāo)檢測(cè)-火災(zāi)煙霧檢測(cè)任務(wù)10目標(biāo)檢測(cè)-火災(zāi)煙霧檢測(cè)01020304目標(biāo)檢測(cè)概述常用的開源數(shù)據(jù)集PaddleDetection用戶數(shù)據(jù)處理一、目標(biāo)檢測(cè)概述1、什么是目標(biāo)檢測(cè)目標(biāo)檢測(cè)是計(jì)算機(jī)視覺中重要的一項(xiàng)任務(wù),也叫目標(biāo)提取,主要是找出圖像中所有感興趣的目標(biāo)或者物體,以此來確定它們的類別和位置。目標(biāo)檢測(cè)將目標(biāo)的分割和識(shí)別合二為一,其準(zhǔn)確性和實(shí)時(shí)性是整個(gè)系統(tǒng)的一項(xiàng)重要能力。在目標(biāo)檢測(cè)過程中,每張圖像中物體的數(shù)量、大小和姿態(tài)都不盡相同,造成了非結(jié)構(gòu)化的輸出,這也是和圖像分類最主要的區(qū)別,同時(shí)檢測(cè)的物體時(shí)常會(huì)有遮擋階段,從而造成目標(biāo)檢測(cè)的困難。比如要確定某張給定圖像中是否存在以下類別,比如人、車、狗和貓等實(shí)例過程中,需要根據(jù)圖像理解和計(jì)算機(jī)視覺為基礎(chǔ),通過目標(biāo)檢測(cè)的技術(shù)實(shí)現(xiàn)目標(biāo)實(shí)例的確定,如果存在,就返回每個(gè)目標(biāo)實(shí)例的空間位置和覆蓋范圍。一、目標(biāo)檢測(cè)概述2、目標(biāo)檢測(cè)應(yīng)用場(chǎng)景(1)人臉檢測(cè)和識(shí)別人臉檢測(cè)是通過給定的一幅圖像,采用一定的技術(shù)和策略對(duì)其進(jìn)行搜索從而確定圖像中是否包含人臉,如果包含人臉,則返回人臉的位置、大小和姿態(tài)。人臉識(shí)別是用攝像機(jī)或攝像頭采集含有人臉的圖像或視頻流,并自動(dòng)在圖像中檢測(cè)和跟蹤人臉,進(jìn)而對(duì)檢測(cè)到的人臉進(jìn)行臉部識(shí)別的一系列相關(guān)技術(shù)。一、目標(biāo)檢測(cè)概述2、目標(biāo)檢測(cè)應(yīng)用場(chǎng)景(2)行人檢測(cè)行人檢測(cè)主要應(yīng)用在自動(dòng)駕駛、視頻監(jiān)控和刑事偵查等地方,主要是根據(jù)行人檢測(cè)方法在特征表示、分類器設(shè)計(jì)和檢測(cè)等方面使用進(jìn)行深入研究,行人檢測(cè)效果如圖所示。一、目標(biāo)檢測(cè)概述2、目標(biāo)檢測(cè)應(yīng)用場(chǎng)景(3)文本檢測(cè)文本檢測(cè)是判斷圖片中是否包含文字,如果包含文字,則通過計(jì)算機(jī)對(duì)圖片中的文字進(jìn)行定位和識(shí)別,主要分為文本定位和文本識(shí)別。一、目標(biāo)檢測(cè)概述2、目標(biāo)檢測(cè)應(yīng)用場(chǎng)景文本檢測(cè)可以幫助視覺殘障人士閱讀路牌或者貨幣,在使用過程中,存在以下困難:圖像中可能會(huì)出現(xiàn)不同字體,顏色和不同語言的文本。圖像中可能會(huì)出現(xiàn)具有不同視角和方向的文本。具有大寬高比和高密集文本的文字導(dǎo)致文本檢測(cè)算法難以精確定位。

在街景圖像中,字

溫馨提示

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