# 高等人工智慧
***3/10***

AI主要重要的部分分成三大類
1.學習
2.知識儲存記憶能力
3.推理及判斷之能力
目前AI的問題是在於轉換硬體的速度
現今的AI要做到行動像人都是以圖靈測試為基準
那要讓AI做到行動像人需要包含以下四大特性
1.自然語言表示
2.知識的表示(知識圖譜)
3.自動推論(貝氏推論技術)
4.機器學習


***3/17 Agents***

這章主要討論理性行為
1.討論Agent的特質
2.評估環境的特質
3.Agent的類型

2.1
Agent總共有兩種行為一個是感測環境另一個則是行動

在上圖中可得知有以一下三個Agent的概念
1.human Agent(人類):人類的感測是由眼睛、耳朵以及一些器官所組成的,那你的自動器則是以手、腿、聲音等由這些來去執行的。
2.robtic agent(機器人):機器人的感測器可以用攝影機或者是紅外線等來做感測,那它的行動則是透過各種馬達使機器人可以做出各種行動。
3.software agent(軟體):其實google的搜尋引擎就是屬於軟體的agent,通常這類的agent具有學習能力,它的感測來自於鍵盤、檔案或者事封包來進行感測。
感知會分為兩個概念:
1.感知一個點
2.感知一序列

我們要處理的問題是動態的話就是一個微分方程(電腦視覺就是動態)
我們要處理的問題是靜態的話就是一個函數關係
2.2什麼叫好的行為

Rationality
1.性能量測的指標且可以定義在什麼情況下是成功
2.Agent內建環境的知識
3.我們設計的動作Agent可以完成
4.可以感知到最新的資料
理性只要是在當下是最好最佳就可以並不是要最安全
2-3

工作環境是一個很重要的指標
做AI一定要對你的題目做PEAS的了解
環境是全部可觀還是部份可觀
環境在設計上是確定性還是隨機性
如是隨機性就會較為複雜
但如果是不確定性就必須知道事件
靜態就是一個函數
動態的話是一個微分方程
考慮環境是靜態還是動態
靜態+時間的話就屬於半動態
你的環境是知道還是不知道
當一個專案的環境是一個不知道、是隨機的、需要多個Agent的等會是一個很困難情況
2-4
Agents=一個架構+程式
要讓查表(Lookup table)比較快就須做平行處理


邏輯越強的話可解釋性Model就越大
Goal-based agents
他主要是在model-based agent 上的改進,所以它會有目標的資訊
Utility-based agents


Learning Agents

***3/24***
Agent繼承關係圖

Muti-Agent是未來分散式AI的主要架構
做遊戲設計或是控制很常使用強化式學習
只要Agent架構裡面有reword(獎勵)的話就是強化式學習
加群平均是非線性的

***3/31***

模糊系統在AI
AI在處理不確定性問題主要是用貝式理論、模糊理論
弱AI的部分:雖然可以取代人部分且學習能力強但它可解釋度低,不可靠
強AI的部分:
圖神經網路與隨機森林可解釋度高也是現今比較熱議的
softmax層其實就是簡化版的模糊系統
可解釋性AI概念:
它可以藉由模糊系統或者是圖像AI等,讓使用者知道今天訓練出來的結果是以什麼為基準去得出的結果

如果我們要做模糊處理那輸入必須做模糊化
區間性的模糊集合是有上下性的
模糊集合只有中間式精準的其他是層度
投影可以算是模糊的降維
模糊運算他的交集(相加)取最大值聯集(相乘)取最小值







Fuzzy整合可以從觀點1圖中裡的這四大領域做結合,且Fuzzy它就像我們人的左腦邏輯運算一樣使AI的思考可以更像人。

Fuzzy logic缺點:是需要Knowledge base的提供,如果沒有專家去建立的話沒辦法做應用開發。
模糊推論系統(FIS):
1.每次輸入會是精準值須做模糊化變成模糊輸入。
2.做完模糊推論的規則會產出模糊集合輸出。
3.想要有精確的輸出必須做Defuzzifer。
4.在做建模糊化、推論工程、解模糊化需要有模糊知識庫。
知識建立:
1.將問題變成符號表示概念,也就是圖中IF then架構。
2.藉由此架構建立映射的關係
3.在建模時y會依解決問題來去表示當下示微分方程還是函數的關係

模糊數:模糊數是針對模糊集合的某些動作做限制。

模糊集合方法:
1.模糊關係
2.模糊數
3.延伸定理
4.模糊最佳化
模糊測度方法:
1.模糊積分
模糊邏輯方法:
1.語言變數
2.模糊演算法
3.近似推論(在做模糊邏輯比較重要的地方)

模糊集合如果是離散的話會像圖中底下那串供式表示。
模糊集合如果是連續型的則是會使用圖中底下的積分公式表示。





單條條rule:不用擔心有聚合的問題
多條rule:則需要擔心聚合、已經要取最大值或是最小值等問題

高斯兩條rule的計算


聚合概念
AND運算:
1.取最小值
2.rule是交集
OR運算:
1.取最大值
2.rule聯集



在TSK Fuzzy Model裡 z這個函數可以用線性、非線性或者是微分方程式來表示。
且此Model在做模糊整合較為簡單


解模糊化可以用圖中5種做法
其中重心法COA運算較為複雜所以比較難做


***4/14***



Type-2 Fuzzy
與前一代不同的是他比較一般化,且較為複雜可以處理較多的不確定性
Type-2要做解模化可能會要降成一階
聯集 maxmum

4/28
***NLP(自然語言處理&神經網路語言處理)***




NLP=NLU(語言理解)+NLG(語言產生)






向量:200~400
***強化學習***
強化式學習就是屬於監督式還是非監督式學習這兩種則中去做(例:離散學習也算是強化式學習)

強化式學習可以分成兩大類分別為:
1.MDP已知
模型會使用動態規劃分以下兩種:
(1).策略迭帶
(2).值迭帶
可以藉由以上兩種迭帶方法讓model知道目前訓練出來的結果好不好
2.MDP未知
馬可夫決策過程是隨機(不確定性)的輸入模式所以須使用MDP
模型藉由以下兩種建表來得出最好的結果:
(1.)蒙地卡羅方法
(2.)時序差分
但這種方法無法知道決策過程

Model based 方法取樣較快原因是建立在Model是在已知決策過程中條件下取樣效率相對應較快
Off-policy概念:把學習過程用表格建起來,或者用模擬器嘗試把未知的東西用表格建起來,也因為這原因在用這種方法做學習model取樣效率也會比On-policy來的好



Agent會透過以下三種跟環境去做連結與變化並給予相對應的獎勵或評斷
1.Observation:觀察當下的狀態
2.Action:對當下的狀態去做策略
3.Reward:可以透過這函數去做評論





在強化式學習裡獎勵函數可分成Rewards、Returns
Rewards、Returns兩者差異:
Rewards:它每次獎勵的內容會隨則次數增加而將獎勵內容逐漸變少(比較看重第一步好不好)
Returns:它每獎勵的內容都一致不會有獎勵變少問題

State-value:是將Action做期望值
Optimal action-value:是在取最大值
































---
## 開放教育平台-影片(簡短重點)
物件偵測主要目的在於可以定位物體和辨識物體,那物件偵測又分為2大偵測方式
1. Two stages detection(二段式偵測)
2. single stage detection(一段式偵測)
二段式偵測主要偵測速度慢但是辨識物體準確度高
一段式偵測主要偵測速度快但是辨識物體準確度相對二段式偵測低

### 演算法
一段式偵測的物件偵測演算法的代表為
Yolo (You Only Look Once)和SSD...
二段式偵測為
1.R-CNN、2.Fast R-CNN、3.Fasted R-CNN和4. R-FCN ...
### 評估模型好壞的指標

1.TP(True Positive)、2. FP(False Positive)、3. TN(True Negative)和4. FN(False Negative)。此外也利用這4種指標延伸出了2種新指標為Precision(精確度)和recall(召回率)

### Training(訓練)和Inference(推論)的不同

### 深度學習的模型壓縮和加速
最常見的方法為Purning(裁剪)。那Purning有許多種方式。
1. weighting Purning(權重裁剪)
2. Layer Purning(層數裁剪)
3. Channel Purning(通道裁剪)等許多方式進行壓縮

