尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
來源於Google的TensorFlow是目前Python編程領域最熱門的深度學習框架。Google不僅是大數據和雲計算的領導者,在機器學習和深度學習上也有很好的實踐和積累,在2015年年底開源了內部使用的深度學習框架TensorFlow。
與Caffe、Theano、Torch、MXNet等框架相比,TensorFlow在Github上Fork數和Star數都是最多的,而且在圖形分類、音頻處理、推薦系統和自然語言處理等場景下都有豐富的應用。
最近流行的Keras框架底層默認使用TensorFlow,著名的史丹佛CS231n課程使用TensorFlow作為授課和作業的編程語言,國內外多本TensorFlow書籍已經在籌備或者發售中,AlphaGo開發團隊Deepmind也計劃將神經網路應用遷移到TensorFlow中,這無不印證了TensorFlow在業界的流行程度。
TensorFlow的流行讓深度學習門檻變得越來越低,只要有Python和機器學習基礎,入門和使用神經網路模型就會變得非常簡單。
TensorFlow支持Python和C++兩種編程語言,再龐雜的多層神經網路模型都可以用Python實現,如果業務使用其他編程也不用擔心,使用跨語言的gRPC或者HTTP服務也可以拜訪使用TensorFlow訓練好的智能模型。
那使用Python如何編寫TensorFlow應用呢?從入門到應用究竟有多災呢?
什麼是TensorFlow?這裡引入TensorFlow中文社區首頁中的兩段描述:
TensorFlowTM是一個基於數據流圖(dataflowgraphs)用於數值計算的開源軟體庫。結點(nodes)在圖中表示數學操作,圖中的邊(edges)則表示在結點間相互聯繫的多維數據數組,即張量(tensor)。它靈活的架構讓你可以在多種平臺上展開計算,例如,臺式計算機中的一個或多個CPU(或GPU)、服務器、行動裝置等。TensorFlow最初由Google大腦小組(隸屬於Google機器智能研究機構)的研究員和工程師們開發,用於機器學習和深度神經網路方面的研究,但這個系統的通用性使其也可廣泛用於其他計算領域。
數據流圖用「結點」和「邊」的有向圖描述數學計算。「結點」一般用來表示施加的數學操作,但也可以表示數據輸入(feedin)的起點/輸出(pushout)的終點,或者是讀取/寫入持久變量(persistentvariable)的終點。「邊」表示「結點」之間的輸入/輸出關係。這些數據「邊」可以輸運「規模可動態調整」的多維數據數組,即「張量」。張量從圖中流過的直觀圖像是這個工具取名為TensorFlow的原因。一旦輸入端的所有張量都準備好了,結點將被分配到各種計算設備異步並行地執行運算。
01
MNIST數據集
MNIST是一個簡單的圖片數據集(數據集下載地址http://yann.lecun.com/exdb/minist/),包含了大量的數字手寫體圖片。MNIST數據集是含標註資訊的。圖B-1為代表5,0,4和1的圖片範例。
圖 B-1 代表5,0,4和1 的圖片範例
由於MNIST數據集是TensorFlow的範例數據,所以不必下載。只需要下面兩行代碼,即可實現數據集的讀取工作。
fromtensorflow.examples.tutorials.mnist importinput_data
mnist =input_data.read_data_sets( “MNIST_data/”, one_hot= True)
MNIST數據集一共包含3個部分:訓練數據集(55000份,mnist.train)、測試數據集(10000份,mnist.test)和驗證數據集(5000份,mnist.validation)。一般來說,訓練數據集用來訓練模型;驗證數據集可以查驗訓練出來的模型的正確性和是否過擬合;測試數據集是不可見的(相當於一個黑盒),但我們最終的目的是使得訓練出來的模型在測試數據集上的效果(這裡是準確性)達到最佳。
MNIST中的一個數據樣本包含兩塊:手寫體圖片和對應的label。這裡我們用xs和ys分別代表圖片和對應的label,訓練數據集和測試數據集都有xs和ys,我們使用mnist.train.images和mnist.train.labels表示訓練數據集中圖片數據和對應的label數據。
一張圖片可以用28×28的像素點矩陣表示,也可以用一個同大小的二維矩陣表示,如圖B-2所示。
圖 B-2 一張圖片用28×28的像素點矩陣表示
所以,MNIST的訓練數據集可以視為一個形狀為55000×784位的tensor,也就是一個多維數組,第一維表示圖片的索引,第二維表示圖片中像素的索引(tensor中的像素值在0~1)。
訓練數據集如圖B-3所示。
圖 B-3 訓練數據集
MNIST中的數字手寫體圖片的label值在1~9之間,是圖片表示的真實數字。這裡用One-hotvector表述label值,vector的長度為label值的數目,vector中有且只有一位為1,其他為0。為了方便,我們表示某個數字時在vector中對應的索引位置設置1,其他位置元素為0。例如,用[0,0,0,1,0,0,0,0,0,0]表示3。所以,mnist.train.labels是一個55000×10的二維數組。訓練數據集上的標註如圖B-4所示。
圖 B-4 訓練數據集上的標註
以上是MNIST數據集的描述及TensorFlow中的表示。
下面介紹Softmax回歸模型。
02
Softmax回歸模型
Softmax回歸(regression)是一個簡單的模型,很適合用來處理得到一個待分類對象在多個類別上的概率分布。所以,這個模型通常是很多高級模型的最後一步。
Softmax回歸大致分為兩步。
步驟1:將輸入證據累加到某一類中。
步驟2:將證據轉換成概率。
為了利用圖片中各個像素點的資訊,我們將圖片中的各個像素點的值與一定的權值相乘並累加,權值的正負是有意義的,如果是正的,那麼表示對應像素值(不為0)對表示該數字類別是正面的;否則,對應像素值(不為0)對表示該數字類別起負面作用。
圖B-5是一個直觀的例子,圖片中藍色表示正值,紅色表示負值(藍色區域的形狀趨於數字形狀)。
圖 B-5 像素點對數字類別的權重
我們也需要加入一個額外的偏置量(bias),因為輸入往往會帶有一些無關的干擾量。
因此,對於給定的輸入圖片x,它代表的是數字 i 的證據可以表示為
其中,W i,j 代表權重;b i 代表數字i類的偏置量;j代表給定圖片x的像素索引用於像素求和。然後用softmax函數可以把這些證據轉換成概率y。
y=softmax(evidence)
這裡的softmax可以看成是一個激勵(activation)函數或者鏈接(link)函數,把我們定義的線性函數的輸出轉換成我們想要的格式,也就是關於10個數字類的概率分布。
因此,給定一張圖片,它對於每一個數字的吻合度可以被softmax函數轉換成為一個概率值。softmax函數可以定義為
softmax(x)=normalize(exp(x))
展開等式右邊的子式,可以得到
但是,更多的時候是把 softmax模型函數定義為前一種形式 :把輸入值當成冪指數求值 ,再正則化這些結果值。 這個冪運算表示,更大的證據對應更大的假設模型(hypothesis)裡的乘數權重值。
反之 ,擁有更少的證據意味著在假設模型裡擁有更小的乘數系數。假設模型裡的權值不可以是 0值或者負值。 Softmax會正則化這些權重值,使它們的總和等於1,以此構造一個有效的概率分布。
softmax回歸模型可以用圖 B-6解釋。對於輸入的 x1 ,x2 ,x3 加權求和,再分別加上一個偏置量,最後再輸入到softmax函數中。
圖 B-6 softmax函數的計算過程
如果將這個過程公式化,將得到
也可以用向量表示這個計算過程:用矩陣乘法和向量相加。這有助於提高計算效率。
進一步,可以寫成更加緊湊的方式:
y=softmax(Wx+b)
03
Softmax回歸的程序實現
為了用Python實現高效的數值計算,我們通常會使用函數庫,如NumPy,會把類似矩陣乘法這樣的龐雜運算使用其他外部語言實現。但從外部計算切換回Python的每一個操作仍然是一個很大的開銷。如果用GPU進行外部計算,這樣的開銷會更大。用分布式的計算方式也會花費更多的資源用來傳輸數據。
TensorFlow也把龐雜的計算放在Python之外完成,但是為了避免前面說的那些開銷,它做了進一步完善。TensorFlow不單獨地運行單一的龐雜計算,而是讓我們可以先用圖描述一系列可交互的計算操作,然後全部一起在Python之外運行。(這樣類似的運行方式可以在不少的機器學習庫中看到。)
使用TensorFlow之前,首先導入它:
import tensorflow astf
利用一些符號變量描述交互計算的過程,創建如下。
x=tf.placeholder(tf.float32, [None, 784])
x不是一個特定的值,而是一個占位符(placeholder),我們在TensorFlow運行計算時輸入這個值。
我們希望能夠輸入任意數量的MNIST圖像,每一張圖展平成784維的向量。
我們用二維的浮點數張量表示這些圖,這個張量的形狀是[None,784](這裡的None表示此張量的第一個維度可以是任何長度)。
使用Variable(變量)表示模型中的權值和偏置,這些參數是可變的。具體如下。
W=tf.Variable(tf.zeros([ 784, 10]))
b=tf.Variable(tf.zeros([ 10]))
這裡的W和b均被初始化為0值矩陣。W的維數為784×10,是因為我們需要將一個784維的像素值經過相應的權值之乘轉換為10個類別上的證據值;b是十個類別上累加的偏置值。
實現softmax回歸模型僅需要如下代碼:
y= tf. nn.softmax( tf.matmul( x, W) + b)
其中,matmul函數實現了x和W的乘積,這裡的x為二維矩陣,所以放在前面。
可以看出,在TensorFlow中實現softmax回歸模型很簡單。
04
模型的訓練
在機器學習中,通常需要選擇一個代價函數(或者損失函數),指示訓練模型的好壞。這裡使用交叉熵函數(cross-entropy)作為代價函數,交叉熵是一個源於資訊論中資訊壓縮領域的概念,但是現在已經應用在多個領域。
它的定義如下。
y是我們預測的概率分布;y’是實際的分布(我們輸入的one-hotvector)。比較粗糙的理解是,交叉熵用來衡量我們的預測用於描述真相的低效性。
為了實現交叉熵函數,需要先設置一個占位符在存放圖片的正確label值,
y_=tf.placeholder(tf.float32, [None, 10])
然後得到交叉熵,即
計算交叉熵:
cross_entropy =- tf.reduce_sum(y_* tf. log( y))
注意,以上的交叉熵不局限於一張圖片,而是整個可用的數據集。
接下來以代價函數最小化為目標訓練模型,以得到相應的參數值(即權值和偏置)。
TensorFlow知道你的計算目標,它會自動利用反向傳播算法得到相應的參數調整,並滿足代價函數最小化的要求。
然後,可以選擇一個優化算法決定如何最小化代價函數。具體代碼如下:
train_step=tf.train.GradientDescentOptimizer( 0.01).minimize(cross_entropy)
這裡使用了一個學習率為0.01的梯度下降算法來最小化代價函數。梯度下降是一個簡單的計算方式,即使得變量值朝著減小代價函數值的方向變化。
TensorFlow也提供了許多其他的優化算法,僅需要一行代碼即可實現調用。
TensorFlow提供了以上簡單抽象的函數調用功能,你不需要關心其底層實現,可以更加專心於整個計算流程。在模型訓練之前,還需要對所有的參數進行初始化。
init=tf.initialize_all_variables
可以在一個Session裡面運行模型,並且進行初始化。
sess = tf.Session
sess.run(init)
接下來進行模型的訓練。
fori inrange( 1000): batch_xs,
batch_ys =mnist.train.next_batch( 100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
在每一次的循環中,我們都取訓練數據中的100個隨機數據,這種操作稱為批處理(batch)。然後,每次運行train_step時,將之前選擇的數據填充至所設置的占位符中,作為模型的輸入。
以上過程稱為隨機梯度下降,這裡使用它是非常合適的。因為它既能保證運行效率,也能一定程度上保證程序運行的正確性(理論上,我們應該在每一次循環過程中利用所有的訓練數據得到正確的梯度下降方向,但這樣將非常耗時)。
05
模型的評價
怎樣評價訓練出來的模型?顯然,可以用圖片預測類別的準確率。
首先,利用tf.argmax函數得到預測和實際的圖片label值,再用一個tf.equal函數判斷預測值和真實值是否一致。代碼如下。
correct_prediction = tf.equal( tf.argmax( y, 1), tf.argmax(y_, 1))
correct_prediction是一個布爾值的列表,如[True,False,True,True]。可以使用tf.cast函數將其轉換為[1,0,1,1],以方便準確率的計算(以上的準確率為0.75)。
accuracy=tf.reduce_mean(tf.cast(correct_prediction, “float”))
最後,獲取模型在測試集上的準確率,代碼如下。
print(sess.run(accuracy, feed_dict= { x: mnist.test.images, y_: mnist.test. labels}))
Softmax回歸模型由於模型較簡單,所以在測試集上的準確率在91%左右,這個結果並不算太好。
通過一些簡單的優化,準確率可以達到97%,目前最好模型的準確率為99.7%。
06
完整代碼及運行結果
import tensorflow astf
from tensorflow.examples.tutorials.mnist import input_data
mnist =input_data.read_data_sets( “MNIST_data/”, one_hot=True)
print( “Download Done!”)
x= tf.placeholder( tf.float32, [None, 784])
#paras
W = tf.Variable( tf.zeros([ 784, 10]))
b= tf.Variable( tf.zeros([ 10]))
y= tf. nn.softmax( tf.matmul( x, W) + b)
y_ = tf.placeholder( tf.float32, [None, 10])
#loss func
cross_entropy =- tf.reduce_sum(y_ * tf. log( y))
train_step= tf.train.GradientDescentOptimizer( 0.01).minimize(cross_entropy)
#init
init = tf.initialize_all_variables
sess = tf.Session
sess.run(init)
#train
fori in range( 1000):
batch_xs, batch_ys =mnist.train.next_batch( 100)
sess.run(train_step, feed_dict={ x: batch_xs, y_: batch_ys})
correct_prediction = tf.equal( tf.arg_max( y, 1), tf.arg_max(y_, 1))
accuracy = tf.reduce_mean( tf.cast(correct_prediction, “float”))
print( “Accuarcy on Test- dataset: “, sess.run(accuracy, feed_dict= { x: mnist. test.images, y_: mnist.test.labels}))
運行結果如圖B-7所示。
圖 B-7 運行結果
*本文摘自《人工智慧(第3版)》附錄B,附錄參考了Tensorflow中文社區以及Tensorflow在線文檔的內容。
07
PPT課件下載
08
參考書籍
《人工智慧(第3版)》
作者:賁可榮、張彥鐸
定價:79.90元
「十二五」普通高等教育本科國家級規劃教材
高等學校計算機教育規劃教材
內容簡介
人工智慧是研究理解和模擬人類智能、智能行為及其規律的一門學科。其主要任務是建立智能資訊處理理論,進而設計可以展現某些近似於人類智能行為的計算系統。本書介紹人工智慧的理論、方法和技術及其應用,除了討論那些仍然有用的和有效的基本原理和方法之外,著重闡述一些新的和正在研究的人工智慧方法與技術,特別是近期發展起來的方法和技術。此外,用比較多的篇幅論述人工智慧的應用,包括互聯網智能等新增內容。
本書包括下列內容:
簡述人工智慧的起源與發展,討論人工智慧的定義、人工智慧與計算機的關係以及人工智慧的研究和應用領域;
論述知識表示、推理和不確定推理的主要方法,包括謂詞邏輯、產生式系統、語義網路、框架、腳本、知識圖譜、歸結推理、非單調推理、主觀Bayes方法、確定性理論、證據理論、模糊邏輯和模糊推理等;
討論常用搜索原理,如盲目搜索、啟發式搜索、min-max搜索、α-β剪枝和約束滿足等;並研究一些比較高級的搜索技術,如貪婪局部搜索、局部剪枝搜索、模擬退火算法、遺傳算法等;
介紹了分布式人工智慧與Agent、計算智能、反向傳播神經網路、深度學習、競爭網路、支持向量機等已成為當前研究熱點的人工智慧技術和方法;
本書適用於計算機專業大學高年級和非計算機專業研究生人工智慧的教材,也可作為希望深入學習人工智慧的科技人員的參考書。
作者簡介
賁可榮,海軍工程大學教授、博士生導師,中國計算機學會理論計算機科學專委副主任、軟體工程專委委員,擔任軍隊人工智慧專業組專家。碩士、博士先後師從南京大學莫紹揆先生、國防科技大學陳火旺先生,打下了紮實的理論基礎。《計算機科學與探索》執行編委,《海軍新軍事變革叢書》編委會常務副主任、《人工智慧應用叢書》編委會執行副主任。評為教育部重要人員教師、首屆湖北省優秀研究生導師、海軍名師工作室領銜名師、第三屆大學教學名師,獲軍隊院校育才獎金獎。
張彥鐸,教授,博士生導師,國務院政府特殊津貼獲得者。現任武漢工程大學黨委常委、副校長,智能機器人湖北省重點實驗室主任,國家一流本科專業建設點「智能科學與技術」專業負責人,湖北優秀教學團隊「新一代人工智慧新工科教學團隊」負責人。獲全國優秀教育工作者、湖北省師德標兵/優秀共產黨員/十大傑出青年等榮譽稱號。
本書特色
根據作者近30年人工智慧科研與教學經驗,邊教學邊構思;分析國內外知名大學人工智慧精品教材及課程教學安排,研究課程體系、教學方法和教材體系建設。
在教學研究的基礎上,力求形成「以不變的基本理論與方法為主體,充分反映人工智慧技術發展水平,以培養學生具備繼續學習能力為目標」的編寫思路;在寫作上力求做到用作者自己對問題理解的語言進行描述,便於學生的學習和理解;教材定位注意適應國內多數普通高校的實際教學需要。
目錄
向上滑動閱覽
第1章 緒論
1.1 人工智慧的定義與概況
1.2 人類智能與人工智慧
1.2.1 智能資訊處理系統的假設
1.2.2 人類智能的計算機模擬
1.2.3 弱人工智慧和強人工智慧
1.3 人工智慧各學派的認知觀
1.4 人工智慧的研究與應用領域
1.4.1 智能感知
1.4.2 智能推理
1.4.3 智能學習
1.4.4 智能行動
1.5 人工智慧發展展望
1.5.1 新一輪人工智慧發展特征
1.5.2 未來40年的人工智慧問題
1.5.3 人工智慧魯棒性和倫理
1.5.4 新一代人工智慧發展規劃
習題
第2章 知識表示和推理
2.1 概述
2.1.1 知識和知識表示
2.1.2 知識-策略-智能
2.1.3 人工智慧對知識表示方法的要求
2.1.4 知識的分類
2.1.5 知識表示語言問題
2.1.6 現代邏輯學的基本研究方法
2.2 命題邏輯
2.2.1 語法
2.2.2 語義
2.2.3 命題演算形式系統PC
2.3 謂詞邏輯
2.3.1 語法
2.3.2 語義
2.3.3 謂詞邏輯形式系統FC
2.3.4 一階謂詞邏輯的應用
2.4 歸結推理
2.4.1 命題演算中的歸結推理
2.4.2 謂詞演算中的歸結推理
2.4.3 謂詞演算歸結反演的合理性和完備性
2.4.4 案例:一個基於邏輯的財務顧問
2.5 產生式系統
2.5.1 產生式系統的表示
2.5.2 案例:九宮圖遊戲
2.5.3 案例:傳教士和野人問題
2.5.4 產生式系統的控制策略
2.6 語義網路
2.6.1 基本命題的語義網路表示
2.6.2 連接詞在語義網路中的表示
2.6.3 語義網路的推理
2.6.4 語義網路表示的特點
2.7 框架
2.7.1 框架的構成
2.7.2 框架系統的推理
2.7.3 框架表示的特點
2.8 腳本 52
2.8.1 腳本概念
2.8.2 案例:飯店腳本
2.9 知識圖譜
2.9.1 知識圖譜及其表示
2.9.2 百度知識圖譜技術方案
2.9.3 案例:知識圖譜在互聯網金融行業中的應用
2.10 基於知識的系統
2.10.1 知識獲取
2.10.2 知識組織
2.10.3 知識應用
2.10.4 常識知識和大規模知識處理
2.10.5 常識推理
2.10.6 案例:知識圖譜應用
2.11 小結
習題
第3章 搜索技術
3.1 概述
3.2 盲目搜索方法
3.3 啟發式搜索
3.3.1 啟發性資訊和評估函數
3.3.2 最好優先搜索算法
3.3.3 貪婪最好優先搜索算法
3.3.4 A算法和A*算法
3.3.5 迭代加深A*算法
3.4 問題歸約和AND-OR圖啟發式搜索
3.4.1 問題歸約的描述
3.4.2 問題的AND-OR圖表示
3.4.3 AO*算法
3.5 博弈
3.5.1 極大極小過程
3.5.2 α-β過程
3.5.3 效用值估計方法
3.6 案例分析
3.6.1 八皇后問題
3.6.2 洞穴探寶
3.6.3 五子棋
習題
第4章 高級搜索
4.1 爬山法搜索
4.2 模擬退火搜索
4.2.1 模擬退火搜索的基本思想
4.2.2 模擬退火算法
4.2.3 模擬退火算法關鍵參數和操作的設計
4.3 遺傳算法
4.3.1 遺傳算法的基本思想
4.3.2 遺傳算法的基本操作
4.4 案例分析
4.4.1 爬山算法求解旅行商問題
4.4.2 模擬退火算法求解旅行商問題
4.4.3 遺傳算法求解旅行商問題
習題
第5章 不確定知識表示和推理
5.1 概述
5.1.1 什麼是不確定推理
5.1.2 不確定推理要解決的基本問題
5.1.3 不確定性推理方法分類
5.2 非單調邏輯
5.2.1 非單調邏輯的產生
5.2.2 缺省推理邏輯
5.2.3 非單調邏輯系統
5.2.4 非單調規則
5.2.5 案例:有經紀人的交易
5.3 主觀 Bayes方法
5.3.1 全概率公式和 Bayes公式
5.3.2 主觀 Bayes方法
5.4 確定性理論
5.4.1 建造醫學專家系統時的問題
5.4.2 C-F模型
5.4.3 案例:帆船分類專家系統
5.5 證據理論
5.5.1 假設的不確定性
5.5.2 證據的不確定性和組合函數
5.5.3 規則的不確定性
5.5.4 不確定性的傳遞與組合
5.5.5 證據理論案例
5.6 模糊邏輯和模糊推理
5.6.1 模糊集合及其運算
5.6.2 模糊關係
5.6.3 語言變量
5.6.4 模糊邏輯和模糊推理
5.6.5 案例:抵押申請評估決策支持系統
5.7 小結
習題
第6章 Agent
6.1 概述
6.2 Agent及其結構
6.2.1 Agent定義
6.2.2 Agent要素及特性
6.2.3 Agent的結構特點
6.2.4 Agent的結構分類
6.3 Agent應用案例
6.4 Agent通訊
6.4.1 通訊方式
6.4.2 Agent通訊語言ACL
6.5 協調與協作
6.5.1 引言
6.5.2 合同網
6.5.3 協作規劃
6.6 移動Agent
6.6.1 移動Agent產生的背景
6.6.2 定義和系統組成
6.6.3 實現技術
6.6.4 移動Agent系統
6.6.5 移動Agent技術的應用場景
6.7 多agent系統開發框架JADE
6.7.1 程序模型
6.7.2 可重用開發包
6.7.3 開發和運行的支持工具
6.8 案例:火星探礦機器人
6.8.1 需求分析
6.8.2 設計與實現
6.9小結
習題
第7章 機器學習
7.1 機器學習概述
7.1.1 學習中的元素
7.1.2 目標函數的表示
7.1.3 學習任務的類型
7.1.4 機器學習的定義和發展史
7.1.5 機器學習的主要策略
7.1.6 機器學習系統的基本結構
7.2 基於符號的機器學習
7.2.1 歸納學習
7.2.2 決策樹學習
7.2.3 基於范例的學習
7.2.4 解釋學習
7.2.5 案例:通過EBG學習概念cup
7.2.6 強化學習
7.3 基於神經網路的機器學習
7.3.1 神經網路概述
7.3.2 基於反向傳播網路的學習
7.3.3 案例:基於反向傳播網路擬合曲線
7.3.5 深度學習
7.3.6 案例:深度學習在計算機視覺中的應用
7.3.7 競爭網路
7.3.8 案例:學習向量量化解決分類問題
7.4 基於統計的機器學習
7.4.1 支持向量機
7.4.2 案例:XOR問題
7.4.3 統計關係學習
7.5小結
習題
第8章 自然語言處理技術
8.1 自然語言理解的一般問題
8.1.1 自然語言理解的概念及意義
8.1.2 自然語言理解研究的發展
8.1.3 自然語言理解的層次
8.2 詞法分析
8.2.1 案例:單詞音節劃分
8.3 句法分析
8.3.1 短語結構文法和 Chomsky文法體系
8.3.2 句法分析樹
8.3.3 轉移網路
8.4 語義分析
8.4.1 語義文法
8.4.2 格文法
8.5 大規模真實文檔的處理
8.5.1 語料庫語言學及其特點
8.5.2 統計學方法的應用及所面臨的問題
8.5.3 漢語語料庫加工的基本方法
8.5.4 語義資源建設
8.6 資訊搜索
8.6.1 資訊搜索概述
8.6.2 搜尋引擎
8.6.3 智能搜尋引擎
8.6.4 搜尋引擎的發展趨勢
8.7 機器翻譯
8.7.1 機器翻譯系統概述
8.7.2 機器翻譯的基本模式和方法
8.7.3 統計機器翻譯
8.7.4 利用深度學習改進統計機器翻譯
8.7.5 端到端神經機器翻譯
8.7.6 未來展望
8.8.1 智能語音技術概述
8.8.2 組成單詞讀音的基本單元
8.8.3 信號處理
8.8.5 隱馬爾可夫模型
8.9 機器閱讀理解
8.9.1 機器閱讀理解評測數據集
8.9.2 機器閱讀理解的一般方法
8.9.3 機器閱讀理解研究展望
8.10 機器寫作
8.10.1 機器原創稿件
8.10.2 機器二次創作
8.10.3 機器寫作展望
8.11 聊天機器人
8.11.1 聊天機器人應用場景
8.11.2 聊天機器人系統的組成結構及關鍵技術
8.11.3 聊天機器人研究存在的挑戰
8.12 小結
習題
第9章 智能規劃
9.1 規劃問題
9.2 狀態空間搜索規劃
9.3 偏序規劃
9.4 命題邏輯規劃
9.5 分層任務網路規劃
9.6 非確定性規劃
9.7 時態規劃
9.8 多Agent規劃
9.9 案例分析
9.9.1 規劃問題的建模與規劃系統的求解過程
9.9.2 Shakey世界
9.10小結
習題
第10章 機器人學
10.1 概述
10.1.1 機器人的分類
10.1.2 機器人的特性
10.1.3 機器人學的研究領域
10.2 機器人系統
10.2.1 機器人系統的組成
10.2.2 機器人的工作空間
10.2.3 機器人的性能指標
10.3 機器人的編程模式與語言
10.4 機器人的應用與展望
10.4.1 機器人應用
10.4.2 機器人發展展望
10.5 案例分析:仿真機器人運動控制算法
10.5.1 仿真平臺使用介紹
10.5.2 仿真平臺與策略程序的關係
10.5.3 策略程序的結構
10.5.4 動作函數及說明
10.5.5 策略
10.5.6 各種定位球狀態的判斷方法
10.5.7 比賽規則
10.6小結
習題
第11章 互聯網智能
11.1 概述
11.2 語義網與本體
11.2.1 語義網的層次模型
11.2.2 本體的基本概念
11.2.3 本體描述語言OWL
11.2.4 本體知識管理框架
11.2.5 本體知識管理系統Protégé
11.2.6 本體知識管理系統KAON
11.3 Web技術的演化
11.3.1 Web1.0
11.3.2 Web2.0
11.3.3 Web3.0
11.3.4 互聯的社會
11.4 Web挖掘
11.4.1 Web內容挖掘
11.4.2 Web結構挖掘
11.4.3 Web使用挖掘
11.4.4 互聯網資訊可信度問題
11.4.5 案例:反恐作戰數據挖掘
11.4.6 案例:微博博主特征行為數據挖掘
11.5 集體智能
11.5.1 社群智能
11.5.2 集體智能系統
11.5.3 全球腦
11.5.4 互聯網大腦(雲腦)
11.5.5 智聯網
11.5.6 案例:智能網聯汽車
11.5.7 案例:城市計算
11.6 小結
習題
附錄A 人工智慧編程語言Python
A.1 人工智慧編程語言概述
A.2 Python語言優勢
A.3 Python人工智慧相幹庫
A.4 Python語法簡介
B.1 MNIST數據集
B.2 Softmax回歸模型
B.3 Softmax回歸的程序實現
B.4 模型的訓練
B.5 模型的評價
B.6 完整代碼及運行結果
09
精彩推薦
-
機器學習案例 | 通過EBG學習概念cup
-
鴻蒙原子化服務卡片開發完美體驗
-
鴻蒙開發實例|構建輕量級智能穿戴設備用戶界面
機器學習案例 | 通過EBG學習概念cup
鴻蒙原子化服務卡片開發完美體驗
鴻蒙開發實例|構建輕量級智能穿戴設備用戶界面
-
CCF CSP-J/S第一輪認證必考知識點:回溯算法
-
CCF CSP-J/S第一輪認證必考知識點:二值圖像的最大連通塊
-
CCF CSP-J/S第一輪認證必考知識點:哥德巴赫猜想
-
CCF CSP-J/S第一輪認證考綱詳解
-
Python 韓信點兵思政案例(含優惠碼)
-
Python ︱爬取天氣預報資訊(附視訊)
-
《機器學習》實驗指導書(附實驗參考+代碼)
-
Python爬蟲綜合實戰 │ 創建雲起書院爬蟲(附代碼)
-
Python爬蟲實戰 │ Email提醒(附代碼)
-
Python深度學習 │一文掌握卷積神經網路
CCF CSP-J/S第一輪認證必考知識點:回溯算法
CCF CSP-J/S第一輪認證必考知識點:二值圖像的最大連通塊
CCF CSP-J/S第一輪認證必考知識點:哥德巴赫猜想
CCF CSP-J/S第一輪認證考綱詳解
Python 韓信點兵思政案例(含優惠碼)
Python ︱爬取天氣預報資訊(附視訊)
《機器學習》實驗指導書(附實驗參考+代碼)
Python爬蟲綜合實戰 │ 創建雲起書院爬蟲(附代碼)
Python爬蟲實戰 │ Email提醒(附代碼)
Python深度學習 │一文掌握卷積神經網路