起底人工智能的底層邏輯

起底人工智能的底層邏輯

​隨著人工智能技術的發展,在一些場景的應用也越來越成熟,人工智能正在逐步滲透進人們生活的各個角落,甚至在這次的抗擊新冠疫情中也扮演了重要角色。

新技術的應用

對比2003年的非典,此次新冠疫情在症狀上潛伏期更長,傳染性更強,而且還碰上了流感爆發以及春運流動的節點,因此病情人數不斷上升,在防治上面臨了更大的困難。

正因如此,在大規模傳染之後,現有的醫療資源難以滿足不斷增長的病患用戶。為了實現更好的管控防治效果,提高效率,不少企業紛紛應用諸多技術手段來抗擊疫情。比如有些地方推出了智能機器人,通過語音識別、自然語義理解等技術,針對疫情問題、就醫注意、防護措施進行回答。對於正常用戶、輕症用戶來說,人工智能可以起到一定的答疑作用,避免醫療資源緊缺以及交叉感染的風險。

其實,人工智能還被應用於疫苗研發,比如使用深度學習技術,可以協助科研人員進行數據分析、快速篩選文獻以及相應的測試工作。此外,人工智能還可以應用於建立模型以觀察疫情傳播。早前,國內基於AI和大數據的流感實時預測模型便登上了《柳葉刀》的子刊,為傳染病預測提供了更加精準的邏輯框架。

神奇的算法

人工智能技術為何能發揮出如此大的作用,魔力的來源究竟是什麼?

人工智能在這些年的快速發展主要得益於算力提升、數據積累和算法創新。其中,算法是人工智能的靈魂,是魔力的主要來源,今天我們就一起來看一看這些算法的本來模樣。

算法(Algorithm)這個概念比較抽象,是指一個準確而完整的關於解題方案的描述,用系統的方法描述解決問題的策略。簡單地說,算法就是解決問題的處理步驟,一個生活中的例子就是我們烹飪的時候往往需要食譜的幫助,食譜描述了美味料理的製作方法,對製作料理這個問題給出了方案,並將操作步驟規範地描述出來。

算法一詞來源已久,截止目前,網上不完全統計有2000多個算法,如果考慮到每個算法的各類變種,數量極其巨大。但是這些算法按照模型訓練方法的差異,總體上可以分為四個類別:有監督學習(Supervised Learning)、無監督學習(UnsupervisedLearning)、半監督學習(Semi-supervised Learning)和強化學習(Reinforcement Learning)。這些算法是如何讓機器具備了“智能”,它們作用的原理是什麼?今天,我們嘗試用幾個樣例來揭開背後的秘密。

1、有監督學習

有監督學習被稱為“有老師的學習”,所謂的老師就是標籤。通過標註好的樣本(即訓練樣本以及其對應的目標)訓練得到一個最優模型,再利用這個模型對輸入的數據進行判斷給出結果,從而具備對未知數據進行預測的能力。

在建立預測模型的時候,監督式學習建立一個學習過程,將預測結果與“訓練數據”的實際結果進行比較,不斷的調整預測模型,直到模型的預測結果達到一個預期的準確率。這也比較符合我們的認知習慣,比如我們通過圖片或實物學習什麼是貓、什麼是狗等。

經典的有監督學習算法有:反向傳播神經網絡、波爾茲曼機、卷積神經網絡、多層感知器、循環神經網絡、樸素貝葉斯、高斯貝葉斯、多項樸素貝葉斯、分類和迴歸樹、ID3算法、C4.5算法、C5.0算法、隨機森林、線性迴歸、邏輯迴歸、支持向量機等。

這些專業名稱不重要,我們以大名鼎鼎的AlphaGo為例來了解一下有監督學習的原理。從2016年到2017年,這個圍棋機器人在多種場合以絕對優勢戰勝了數十位頂尖的人類棋手。圍棋界公認AlphaGo圍棋的棋力已經超過人類職業圍棋頂尖水平,在GoRatings網站公佈的世界職業圍棋排名中,其等級分曾超過排名人類第一的棋手。

AlphaGo為了解決圍棋的複雜問題,結合了有監督學習和強化學習的優勢,通過標註數據訓練形成一個策略網絡,將棋盤上的當前棋子的佈局狀態作為輸入信息,對所有可能的下一步落子位置生成一個概率分佈。以 -1(對手勝利)到1(AlphaGo勝利)為標準,預測所有落子位置的得分。也就是說,針對每個棋盤狀態定義了一個學習目標,如此大量的循環往復,模型學會了應對不同的棋盤佈局能夠預測最佳落子位置,最終取得令人矚目的成果。

2、無監督學習

無監督學習被稱為“沒有老師的學習”,相比有監督學習的不同之處在於,不使用事先標註的訓練樣本,沒有訓練的過程,而是直接拿無標註的數據進行建模分析,通過機器學習自行學習探索,從數據集中發現和總結模式或者結構。

典型的無監督學習算法包括:生成對抗網絡(GAN)、前饋神經網絡、邏輯學習機、自組織映射、Apriori算法、Eclat算法、DBSCAN算法、期望最大化、模糊聚類、k-means算法等。

這裡以k-means算法為例來看看無監督學習背後的運行機制,這是一種用來計算數據聚類的算法。

起底人工智能的底層邏輯

例如,對上圖中的A、B、C、D、E五個點聚類,主要方法是不斷地設定並調整種子點的位置,計算離種子點最近的均值,最終根據距離聚成群。灰色的是開始時設定的種子點,首先,計算五個點與種子點之間直接的距離,然後,將種子點逐步移動到點群的中心。最終,A、B、C和D、E分別根據離種子點的距離聚類為點群。

這個方法看上去很簡單,但是應用的範圍非常廣泛,包括給網頁文本進行主題分類;分析一個公司的客戶分類,對不同的客戶使用不同的商業策略;電子商務中分析商品相似度,歸類商品,從而得出不同的銷售策略等。

曾有人做過一個有趣的分析,給亞洲15支足球隊的2005年到2010年的戰績做了一個表,然後用k-Means把球隊歸類,得出了下面的結果,來,感覺一下是否靠譜?

亞洲一流:日本、韓國、伊朗、沙特;

亞洲二流:烏茲別克斯坦、巴林、朝鮮;

亞洲三流:中國、伊拉克、卡塔爾、阿聯酋、泰國、越南、阿曼、印尼。

3、半監督學習

半監督學習,處在有監督學習和無監督學習的中間帶,其輸入數據的一部分是有標籤的,另一部分沒有標籤,而沒標籤數據的數量往往遠大於有標籤數據數量(這也是符合現實情況的)。常見的半監督學習類算法包含:生成模型、低密度分離、基於圖形的方法、聯合訓練等。

4、強化學習

強化學習,主要是讓機器從一個狀態轉變到另一個狀態,當完成任務時獲得高分獎勵,但是沒有完成任務時,得到的是低分懲罰,這也是強化學習的核心思想。常見的強化學習類算法包含:Q學習、狀態-行動-獎勵-狀態-行動(SARSA)、DQN、策略梯度算法、基於模型強化學習、時序差分學習等。

強化學習是近些年大家研究的一個重點,我們以Q學習為例說明(此處,引用了McCullock一個非常好的樣例)。假設一個房子有五個房間,房間之間通過門連接,從0到4編號,屋外視為一個單獨的房間,編號為5,如下方左圖。

起底人工智能的底層邏輯

我們把左面的圖轉換一下,房間作為節點,如果兩個房間有門相連,則中間用一條邊表示,得到上方右圖。

假設我們的目標是從屋內任意一個房間走到屋外,即編號5,2號房間是起點,每條邊設定獎勵值,指向5的為100,其他為0,可以發現,通過得分獎勵,從2到3,再到1或4,最終路線會收斂到5。

相對於以往的算法,強化學習更符合人類學習的習慣,在近年來被寄予了很高的期望,特別是隨著DeepMind 和 AlphaGo 的成功,強化學習日益受到關注。

榮光和侷限

人工智能技術在這次疫情防控中的應用,離不開大量的算法工作。比如谷歌用AI技術幫助科學家研究病毒特徵,亞馬遜探索用疫苗等方式來治癒普通感冒等。

當然,人們也不需要把人工智能奉為神明,如果仔細研究一下上文列舉的例子就會發現,人工智能擅長處理的是在有限、透明規則、特定任務下的問題,因而在以計算為主要特徵的領域取得了不錯的效果,但是對於其他問題,比如自然語言理解、圖像理解等仍然面臨較多的挑戰。

文末彩蛋

總有人問,自己不會編程,又對人工智能感興趣,有沒有辦法上手呢?

這裡介紹一個可視化編程工具Scratch,由麻省理工學院的“終身幼兒園團隊”設計開發的圖形化編程工具,旨在讓初學者不需要學習程序語言便能設計產品。

開發者期望通過使用Scratch,啟發和激勵用戶在愉快的環境下學習程序設計和算法知識,同時獲得創造思考、邏輯編程和協同工作的體驗。目前最新的版本是Scratch 3.0,採用了HTML5來編寫,編輯器的外形看起來更加柔美,拖拽積木還有音效,支持多次撤回和恢復,有興趣的讀者可以試試。

本文由“蘇寧財富資訊”原創,作者為蘇寧金融研究院金融科技研究中心副主任沈春澤


分享到:


相關文章: