人工智能技術導論-課件 第4章 人工智能計算方法_第1頁
人工智能技術導論-課件 第4章 人工智能計算方法_第2頁
人工智能技術導論-課件 第4章 人工智能計算方法_第3頁
人工智能技術導論-課件 第4章 人工智能計算方法_第4頁
人工智能技術導論-課件 第4章 人工智能計算方法_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第4章人工智能計算方法目錄4.1數據的運算與算法4.2人工智能算法4.3人工智能算法工具學習目標眾所周知,數據、算力和算法是人工智能三大支撐要素,而算法是人工智能的靈魂,是人工智能系統(tǒng)的重要支撐之一。算法的優(yōu)劣將直接影響人工智能的水平高低。理解人工智能算法的概念和特征理解人工智能主流算法的基本原理理解人工智能應用算法實現流程理解人工智能算法工具的用法4.1數據的運算與算法4.1數據的運算與算法數據作為實現人工智能的首要因素,是一切智慧學習的載體,如果沒有數據,任何智慧學習都只能是空談。當下,無時無刻不在產生數據,可能是文本、圖片、音頻、視頻等形式的數據,而這些數據需要進行大量的特征化、標量化、向量化的處理,才能真正被算法所用。而算法是在數據變化中產生的,同時又產生數據,是將數據從一種形態(tài)轉換成另一種形態(tài)的方法。世界上任何一種事物都無法用單一的數據或算法進行描述。隨著計算機的出現,人類又嘗試將之前的數學方法用計算機的語言表述出來,算法就這么誕生了。4.1.1數據的運算方法數據運算就是根據某種模式針對數據建立起關系,并進行處理的過程,我們認識數據的運算也是從最基礎的算術運算,到關系運算,再到邏輯運算開始的;其中算術運算,比如:加、減、乘、除、乘方、開方、取模等;關系運算,比如:等于、不等于、大于、小于等;邏輯運算,比如:與、或、非、恒等、蘊含等。隨著數據量的不斷增大,基本的數據運算已經不能滿足人類生活的需要,演算難度也逐漸提高,單靠人的大腦去核算壓根就不可能,就這樣陸續(xù)有了表達式運算、函數運算。4.1.2算法定義和特征在數學和計算機科學中,算法是有明確定義、有限步驟且計算機可執(zhí)行的,通常用于計算、數據處理和自動推理的一組指令序列。算法作為一個復雜的體系,是數學、邏輯學和計算機科學的集合。算法是針對待解決問題之解題方案的準確而完整的描述,即解題步驟,它代表著用系統(tǒng)的方法描述解決問題的。不同問題,算法可能不同。算法和計算機有著密切的聯系,計算機解決任何問題都要依賴于算法,只有將解決問題的過程分解為若干明確的步驟,即算法,并用計算機能夠接受的“語言”準確的描述出來,計算機才能夠解決問題。就是一系列的計算步驟,用來將輸入數據轉化成輸出結果。4.1.2算法定義和特征算法一定是為了解決某一個問題產生。一定是可以解決問題的。空談算法沒有意義。我們舉一個例子理解算法的概念及特征。案例題目:輸入三個數字,然后輸出其中最大的數字。我們將數字依次輸入變量A、B、C當中,設變量MAX存放最大數,算法如下:(1)輸入A、B、C(2)A和B中大的一個放入MAX中(3)把C與MAX中大的一個放入MAX中(4)輸出MAX,MAX即為最大數4.1.2算法定義和特征通過這個例子,我們也可以看出算法的特性:有窮性,確定性、可行性、有輸入、有輸出。其中:輸入:算法具有0個或多個輸入。輸出:算法至少有1個或多個輸出。有窮性:算法在有限的步驟之后會自動結束而不會無限循環(huán),并且每-一個步驟可以在可接受的時間內完成。確定性:算法中的每一步都有確定的含義,不會出現二義性。可行性:算法的每一步都是可行的,也就是說每一步都能夠執(zhí)行有限的次數完。4.1.2算法定義和特征我們可以把所有的算法想象為一本“菜譜”,特定的算法比如菜譜中的的一道“魚香肉絲”的制作流程,只要按照菜譜的要求制作魚香肉絲,那么誰都可以做出一道好吃的魚香肉絲。而這個做菜的步驟就可以理解為:“解決問題的步驟”。4.1.3算法的實現過程人們解決問題的一般過程是從觀察、分析問題開始的,然后收集必要的信息,根據自己已有的知識和經驗進行判斷和推理,最后按照一定的方法和步驟來解決問題。使用計算機解決問題一般要經歷三個階段:第一階段:分析問題確定要用計算機做什么;第二階段:尋找解決問題的基本途徑和方法;第三階段:用計算機進行處理。4.1.3算法的實現過程算法為了有效解決問題,按照自頂往下的設計原則,處理實際問題的算法設計是從理解問題入手自頂往下展開的,這是對問題的理解和分析逐層深入、逐步細化的一個過程。一般步驟是:(1)分析問題,建立模型,并找到相關模型。(2)設計算法,建立初步求解,保證算法能夠正常運行。(3)正確性分析,分析算法是否能正確求解問題。(4)效率分析,考慮算法時間復雜度、空間復雜度計算,進行綜合評估。(5)程序實現,應用算法解決問題。4.2人工智能算法在人工智能領域里,算法(Algorithm)是指如何解決一類問題的明確規(guī)范。人工智能算法主要用于訓練模型;可以執(zhí)行計算,數據處理和自動推理任務;并且還具有可行性、確定性、有窮性和擁有足夠的情報的特征。例如,要判斷一張圖片中是否存在貓。那我們首先要通過規(guī)則去定義一只貓。4.2人工智能算法觀察上圖中的貓,可以知道貓有一個圓腦袋,兩個三角形的耳朵,又胖又長的身體,和一條長尾巴,然后可以定義一套規(guī)則在圖片中尋找貓。這看起來好像是可行的,但是如果遇到的是下圖中這樣的貓該怎么辦?4.2人工智能算法從這個例子中大家應該能看得出來,即使是一只很普通的家養(yǎng)寵物,都可能會出現無數種不同的外形。如果我們使用人為定義的規(guī)則去定義這個動物,那么可能需要設置非常大量的規(guī)則,并且效果也不一定會很好。僅僅一個物體就這么復雜,而現實中常見的各種物體成千上萬,所以使用人為定義的規(guī)則去做識別肯定是行不通的。這就需要我們人工智能算法來解決這個問題。4.2.1人工智能算法分類人工智能算法大體上來說可以分類兩類:基于統(tǒng)計的機器學習算法(MachineLearning)和深度學習算法(DeepLearning)。4.2.2常用機器學習算法機器學習根據不同的訓練方式,可分為有監(jiān)督學習(SupervisedLearning)、無監(jiān)督學習(UnsupervisedLearning)、半監(jiān)督學習(Semi-supervisedLearning)和強化學習(ReinforcementLearning)四大類。4.2.2常用機器學習算法1.有監(jiān)督學習監(jiān)督學習(SupervisedLearning)利用有標簽的訓練數據學習得到一個模型,然后使用這個模型對新樣本進行預測。就是需要我們提供大量的學習樣本(包括樣本相關的特征數據以及相應的標簽)。簡而言之就是我們提供樣例“教”計算機如何學習,通過這些樣本來學習相關的規(guī)律或是模式,然后通過得到的規(guī)律或模式來判斷沒有被打過標簽的數據是什么樣的數據。有監(jiān)督學習主要特點是,所有的數據都有與之相對應的標簽(Label)。圖片是一個手寫數字3,所以這張圖片的標簽可以設置為3。4.2.2常用機器學習算法假設,訓練數據集給出了3種不同花朵的花瓣長度特征(訓練集特征),我們已經知道這3朵花的種類A、B、C。那么,對于一朵未知種類的花,就可以根據它的花瓣長度(測試樣本特征)來判斷它所屬種類(測試樣本標簽)。4.2.2常用機器學習算法最典型的有監(jiān)督學習算法包括了分類和回歸。類似于上面那種識別問題,就是分類。分類方法是一種對離散型隨機變量建模或預測的監(jiān)督學習算法。分類問題預測的是類別,輸出的是離散值,使用案例包括動物的種類判斷、植物的種類判斷、各類物品的種類判斷、郵件過濾、金融欺詐、網絡安全攻擊和預測雇員異動等。而回歸方法是用來預測一個具體的數值輸出,是一種對數值型連續(xù)隨機變量進行預測和建模的監(jiān)督學習算法?;貧w問題預測的是連續(xù)實數值。常用在股票價格預測,房價預測,洪水水位線預測、天氣預報、預期壽命和健康風險等問題中。4.2.2常用機器學習算法(1)線性回歸線性回歸,就是能夠用一個直線較為精確地描述數據之間的關系。這樣當出現新的數據的時候,就能夠預測出一個簡單的值。它是對大量的觀測數據進行處理,從而得到比較符合事物內部規(guī)律的數學表達式。4.2.2常用機器學習算法(2)邏輯回歸邏輯回歸是基于線性回歸的,它建立模型將數據分為不同的類別,并預測某個數據的類別。邏輯回歸雖然叫做回歸,但是其主要解決分類問題??捎糜诙诸?,也可以用于多分類問題。Logistic函數公式如下:Logistic函數圖像如下:4.2.2常用機器學習算法2.無監(jiān)督學習無監(jiān)督學習(Unsupervisedlearning)實際是去對原始資料進行分類,以便了解資料內部結構。有別于監(jiān)督式學習網絡,無監(jiān)督式學習在學習時并不知道其分類結果是否正確,亦即沒有受到監(jiān)督式增強(告訴它何種學習是正確的)。其特點是僅對此種網絡提供輸入范例,而它會自動從這些范例中找出其潛在類別規(guī)則。當學習完畢并經測試后,也可以將之應用到新的案例上。其特點為輸入數據(訓練數據)不存在明確的標識或結果。4.2.2常用機器學習算法經典的案例:鳶尾花識別,有未知分類的鳶尾花的測量數據,包括萼長,萼寬,瓣長,瓣寬,根據這些測量數據,將類似的測量記錄歸類(同樣花的測量數據具有類似的特征),需使用聚類實現“自動”學習。4.2.2常用機器學習算法3.半監(jiān)督學習半監(jiān)督學習(Semi-supervisedLearning)是監(jiān)督學習和非監(jiān)督學習相結合的一種學習方式,通??梢杂糜诜诸愐约盎貧w問題。它的輸入數據有部分被標識,部分沒有被標識,這種學習模型可以用來進行預測,此類算法首先需試圖對沒有標簽的數據進行建模,然后再對帶有標簽的數據進行預測。4.2.2常用機器學習算法4.強化學習強化學習(ReinforcementLearning)屬于自動進行決策,并且可以連續(xù)決策希望一段時間后獲得最多的累計獎勵。它區(qū)別于先前我們提到的那些方法。強化學習算法是一種“游戲”的過程,其目標是最大化“游戲獎勵”。該算法通過反復的實驗來嘗試確定不同的“走法”,并查看哪種方式能夠最大化“游戲收益”,屬于把學習看作一個試探評價的過程。4.2.3常用深度學習算法1.認識神經網絡神經網絡(NeuralNetwork)最早由心理學家和神經學家開創(chuàng),是一種模仿生物神經網絡(動物的中樞神經系統(tǒng),特別是大腦)的結構和功能的數學模型,由神經元、節(jié)點與節(jié)點之間的連接(突觸)所構成;用于對函數進行估計或近似,屬于模式識別的算法。和其他機器學習方法一樣,神經網絡已經被用于解決各種各樣的問題,例如機器視覺和語音識別。4.2.3常用深度學習算法單層神經網絡是最基本的神經元網絡形式,由有限個神經元構成,所有神經元的輸入向量都是同一個向量。由于每一個神經元都會產生一個標量結果,所以單層神經元的輸出是一個向量,向量的維數等于神經元的數目。4.2.3常用深度學習算法多層神經網絡就是由單層神經網絡進行疊加之后得到的,所以就形成了層的概念,常見的多層神經網絡有如下結構:輸入層(Inputlayer),眾多神經元(Neuron)接受大量輸入消息。輸入的消息稱為輸入向量。輸出層(Outputlayer),消息在神經元鏈接中傳輸、分析、權衡,形成輸出結果。輸出的消息稱為輸出向量。隱藏層(Hiddenlayer),簡稱“隱層”,是輸入層和輸出層之間眾多神經元和鏈接組成的各個層面。4.2.3常用深度學習算法一個神經網絡的訓練算法就是讓權重的值調整到最佳,以使得整個網絡的預測效果最好。4.2.3常用深度學習算法2.揭秘深度學習實際上深度學習(DeepLearning)的概念源于人工神經網絡的研究,但是并不完全等于傳統(tǒng)神經網絡。深度學習可以說是在傳統(tǒng)神經網絡基礎上的升級,約等于神經網絡。其動機在于建立、模擬人腦進行分析學習的神經網絡,它模仿人腦的機制來解釋數據。它可以直接輸入圖像、文字、語音等原始數據(進行簡單的數字化處理),進行學習。4.2.3常用深度學習算法深度學習類似一個水流系統(tǒng),要處理的數據是“水流”,深度學習網絡是一個由管道和閥門組成的“巨大水管網絡”。4.2.3常用深度學習算法卷積神經網絡(ConvolutionalNeuralNetworks,CNN)是一種深度學習算法模型,常用來分析圖像、音頻、文本等數據,完成分類、識別和檢測等任務。簡單的卷積神經網絡(CNN)結構主要由卷積層、降采樣層(也叫池化層)、全連接層以及最后的輸出層構成。4.2.3常用深度學習算法假設,要自動識別一張手寫數字7,會經過哪些計算呢?4.2.3常用深度學習算法假設,要自動識別一張手寫數字7,會經過哪些計算呢?池化過程特征提取和識別過程4.3人工智能算法工具高效的開發(fā)工具往往能讓算法開發(fā)變得更加精準有趣,從最早被使用的Scikit-Learn,到后面專門針對深度學習的Theano,再到針對機器視覺的Caffe,伴隨著人工智能關聯技術在各行各業(yè)的應用深入,越來越多的特色人工智能算法工具也孕育而生,比如谷歌開發(fā)的TensorFlow、Keras、Facebook開發(fā)的Pytorch、百度開發(fā)的PaddlePaddle飛漿、華為開源的MindSpore昇思等。從人工智能算法工具的發(fā)展中,我們可以窺見人工智能成規(guī)模發(fā)展的未來。4.3.1常用開源框架4.3.1常用開源框架1.TensorFlowTensorFlow是谷歌基于DistBelief進行研發(fā)的第二代人工智能學習系統(tǒng),其命名來源于本身的運行原理。TensorFlow是將復雜的數據結構傳輸至人工智能神經網中進行分析和處理過程的系統(tǒng)。使用的語言是C++或Python。4.3.1常用開源框架2.KerasKeras是一個由Python編寫的開源人工神經網絡庫,可以作為Tensorflow、Microsoft-CNTK和Theano的高階應用程序接口,進行深度學習模型的設計、調試、評估、應用和可視化。Keras在代碼結構上由面向對象方法編寫,完全模塊化并具有可擴展性。4.3.1常用開源框架3.CaffeCaffe全稱為Convolutional?Architecture?for?Fast?Feature?Embedding,是一個被廣泛使用的開源深度學習框架。Caffe的主要優(yōu)勢包括如下:(1)容易上手,網絡結構都是以配置文件形式定義,不需要用代碼設計網絡。(2)訓練速度快,能夠訓練state-of-the-art的模型與大規(guī)模的數據。(3)組件模塊化,可以方便地拓展到新的模型和學習任務上。4.3.1常用開源框架4.PyTo

溫馨提示

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

評論

0/150

提交評論