人工智能知識脈絡

人工智能作為計算機科學的一個分支旨在創造可以解決計算問題,以及像動物和人類一樣思考與交流的人造系統。人工智能領域開始變得正式源於Alan Turing這位人工智能先驅提出了圖靈試驗,以回答這樣一個終極問題:“計算機能夠思考嗎?”

計算機科學體系

計算機科學是系統性研究信息與計算的理論基礎以及它們在計算機系統中如何實現與應用的實用技術的學科。它通常被形容為對那些創造、描述以及轉換信息的算法處理的系統研究。分支學科脈絡劃分如下

  • 理論電腦科學
    • 數據結構和算法
    • 計算理論
    • 信息論與編碼理論
    • 編程語言和編譯器
    • 形式化方法
  • 計算機系統
    • 計算機體系結構與計算機工程
    • 操作系統
    • 併發、並行與分佈式系統
    • 計算機網絡
    • 計算機安全和密碼學
    • 數據庫
  • 計算機應用技術
    • 計算機圖形學
    • 科學計算
    • 多媒體技術
    • 人工智能
  • 軟件工程

人工智能

人工智能(英語:Artificial Intelligence,縮寫為AI)亦稱智械機器智能,指由人制造出來的機器所表現出來的智能。通常人工智能是指通過普通計算機程序來呈現人類智能的技術

。該詞也指出研究這樣的智能系統是否能夠實現,以及如何實現。同時,通過醫學、神經科學、機器人學及統計學等的進步,常態預測則認為人類的無數職業也逐漸被其取代

人工智能分支學科劃分如下

  • 機器學習
  • 計算機視覺
  • 圖像處理
  • 模式識別
  • 數據挖掘
  • 演化計算
  • 知識表示和自動推理
  • 自然語言處理
  • 機器人學
人工智能知識脈絡

機器學習

機器學習是人工智能的一個分支。人工智能的研究歷史有著一條從以“推理”為重點,到以“知識”為重點,再到以“學習”為重點的自然、清晰的脈絡。機器學習是實現人工智能的一個途徑,即以機器學習為手段解決人工智能中的問題

機器學習在近30多年已發展為一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、計算複雜性理論等多門學科

機器學習理論主要是設計和分析一些讓計算機可以自動“學習”的算法。機器學習算法是一類從數據中自動分析獲得規律,並利用規律對未知數據進行預測的算法。因為學習算法中涉及了大量的統計學理論,機器學習與推斷統計學聯繫尤為密切,也被稱為統計學習理論

算法設計方面,機器學習理論關注可以實現的,行之有效的學習算法。很多推論問題屬於無程序可循難度,所以部分的機器學習研究是開發容易處理的近似算法

機器學習有下面幾種定義

  • 機器學習是一門人工智能的科學,該領域的主要研究對象是人工智能,特別是如何在經驗學習中改善具體算法的性能
  • 機器學習是對能通過經驗自動改進的計算機算法的研究
  • 機器學習是用數據或以往的經驗,以此優化計算機程序的性能標準

一種經常引用的英文定義是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E

機器學習可以分成下面幾種類別

  • 有監督學習 從給定的訓練數據集中學習出一個函數,當新的數據到來時,可以根據這個函數預測結果。監督學習的訓練集要求是包括輸入和輸出,也可以說是特徵和目標。訓練集中的目標是由人標註的。常見的監督學習算法包括迴歸分析
    統計分類
    • 迴歸分析(英語:Regression Analysis)是一種統計學上分析數據的方法,目的在於瞭解兩個或多個變量間是否相關、相關方向與強度,並建立數學模型以便觀察特定變量來預測研究者感興趣的變量。更具體的來說,迴歸分析可以幫助人們瞭解在只有一個自變量變化時因變量的變化量。一般來說,通過迴歸分析我們可以由給出的自變量估計因變量的條件期望
    • 統計分類 是機器學習非常重要的一個組成部分,它的目標是根據已知樣本的某些特徵,判斷一個新的樣本屬於哪種已知的樣本類。分類是監督學習的一個實例,根據已知訓練集提供的樣本,通過計算選擇特徵參數,創建判別函數以對樣本進行的分類
  • 無監督學習 是一種自組織的HEBBY學習的類型,它幫助在沒有預先存在標籤的情況下找到數據集中先前未知的模式。它也被稱為自組織,允許對給定輸入的概率密度進行建模。常見的無監督學習算法有
    生成對抗網絡(GAN)、聚類分析
    • 生成對抗網絡(英語:Generative Adversarial Network,簡稱GAN)是非監督式學習的一種方法,通過讓兩個神經網絡相互博弈的方式進行學習。該方法由伊恩·古德費洛等人於2014年提出。生成對抗網絡由一個生成網絡與一個判別網絡組成,生成網絡從潛在空間(latent space)中隨機取樣作為輸入,其輸出結果需要儘量模仿訓練集中的真實樣本;判別網絡的輸入則為真實樣本或生成網絡的輸出,其目的是將生成網絡的輸出從真實樣本中儘可能分辨出來,而生成網絡則要儘可能地欺騙判別網絡。兩個網絡相互對抗、不斷調整參數,最終目的是使判別網絡無法判斷生成網絡的輸出結果是否真實
    • 聚類分析(英語:Cluster analysis)亦稱為群集分析,是對於統計數據分析的一門技術。聚類是把相似的對象通過靜態分類的方法分成不同的組別或者更多的子集(subset),這樣讓在同一個子集中的成員對象都有相似的一些屬性。一般把數據聚類歸納為一種非監督式學習

有監督學習和非監督學習的差別就是訓練集目標是否人標註。他們都有訓練集且都有輸入和輸出

  • 半監督學習介於監督學習與無監督學習之間
  • 增強學習機器為了達成目標,隨著環境的變動,而逐步調整其行為,並評估每一個行動之後所到的回饋是正向的或負向的

具體的機器學習算法

  • 構造間隔理論分佈:聚類分析和模式識別
    • 人工神經網絡
    • 感知器
    • 決策樹
    • 支持向量機
    • 集成學習AdaBoost
    • 降維與度量學習
    • 聚類
    • 貝葉斯分類器
  • 構造條件概率:迴歸分析和統計分類
    • 高斯過程迴歸
    • 線性判別分析
    • 最近鄰居法
    • 徑向基函數核
  • 通過再生模型構造概率密度函數
    • 最大期望算法
  • 概率圖模型
    • 貝葉斯網
    • Markov隨機場
    • Generative Topographic Mapping
  • 近似推斷技術
    • 馬爾可夫鏈蒙特卡羅方法
    • 變分法
  • 最優化

神經網絡

生物神經網絡(Biological Neural Networks) 一般指生物的神經元、細胞、觸點等組成的網絡,用於產生生物的意識,幫助生物進行思考和行動

人工神經網絡(英語:Artificial Neural Network,ANN),簡稱

神經網絡(Neural Network,NN)或類神經網絡,在機器學習和認知科學領域,是一種模仿生物神經網絡(動物的中樞神經系統,特別是大腦)的結構和功能的數學模型或計算模型,用於對函數進行估計或近似

神經網絡由大量的人工神經元聯結進行計算。大多數情況下人工神經網絡能在外界信息的基礎上改變內部結構,是一種自適應系統,通俗的講就是具備學習功能

現代神經網絡是一種非線性統計性數據建模工具,神經網絡通常是通過一個基於數學統計學類型的學習方法 (Learning Method) 得以優化,所以也是數學統計學方法的一種實際應用,通過統計學的標準數學方法我們能夠得到大量的可以用函數來表達的局部結構空間,另一方面在人工智能學的人工感知領域,我們通過數學統計學的應用可以來做人工感知方面的決定問題 (也就是說通過統計學的方法,人工神經網絡能夠類似人一樣具有簡單的決定能力和簡單的判斷能力),這種方法比起正式的邏輯學推理演算更具有優勢

感知器 (英語:Perceptron) 是Frank Rosenblatt在1957年就職於康奈爾航空實驗室 (Cornell Aeronautical Laboratory) 時所發明的一種人工神經網絡。Frank Rosenblatt 給出了相應的感知機學習算法,常用的有感知機學習、最小二乘法和梯度下降法。譬如,感知機利用梯度下降法對損失函數進行極小化,求出可將訓練數據進行線性劃分的分離超平面,從而求得感知機模型

感知機是生物神經細胞的簡單抽象,神經細胞結構大致可分為:樹突、突觸、細胞體及軸突。單個神經細胞可被視為一種只有兩種狀態的機器——激動時為‘是’,而未激動時為‘否’。神經細胞的狀態取決於從其它的神經細胞收到的輸入信號量,及突觸的強度(抑制或加強); 當信號量總和超過了某個閾值時,細胞體就會激動,產生電脈衝; 電脈衝沿著軸突並通過突觸傳遞到其它神經元。為了模擬神經細胞行為,與之對應的感知機基礎概念被提出,如權量(突觸)、偏置(閾值)及激活函數(細胞體)

在人工神經網絡領域中,感知機也被指為單層的人工神經網絡,以區別於較複雜的多層感知機(Multilayer Perceptron)。

作為一種二元線性分類器,(單層)感知機可說是最簡單的前向人工神經網絡形式。儘管結構簡單,感知機能夠學習並解決相當複雜的問題。感知機主要的本質缺陷是它不能處理線性不可分問題

人工智能知識脈絡

神經細胞結構示意圖

感知機是一種模式識別算法,用簡單的加減法實現了兩層的計算機學習網絡。羅森布拉特也用數學符號描述了基本感知機裡沒有的迴路,例如異或迴路,這種迴路一直無法被神經網絡處理,直到保羅·韋伯斯(1975)創造的反向傳播算法有效地解決了異或的問題,還有更普遍的訓練多層神經網絡的問題

人工神經網絡的組成

  • 結構 (Architecture) 指定了網絡中的變量和它們的拓撲關係。例如,神經網絡中的變量可以是神經元連接的權重 (weights) 和神經元的激勵值 (activities of the neurons)
  • 激勵函數 (Activation Rule) 大部分神經網絡模型具有一個短時間尺度的動力學規則,來定義神經元如何根據其他神經元的活動來改變自己的激勵值
    。一般激勵函數依賴於網絡中的權重(即該網絡的參數)
  • 學習規則 (Learning Rule) 指定了網絡中的權重如何隨著時間推進而調整。這一般被看做是一種長時間尺度的動力學規則。一般情況下,學習規則依賴於神經元的激勵值,它也可能依賴於監督者提供的目標值和當前權重的值。例如,用於手寫識別的一個神經網絡,有一組輸入神經元; 輸入神經元會被輸入圖像的數據所激發; 在激勵值被加權並通過一個函數 (由網絡的設計者確定) 後,這些神經元的激勵值被傳遞到其他神經元; 這個過程不斷重複,直到輸出神經元被激發; 最後,輸出神經元的激勵值決定了識別出來的是哪個字母
  • 神經元

    人工智能知識脈絡

    神經元示意圖

  • a1~an為輸入向量的各個分量
  • w1~wn為神經元各個突觸的權值
  • b為偏置
  • f為傳遞函數,通常為非線性函數。一般有traingd(),tansig(),hardlim()。以下默認為hardlim()
  • t為神經元輸出
  • 人工智能知識脈絡

    數學表示

    一個神經元的功能是求得輸入向量與權向量的內積後,經一個非線性傳遞函數得到一個標量結果

    單個神經元的作用 把一個n維向量空間用一個超平面分割成兩部分(稱之為判斷邊界),給定一個輸入向量,神經元可以判斷出這個向量位於超平面的哪一邊

    人工智能知識脈絡

    該超平面的方程

    學習過程

    通過訓練樣本的校正,對各個層的權重進行校正 (learning) 而創建模型的過程,稱為自動學習過程 (training algorithm)。具體的學習方法則因網絡結構和模型不同而不同,常用反向傳播算法 (Backpropagation/倒傳遞/逆傳播,以output利用一次微分Delta rule來修正weight) 來驗證

    人工神經網絡的兩種分類方式

    • 依學習策略 (Algorithm) 分類
      • 監督式學習網絡 (Supervised Learning Network)
      • 無監督式學習網絡 (Unsupervised Learning Network)
      • 混合式學習網絡 (Hybrid Learning Network)
      • 聯想式學習網絡 (Associate Learning Network)
      • 最適化學習網絡 (Optimization Application Network)
    • 依網絡架構(Connectionism)分類
      • 前饋神經網絡 (Feed Forward Network)
      • 循環神經網絡 (Recurrent Network)
      • 強化式架構 (Reinforcement Network)

    深度學習

    深度學習 (Deep Learning) 是機器學習的分支,是一種以人工神經網絡為架構,對數據進行表徵學習的算法。深度學習的好處是用非監督式或半監督式的特徵學習和分層特徵提取高效算法來替代手工獲取特徵

    在機器學習中,特徵學習表徵學習是學習一個特徵的技術的集合:將原始數據轉換成為能夠被機器學習來有效開發的一種形式。它避免了手動提取特徵的麻煩,允許計算機學習使用特徵的同時,也學習如何提取特徵:學習如何學習

    特徵學習可以被分為兩類

    • 監督特徵學習 從被標記的數據中學習特徵
      • 監督字典學習
      • 神經網絡
    • 無監督特徵學習
      • κ-平均算法
      • 主要成分分析
      • 獨立成分分析
      • 局部線性嵌入算法
      • 無監督字典學習

    深度學習框架

    • 深度神經網絡 (DNN) 是一種判別模型,可以使用反向傳播算法進行訓練,具備至少一個隱層的神經網絡。與淺層神經網絡類似,深度神經網絡也能夠為複雜非線性系統提供建模,但多出的層次為模型提供了更高的抽象層次,因而提高了模型的能力
    • 卷積神經網絡 (CNN) 由一個或多個卷積層和頂端的全連通層 (對應經典的神經網絡) 組成,同時也包括關聯權重和池化層
    • 深度置信網絡 (DBN) 神經網絡的一種。既可以用於非監督學習,類似於一個自編碼機;也可以用於監督學習,作為分類器來使用
    • 循環神經網絡 (RNN) 是一類以序列 (sequence) 數據為輸入,在序列的演進方向進行遞歸 (recursion) 且所有節點 (循環單元) 按鏈式連接的遞歸神經網絡

    深度學習的基礎是機器學習中的分散表示 (distributed representation)。分散表示假定觀測值是由不同因子相互作用生成。在此基礎上,深度學習進一步假定這一相互作用的過程可分為多個層次,代表對觀測值的多層抽象。不同的層數和層的規模可用於不同程度的抽象

    小結

    文章沿著計算機科學的脈絡,梳理了人工智能和機器學習整個知識體系,並對神經網絡這個分支主要做了簡單介紹。後續將會發布系列文章,圍繞這一知識體系的各個分支一一展開


    分享到:


    相關文章: