遺傳演算法到強化學習,一文介紹五大生物啟發式學習演算法

路雪發表於2018-01-17

本文是作者獻上的一部「野外紀錄片」,介紹了五個直接受大自然啟發而產生的人工智慧演算法:人工神經網路、遺傳演算法、叢集智慧、強化學習和人工免疫系統。

遺傳演算法到強化學習,一文介紹五大生物啟發式學習演算法


在當今技術背景之下,人工智慧的發展催生出很多美好事物。人類花費數十年研究如何最佳化數學計算以使複雜的學習演算法運轉起來,此外,我們還已經超越自身的物種,正努力創造新一代智慧體。大自然及其所包含的一切,深深地植根於人工智慧的運作之中,而這正是本文的主題。

David Attenborough 的野生動物紀錄片令人震撼,他們透過高畫質晰的細節記錄了地球上諸多物種的行為和特徵,如何融入自然生態系統,並協同共存使得自然生機勃勃——使其成為「地球」。我雖然不是 David Attenborough,但是也要獻上一部「野生動物紀錄片」,介紹那些直接受大自然啟發而產生的人工智慧演算法。在此之前,我首先介紹兩個演算法概念:搜尋/路徑尋找和預測建模。

搜尋(路徑尋找)演算法

搜尋演算法本質上是一種程式,被設計用來發現通往目標的最優/最短的路徑。例如,旅行推銷員問題是一個典型的搜尋最佳化問題,其中包含給定的一系列城市及其之間的距離。你必須為推銷員找到最短路徑,同時每個城市只經過一次,從而最小化旅行時間和開銷(確保你回到起點城市)。這一問題的真實應用是運貨車。假設倫敦有 100 個人線上下單,所有箱子要裝進貨車,快遞員現在必須計算最高效的路線(平衡距離/所花費的時間),以便從倉庫交付這些包裹(最終還要返回倉庫),確保公司把時間和金錢消耗降到最低。

預測建模演算法

如今,有關預測建模的炒作是最多的。全世界的資料科學正在強烈呼籲「神經網路」,而像谷歌這樣的大公司也正努力透過人工智慧及其各種不同變體解決世界上的難題。預測建模本質上藉助統計學來預測結果。你經常聽到資料科學家試圖解決兩類預測建模問題:迴歸和分類。迴歸是找到兩組變數關聯性的暗黑藝術;分類是確定資料集屬於不同組的機率的過程。

5 個生物啟發式學習演算法

1. 人工神經網路

遺傳演算法到強化學習,一文介紹五大生物啟發式學習演算法

前饋神經網路——最基本型別的神經網路


  • 演算法型別:預測建模
  • 生物啟發:認知腦功能(神經元)
  • 用例:情感分析、影像識別/檢測、語言修正、機器人

讓我們從最基礎的人工智慧演算法開始。神經網路是人工智慧子範疇機器學習的一部分。神經網路的設計目的是在神經元層面上模擬大腦功能,透過軸突和樹突的互動在系統之中把資訊傳遞過一系列的層,生成一個預測性的輸出。每個層提供一個資料表徵的額外層,並允許你建模最複雜的問題。

神經網路很可能是使用最為廣泛的機器學習演算法,並且是目前為止資料科學和深度學習的最熱趨勢。這一概念最初起始於 1958 年的感知機,後來 Geoffrey Hinton 完善了它,並在谷歌、Facebook 等公司中大為流行。神經網路可用於解決一系列問題,比如自然語言處理、視覺識別。這一監督式學習演算法可以解決迴歸和分類問題,其例項可在常規的消費產品中發現,比如智慧手機和智慧家居裝置。

2. 遺傳演算法

遺傳演算法到強化學習,一文介紹五大生物啟發式學習演算法

遺傳演算法中的個體繁殖


  • 演算法型別:搜尋/路徑尋找
  • 生物啟發:適者生存/進化(細胞繁殖)
  • 用例:資料探勘/分析、機器人、製造/設計、流程最佳化

遺傳演算法在連續的一代代個體之間採取適者生存的進化方法,以期解決搜尋問題。每一代包含一群模擬 DNA 染色體的字串。群體中的每個個體表徵搜尋空間中的一點,因此每個都是可能的候選方案。為了提升方案數量,我們使個體經歷一次進化過程。

  • 群體之中的每個個體將會競爭資源和配偶。
  • 相比於表現差的個體,每次競爭中的最成功個體將(通常)產生更多個體。
  • 來自更多「理想」候選的基因在群體中傳播,因此這些優秀的父母往往會產生潛力更大的後代。

3. 群集/叢集智慧(SWARM/COLLECTIVE INTELLIGENCE)

遺傳演算法到強化學習,一文介紹五大生物啟發式學習演算法

蟻群最佳化演算法示例——一種叢集智慧演算法


  • 演算法型別:搜尋/路徑尋找
  • 生物啟發:蟻群/魚群/鳥群
  • 用例:機器人、影片遊戲 AI、製造業、路徑規劃

蟻群最佳化(Ant Colony Optimisation)和粒子群最佳化(Particle Swarm Optimisation)是兩種最廣為人知的「叢集智慧」演算法。從基礎層面上來看,這些演算法都使用了多智慧體。每個智慧體執行非常基礎的動作,合起來就是更復雜、更即時的動作,可用於解決問題。

蟻群最佳化(ACO)與粒子群最佳化(PSO)不同。二者的目的都是執行即時動作,但採用的是兩種不同方式。ACO 與真實蟻群類似,利用資訊激素指導單個智慧體走最短的路徑。最初,隨機資訊激素在問題空間中初始化。單個智慧體開始遍歷搜尋空間,邊走邊灑下資訊激素。資訊激素在每個時間步中按一定速率衰減。單個智慧體根據前方的資訊激素強度決定遍歷搜尋空間的路徑。某個方向的資訊激素強度越大,智慧體越可能朝這個方向前進。全域性最優方案就是具備最強資訊激素的路徑。

PSO 更關注整體方向。多個智慧體初始化,並按隨機方向前進。每個時間步中,每個智慧體需要就是否改變方向作出決策,決策基於全域性最優解的方向、區域性最優解的方向和當前方向。新方向通常是以上三個值的最優「權衡」結果。

4. 強化學習


遺傳演算法到強化學習,一文介紹五大生物啟發式學習演算法

強化學習環境中的智慧體行為


  • 演算法型別:預測建模
  • 生物啟發:經典條件反射
  • 用例:影片遊戲、自動駕駛汽車、生產線軟體、財務系統

強化學習受到心理學和經典條件反射的啟發,為智慧體的積極動作給予正值反應。學習強化學習的概念通常比學習流行的經典條件反射示例「巴甫洛夫的狗」更加簡單。該示例是 1890 年代俄國心理學家伊萬·巴甫洛夫執行的研究,旨在觀察狗對食物的唾液分泌。詳細解釋可參閱:https://www.simplypsychology.org/pavlov.html。本質上,如果強化學習智慧體執行了一個好的動作,即該動作有助於完成要求任務,則它會得到獎勵。智慧體將使用策略來學習在每一步中最大化獎勵。將原始輸入應用到演算法中使得智慧體開發出自己對問題的感知,以及如何以最高效的方式解決問題。

RL 演算法常常與其他機器學習技術(如神經網路)一同使用,通常稱為深度強化學習。神經網路通常用於評估 RL 智慧體作出某個決策後所獲得的獎勵。DeepMind 在這方面取得了很大成果,它使用深度 Q 學習方法解決更通用的問題(如利用演算法的能力玩 Atari 遊戲、戰勝圍棋世界冠軍)。DeepMind 現在在研究更復雜的遊戲,如星際爭霸 2。

Q 學習是強化學習演算法的無模型版本,可用於對任意有限馬爾可夫決策過程尋找最優的動作選擇策略。程式初始化時,每個動作-價值對的 Q 值由開發者定義,並由 RL 演算法在每個時間步進行更新。下圖展示了 Q 值的更新公式。

遺傳演算法到強化學習,一文介紹五大生物啟發式學習演算法

Q 學習值更新公式

5. 人工免疫系統

遺傳演算法到強化學習,一文介紹五大生物啟發式學習演算法

人工免疫系統元件


  • 演算法型別:預測建模
  • 生物啟發:免疫系統
  • 用例:安全軟體、自動導航系統、排程系統、故障檢測軟體

免疫系統透過免疫應答機制保護身體免受病原體等的侵襲。人工免疫系統(AIS)是一種適應性系統,受啟發於理論免疫學和免疫功能在問題求解中的應用。AIS 是生物啟發計算和自然計算的分支,與機器學習和人工智慧聯絡緊密。以下演算法常用於 AIS:

  • 克隆選擇
  • 樹突狀細胞
  • 負選擇
  • 人工免疫識別

和生物免疫系統一樣,AIS 能夠將所有「細胞」分類為「自己」或「非己」細胞。智慧的分散式任務組(distributed task force)用於對所有細胞執行動作。免疫系統中最重要的兩種細胞是 T 細胞和 B 細胞。T 細胞有三種型別:啟用 B 細胞、摧毀入侵者、調節機體免疫問題。B 細胞生成抗體。人工免疫系統通常用於監控入侵檢測,從而抵禦網路攻擊,通常被整合進企業級軟體中。與上文提到的其他演算法不同,這方面的線上免費學習資料較少,而且可能也是發展最慢的。

本文介紹了 5 種受生物啟發的技術。影響 AI 系統的生物啟發演算法還有很多,歡迎分享。

原文地址:https://towardsdatascience.com/5-ways-mother-nature-inspires-artificial-intelligence-2c6700bb56b6

相關文章