大家好!又到了期末時間,各位國科大的師弟師妹們,師兄幫你們總結了高級人工智能的考點,如果你好好復習了,那么這篇博文能幫你上90;如果沒有也不要怕,認真看了這篇博文,也能保你70。下面我們開始吧,更多考試知識點請關注文末。轉載請注明出處。
往屆考試知識點
- BP
- GAN
- 搜索
- 田忌賽馬
- Transaction Database
- 感知機
- 玻爾茲曼機
- A*搜索
- 語義網絡:一階謂詞邏輯,模糊邏輯
- 蟻群優化算法和粒子群算法
- 網絡交互博弈
- 遺傳算法
- 信息熵
- deep belief networks
- 人工智能三大分支
- 野人與傳教士
- 多臂賭博機
- 每年的大題都是強化學習

知識點羅列
概念
- 人工智能概念性定義:機器智能,類腦智能,群體智能
- 人工智能三大學派:符號主義學派,聯結主義學派,行為主義學派
搜索
- 深搜一般來說時間復雜度大但空間復雜度小,廣搜空間相反。深度優先適合深度大的樹,不適合廣度大的樹,廣度優先正相反
- 圖A*算法是最優的條件是一致性;樹A*算法是最優的條件是可采納性
- 傳教士和野人問題的A* 搜索
- 爬山法搜索
可在任意位置起始
重復: 移動到最好的相鄰狀態,不允許向山下移動
如果沒有比當前更好的相鄰狀態,結束 - 當未知梯度的時候,用蟻群算法或者粒子群算法
- 遺傳算法
基於適應度函數,在每步中保留 N 個最好狀態
配對雜交操作
產生可選的變異
問題的目標函數天然的可作為遺傳算法的適應度函數 - 貪婪最佳優先搜索不是完備的
- 爬山算法與模擬退火算法:
爬山算法就是一只兔子看到一座山峰,然后跳來跳去最后跳上山頂模擬退火就是一只喝醉的兔子,一開始亂跳,過一會酒醒了,然后再跳上山頂。爬山算法也是一個用來求解最優化問題的算法,每次都向着當前上升最快的方向往上爬,但是初始化不同可能會得到不同的局部最優值。模擬退火算法就可能跳出這種局部最優解的限制。模擬退火算法也是貪心算法,但是在其過程中引入了隨機因素,以一定的概率接受一個比當前解要差的解,並且這個概率隨着時間的推移而逐漸降低。
深度學習
- 局部感受野的基礎:圖像的空間聯系也是局部的像素聯系較為緊密,而距離較遠的像素相關性則較弱
- 局部感受野的作用:減少了需要訓練的權值數目。一張圖片距離很遠的點關聯很小,所以我們就相當於從全連接方式省下了一部分參數,只進行局部運算,所以參數就少了
- 權值共享的基礎:圖像的一部分的統計特性與其他部分是一樣的。在輸入的不同位置檢測同一種特征。這也就是為什么卷積層往往會有多個卷積核(甚至幾十個,上百個),因為權值共享后意味着每一個卷積核只能提取到一種特征,為了增加CNN的表達能力,當然需要多個核。
- 權值共享的作用:對於一張圖像,計算的方式一樣,也就是特征提取的方式一樣,這個過程就是 我們拿着卷積核的那個框框 ,不斷在原輸入圖像上滑動的過程 ,所有框框內部的數據計算方式一樣,這就是 “參數共享”,這樣就大大減少了參數值,畢竟權重都是一樣的嘛。
- 卷積層的作用:特征提取
- padding的作用:每次卷積,圖像都縮小,這樣卷不了幾次就沒了; - 相比於圖片中間的點,圖片邊緣的點在卷積中被計算的次數很少。這樣的話,邊緣的信息就易於丟失。為了解決這個問題,我們可以采用padding的方法。我們每次卷積前,先給圖片周圍都補一圈空白,讓卷積之后圖片跟原來一樣大,同時,原來的邊緣也被計算了更多次。
- padding的種類:0填充,邊界復制,鏡像,塊復制
- 池化層的作用:對不同位置的特征進行聚合統計。池化層可以非常有效地縮小矩陣的尺寸,從而減少最后全鏈層中的參數,使用池化層既可以加快計算速度也有防止過擬合問題的作用
- 池化層的分類:最大池化用的最多,平均池化用的相對比較少
- 池化層沒有需要學習的參數
- 為什么神經元要加偏置項:如果沒有偏置的話,我們所有的分割線都是經過原點的,但是現實問題並不會那么如我們所願.都是能夠是經過原點線性可分的
- 為什么感知機無法處理異或:
- Hopfield神經網絡:Hopfield神經網絡,他是反饋式類型,其神經元的結構功能及其在⽹絡中的地位是⼀樣的。他的學習規則是基於灌輸式學習,即網絡的權值不是通過訓練出來的,而是按照一定規則計算出來的,將要求解的問題轉化為優化問題的能量函數,⽹絡的穩定狀態是優化問題的解,其權值一旦確定就不在改變。
- 自編碼器,RBM,DBN,DBM的概念
自編碼器:我們將input輸入一個encoder編碼器,就會得到一個code,這個code也就是輸入的一個表示,那么我們怎么知道這個code表示的就是input呢?我們加一個decoder解碼器,這時候decoder就會輸出一個信息,那么如果輸出的這個信息和一開始的輸入信號input是很像的(理想情況下就是一樣的),那很明顯,我們就有理由相信這個code是靠譜的。所以,我們就通過調整encoder和decoder的參數,使得重構誤差最小,這時候我們就得到了輸入input信號的第一個表示了,也就是編碼code了。因為是無標簽數據,所以誤差的來源就是直接重構后與原輸入相比得到。自編碼器可用於深度學習參數的預訓練,有稀疏自編碼器、降噪自編碼器等分類。
RBM:受限玻爾茲曼機,假設有一個二部圖,每一層的節點之間沒有鏈接,一層是可視層,即輸入數據層(v),一層是隱藏層(h),如果假設所有的節點都是隨機二值變量節點(只能取0或者1值),同時假設全概率分布p(v,h)滿足Boltzmann 分布,我們稱這個模型是Restricted BoltzmannMachine (RBM)。
首先在可見層輸入數據data如上圖的v1,剛開始網絡的權值和偏置值會初始化一個值,快速學習算法就會根據這些權值在可見層已知的情況下計算每個隱層的神經元的概率,此時我就得到了所有隱層神經元的值h1,我們這時候把可見層當做是未知的,根據類似的求概率的方法求出可見層神經元的值v2,此時我們的學習算法得到了他們的差值v1-v2,然后根據這個差值進行調整權值和偏置值,這就是一次權值調整了,然后我們把v2看做已知的,按照上面類似的求法繼續求出h2,然后再次求出v3,此時在和v1相減,得到誤差信號,重新調整權值,然后不斷的這樣迭代,隨着迭代的次數增加,整個系統就會達到熱平衡狀態,此時系統就收斂了。
DBN:深度置信網絡, DBNs由多個限制玻爾茲曼機(Restricted Boltzmann Machines)層組成。這些網絡被“限制”為一個可視層和一個隱層,層間存在連接,但層內的單元間不存在連接。隱層單元被訓練去捕捉在可視層表現出來的高階數據的相關性。
DBM:
深度玻爾茲曼機是一種以受限玻爾茲曼機(RBM)為基礎的深度學習模型,其本質是一種特殊構造的神經網絡。深度玻爾茲曼機由多層受限玻爾茲曼機疊加而成的,不同於深度置信網絡(Deep Belief Network),深度玻爾茲曼機的中間層與相鄰層是雙向連接的。接下來舉例說明深度玻爾茲曼機的基本結構和特征。如圖1所示是一個包含兩個隱藏層(hidden layer)的深度玻爾茲曼機。h1和h2代表隱藏層(hidden layer)各節點的狀態,W1和W2表示神經網絡層間鏈接的權值(weights)。v表示可見層(visible layer)各節點的狀態。每個節點的狀態都在0和1之間二選一,也就是說v,h ∈ {0,1}。為方便顯示,這里忽略了模型中各單元的偏置(bias)。
 - LSTM與GRU
- GAN:GAN 的核⼼思想來源於博弈論的納什均衡:⽣成器(⽣成⼀個數據,會被判別結果優化)+ 判別器(判斷是否是⽣成器⽣成的):⽣成器的⽬的是盡量去學習真實的數據分布。把噪聲數據 z(也就是我們說的假數據)通過⽣成模型 G,偽裝成了真實數據 x。判別器的⽬的是盡量正確判別輸⼊數據是來⾃真實數據還是來⾃⽣成器。各⾃提⾼⾃⼰的⽣成能⼒和判別能⼒, 這個學習優化過程就是尋找⼆者之間的⼀個納什均衡
- 感知機
- DP
命題邏輯與一階謂詞邏輯
每一個邏輯都有兩個內容:從語義的角度能夠蘊含一些新的知識庫(新的知識,是正確的)。還會從語法的角度推演,自動推演出新的知識庫(每一個sen都是一堆符號,通過形式上推演,推演出新的sen,這個和語義無關,是從符號上推演出的一種規則)。所以每一個邏輯含有兩個內容:語義上蘊含+形式上推演。那么我們在研究的時候會證明兩個性質:可靠性和完備性。
命題邏輯
任何一個邏輯都有自己的語言,我們會看這個邏輯的syntax語法和semantics語義兩個部分。命題邏輯中proposition表示一個宣告式的句子,必須為True或者False。比如P=NP,雖然沒人證明,但是到底,它一定是真或者假,二者之一;所以它也是一個命題。不可能同時為true和false。
命題邏輯(proposition logic)是應用一套形式化規則對以符號表示的描述性陳述進行推理的系統。在命題邏輯中,一個或真或假的描述性陳述被稱為原子命題,若干原子命題可通過邏輯運算符來構成復合命題。如果已知若干命題,則可通過命題聯結詞(connectives)對已有命題進行組合 , 得 到 新 命 題 。 這 些 通 過 命 題 聯 結 詞 得 到 的 命 題 被 稱 為 復 合 命 題 (compound proposition)。【其實就是與或非條件和雙向條件的來回轉化或者證明】
一般會通過真值表來計算復合命題的真假。
邏輯等價:
命題邏輯中的幾個證明例題:
將任何式子改成合取范式的形式,先把雙箭頭和單箭頭去掉,neg進入括號,最后只有and or的這種式子 :
歸結原理的例子:
一階謂詞邏輯
在謂詞邏輯中,原子命題可分解成個體和謂詞。個體是可獨立存在的事或物,謂詞則是用來刻划個體具有某些性質.一個陳述句可分為兩個部分,分別是個體和謂詞。謂詞在形式上就是陳述句 中刻畫關系的部分,譬如可“x<11”這句陳述分解為個體(x)和謂詞(<11) 兩個,其中“<11”刻畫了“小於11”這種關系。謂 詞 邏 輯 中 兩 個 核 心 概 念 : 謂 詞 ( predicate ) 和 量 詞 (quantifier)。量詞:存在量詞(existential quantifier)和全稱量詞(universal quantifier)。
群體智能
- 蟻群優化算法闡述基本原理、算法過程和適用范圍
基本原理:
簡單回答:蟻群優化算法是一種解空間搜索方法,利用局部隨機搜索和自增強在圖上尋找最優路徑。個體通過釋放信息素改變環境,個體能夠感知環境的實時變化,個體間通過環境實現間接通信。
復雜回答:用螞蟻的行走路徑表示待優化問題的可行解,整個螞蟻群體的所有路徑構成待優化問題的解空間。路徑較短的螞蟻釋放的信息素量較多,隨着時間的推進,較短的路徑上累積的信息素濃度逐漸增高,選擇該路徑的螞蟻個數也愈來愈多。最終,整個螞蟻會在正反饋的作用下集中到最佳的路徑上,此時對應的便是待優化問題的最優解。其思想是“局部隨機搜索+自增強”
算法過程:
適用范圍:適用於離散問題最優解 - 粒子群優化算法闡述基本原理、算法過程和適用范圍
基本原理:粒子群優化算法是一種基於種群尋優的啟發式搜索算法。通過粒子群在解空間中進行搜索,尋找最優解,每個粒子都可以獲得其鄰域內其它個體的信息,對所經過的位置進行評價,並根據這些信息,按照更新規則,改變位置和速度的狀態量。隨着這一過程的不斷進行,粒子群最終能夠找到問題的近似最優解。
算法過程:
適用范圍:適用於求解連續解空間的優化問題
強化學習
-
多臂賭博機
貪心策略:第t輪采取行為a的期望獎勵$q_* \left( a \right)$已知,每次都選最大的a
$\varepsilon$貪心策略:$1-\varepsilon$按照貪心策略進行行為選擇——Exploitation,以概率$\varepsilon$在所有行為中隨機選擇一個——Exploration,$\varepsilon$的取值取決於$q_* \left( a \right)$ 的方差,方差越大$\varepsilon$取值應越大
前述貪心策略中,每個行為的初始估值為0
樂觀初值法:為每個行為賦一個高的初始估值,好處是初期每個行為都有較大機會被explore
UCB:該方法選擇的策略是當前估值高,且被選擇的次數少的a。最終會收斂到貪心策略。
梯度賭博機算法:和前面的確定策略不同,梯度賭博機是一種隨機策略。按照偏好程度,計算softmax的值,隨機以概率抽樣選擇a
UCB表現較好
-
格子游戲的過程如下
博弈論
- 以田忌賽馬為例,局中人是田忌和秦王(假設局中人是自私的理性人);田忌的策略集合是{上中下、上下中、中上下、中下上、下上中、下中上}。每個局中人的目的都是最大化自己的效用函數
- 針對局中人2的策略t,若局中人1用策略s產生的收益大於或等於其任何其他策略,則稱策略s是局中人1對局中人2的策略t的最佳應對
- 納什均衡:如果一個局勢下,每個局中人的策略都是相對其他局中人當前策略的最佳應對,則稱該局勢是一個納什均衡。納什均衡是一個僵局,即給定其他人不動,沒有人有動的積極性;誰動誰吃虧
- 任何有限博弈都至少存在一個納什均衡,但不一定是純策略納什均衡
- 社會最優的結果一定也是帕累托最優的結果,但帕累托最優不一定是社會最優
- 在性別大戰案例中,納什均衡等價於minmax策略,即抑制對手策略
- 在零和博弈情況下,minmax和maxmin是對偶的,minmax策略和maxmin策略等價於納什均衡策略
- 最優匹配對於個體而言不一定最優,甚至是最差的
- 市場結清價格:給定買方報價的情況下,如果賣方的某種價格使得對應的買方偏好圖中存在完全匹配,則稱賣方的這組價格為市場結清價格。對於任意買方估價,市場結清價格一定存在
- 對於結局中 未參與配對的邊,如果邊的兩個端點獲得的收益之和小於1,則稱這條邊為不穩定邊。如果一個結局中不存在不穩定邊,則稱該結局為穩定結局。給定一個結局,如果結局中的任意一個 參與配對的邊都滿足納什議價解的條件,則稱該結局是均衡結局。均衡結局一定是穩定結局。所以,在尋找均衡結局時,可以先尋找穩定結局,進而確定均衡結局。
老師上課講的考點
行為主義
- 圖靈測試是什么?意味着什么?圖靈測試是判斷一個智能體從行為上是否和人表現的一樣。通過圖靈測試也不一定有人的智能,只是行為表現上和人一樣。
- 人工智能的三個學派,聯結主義,符號主義,行為主義
- 蟻群算法(離散問題)與粒子群算法(連續問題)的理解,能簡述道理,梯度不知道的情況下都可以用到
- 多臂賭博機(樂觀初值法,UCB,梯度賭博機的基本原理),馬爾科夫決策過程
- 強化學習考格子題。GridWorld會考一個4個參數的題,先寫出估值函數,問當前的最優策略是什么,然后策略提升。題目只要兩步就收斂了,而且正好是個整數
- 策略學習四個要考(dp,蒙特卡洛模擬,時序差分)(考試只會考dp)但是要知道這四個的概念
 - 博弈的基本概念
- maxmin minmax的陳述,還有均衡的陳述
符號主義
- 命題邏輯的歸結原理的完備性和可靠性證明
- 命題邏輯的Modus Ponens的完備性和可靠性證明
- 老師的話
我的課程講了兩部分:確定性的知識和非確定性的知識。非確定性知識,就是講的模糊數學,主要需要掌握:如何用模糊的方法去表達一些“模糊”的概念。在確定性知識方面,主要講了兩種邏輯,命題邏輯和一階謂詞邏輯。講授一種邏輯的時候,都遵從如下的授課思路:
- 首先定義該邏輯合法的語言:
- 定義合法的邏輯語句的語義;從而引出,邏輯蘊含的概念;
- 給出形式推演系統:歸結原理和Modus Ponens for Definite Clauses;證明推演系統是可靠的和完備的
必復習的知識點
ppt | 重點內容 | 頁數 |
---|---|---|
new5搜索 | 搜索部分的例子,很可能會考 | |
Search-第二講 | 爬山,模擬退火,遺傳算法可能會考 | ppt最后幾頁 |
圖搜索 | 74頁開始 | |
Artificial Neural Networks | 多層感知機 | |
BP算法 | ||
Hopfield網絡 | ||
深度神經網絡 | 自編碼器,DBN,DBM | |
DL for image | 卷積 池化 殘差 | |
DL for sequence | beam search | |
GAN |
有時間可復習的知識點
- 混合策略納什均衡會出一道計算題
- 匹配市場會出一道計算題
例題講解
-
傳教士和野人問題通常描述如下:三個傳教士和三個野人在河的一邊,還有一- 條能載-一個人或者兩個人的船。找到一個辦法讓所有的人能渡到河的另一-岸,要求在任何地方野人數都不能多於傳教士的人數。
a.精確地形式化該問題,只描述確保該問題有解所必需的特性。畫出該問題的完全狀態空間。
b.用一個合適的搜索算法實現和最優地求解該問題,檢查重復狀態是個好主意嗎?
c.這個問題的狀態空間如此簡單,你認為為什么求解它卻很困難?

-
利用resolution歸結原理證明下面式子
解:我們可以通過證明下面的式子是unsatisfiable的,進而證明原式:
因為,resolution歸結原理是soundness可靠的,我們只需要證明歸結得到的KB中包含空子句即可。歸結過程如下:
證明結束。 -
請用一階謂詞邏輯表達“勝者為王,敗者為寇”
-
證明A*樹搜索最優的條件是啟發式函數h(n)是可采納的;A*圖搜索的最優性條件是啟發式函數h(n)是一致性的
可采納性的意義:
一致性的意義:
即沿路徑的節點估計耗散 f 值單調遞增
A*樹搜索最優的條件是啟發式函數h(n)是可采納的,證明如下:
A*圖搜索最優的條件是啟發式函數h(n)是一致性的,證明如下:
-
將一階謂詞邏輯化為合取范式。構造一個永遠不會停止的歸結過程
-
命題邏輯歸結原理的完備性證明
-
命題邏輯Modus Ponens的完備性證明
大膽押題
選擇題
- 結局的穩定性
- 納什均衡判斷
計算題
- 蟻群優化算法和粒子群優化算法選一個闡述基本原理、算法過程和適用范圍
- 一階謂詞邏輯/模糊集的應用(句子轉化,句子表示,模糊集表示,模糊集的交並計算)
- A*(圖/樹)搜索最優性證明或者傳教士與野人問題
- 深度學習相關問題
- resolution或者mp的完備性證明,用歸結原理推導一些東西
- 格子問題
參考博客
福利
師兄給各位師弟師妹推薦一個公眾號——“算法崗從零到無窮”,里面有國科大各種考試的復習資料如自然語言處理、機器學習、模式識別、圖像處理、算法等等,免費閱讀。另有算法崗面試技巧以及知識點,供各位求職的同學參考。