人工智能 (AI)、機器學習 (ML) 和算法這幾個詞經(jīng)常出現(xiàn)誤用、混淆和誤解。盡管它們都有各自的固定含義,但是人們常常會將這幾個概念互換使用。遺憾的是,如果沒有領會這些含義,它們可能會讓本已十分復雜的快速發(fā)展領域亂上加亂。現(xiàn)在,就讓我們認識一些有關算法、人工智能和機器學習的基礎知識,了解它們是什么、如何使用、用在哪里以及分別是為了什么才創(chuàng)造出它們。我們首先從算法開始討論,因為算法構成了人工智能和機器學習的基礎。 算法 簡而言之,算法就是執(zhí)行計算或解決特定問題時要遵循的一組規(guī)則,它包含求解所需的一系列步驟。盡管我們大多數(shù)人對算法的第一個反應都是向計算機發(fā)出的指令,但哪怕是今天您做晚餐時用到的簡單食譜,也可以視為一種算法。 算法實質上是一種快捷地告訴計算機下一步要做什么的方式,通過使用“and”(與)、“or”(或)或“not”(非)語句給出這些指令。它們可能非常簡單(圖1),也可能極其復雜。 圖1: 一種用于在隨機排列的數(shù)字列表中找出最大數(shù)字的簡單算法。(來源:維基百科) 對于(圖1)中的算法,其高級描述如下: 如果數(shù)組中沒有數(shù)字,則沒有最大數(shù)字。 假設數(shù)組中的第一個數(shù)字是其中的最大數(shù)字。 對于數(shù)組中剩余的每個數(shù)字:如果該數(shù)字大于當前的最大數(shù)字,則假設該數(shù)字為數(shù)組中的最大數(shù)字。 如果數(shù)組中的數(shù)字都已經(jīng)循環(huán)到,則將當前的最大數(shù)字視為數(shù)組中的最大數(shù)字。 這些指令可以明確地編寫成具體程序;但是,還有一些算法則使計算機能夠自行學習,比如機器學習。在討論機器學習之前,讓我們介紹一下人工智能這一更廣泛的主題。 人工智能 人工智能 (AI) 需要將一系列的算法結合起來,以便處理意外情況。如果說人工智能就像一把傘,那么機器學習和深度學習 (DL) 就好比是傘骨。AI系統(tǒng)能夠以一種自然的方式與用戶交互。Amazon、Google和Apple處于利用人工智能及其核心非結構化數(shù)據(jù)的最前沿。 2018年,人工智能的閱讀理解能力朝著人類同等能力的目標邁出了巨大的一步。開發(fā)人員利用監(jiān)督學習和帶標簽的示例來訓練AI模型,以執(zhí)行諸如圖像分類等有具體目標的任務。一年后,人工智能出現(xiàn)了一種新的趨勢。自我監(jiān)督學習被用來通過容易獲得的相關內容幫助模型形成對語言中豐富上下文語義的理解。這種突破性方法幫助模型學習的一種方式是通過閱讀文本、屏蔽不同的單詞并根據(jù)剩余的文本進行預測。 利用這種自我監(jiān)督的學習,Microsoft的Turing模型在2020年達到了170億參數(shù)量的新高度,實現(xiàn)了包括生成摘要、語境預測和問題解答在內的各種實用語言建模任務。通過其對人類語言深刻的根本性理解,Microsoft Turing模型能夠獲取人們所要表述的含義,并對實時對話和文檔中的問題準確作出回應。 準確性會隨著AI系統(tǒng)的學習而提高。在未來數(shù)年內,AI系統(tǒng)的參數(shù)量預計將達到萬億級,這將使AI能夠更輕松地協(xié)助用戶,實現(xiàn)僅憑結構化數(shù)據(jù)無法得到的驚人準確性。那么,是什么讓這種學習帶來前所未有的準確性的呢? 機器學習 機器學習使用結構化數(shù)據(jù)輸入和算法進行假設、重新評估數(shù)據(jù),并根據(jù)新發(fā)現(xiàn)的條件重新配置原始算法(圖2)。它無需人工干預即可做到這一點,因此稱為機器學習。因為機器學習系統(tǒng)可以非常快速地處理大量數(shù)據(jù),所以它的優(yōu)勢在于可以用人類無法企及的速度和能力發(fā)現(xiàn)所有可能的模式和解決方案。 然而,復雜的系統(tǒng)也提出了復雜的挑戰(zhàn)。由于機器學習太依賴于假設了,因此系統(tǒng)可能會迅速走上錯誤的道路,從而導致意外的行為和結果。一個例子就是Uber的自動駕駛試點項目,由于錯誤假設導致撞死了一名行人,最終在2018年叫停了所有試驗。 圖2: 機器學習涉及自動根據(jù)經(jīng)驗改進的計算機算法。這種算法基于樣本或訓練數(shù)據(jù)構建模型,目的是作出預測(學習)。(來源:維基百科) 有關機器學習的例子不勝枚舉, 這里我們就舉一個信用卡欺詐檢測的例子。在這一場景中,如果信用卡的使用超出了預期中持卡人的正常使用模式,則要求用戶驗證可疑交易是否合法。然后,機器學習系統(tǒng)進一步調整和修正其對可接受使用模式的理解。 機器學習可以預想到一系列結果,這些結果可能全部正確,但是許多結果一開始可能是不可預測的。機器學習項目缺乏準確性的原因還有很多。 問題出在哪里? 大多數(shù)人工智能實驗失敗的原因之一是缺乏能夠讓機器學會推理的早期指導。機器只認得“0”和“1”, 不能處理其他模棱兩可的情況。 例如,想象一下“痛”的概念。孩子需要有人教她說:“如果你摸到火爐會好痛,這樣做不對。” 或者,同樣也可以說:“如果你要跑步,就有可能會疼。你會感到痛,這是正常現(xiàn)象。” 推理有助于讓機器學習系統(tǒng)知道正面結果與負面結果之間的差異。從Uber的例子可以看出,這在深度學習中變得更加重要,因為如果某種類型的指導者沒有提供反饋,系統(tǒng)就可能會做出錯誤的假設。只有在引導機器如何處理各種模棱兩可結果之后,機器才談得上實現(xiàn)了充分學習。如果一個問題的答案是“也許”而不是“是”或“否”,則必須提出更多問題! 另一個挑戰(zhàn)在于,要有無窮無盡的時間和無限的資金,才能使用各種可能的組合和條件建立例程,而且還不能止步于此—— 還應考慮各種條件和它們的組合在將來可能會如何改變。例程往往會流于僵化,從而導致數(shù)據(jù)流不靈活。 推理的要義在于舉一反三。隨著引擎變得更智能,修正成為了可能。購物單上看似清楚的“half-and-half”(鮮奶油),如果用戶沒有修正,則會因為把and作為邏輯運算符而只顯示兩個“half”。但是,如果用戶修正了條目,引擎將考慮這種更正,并可能考慮上萬個其他條目中的相同修正,從而默認接受“half-and-half”作為有效項目。這就像教孩子說英語: 了解單詞的含義,然后理解在特定的條件下將一個單詞與另一個單詞放在一起,可能會使含義發(fā)生變化。 必須要有這樣的規(guī)則和規(guī)定,算法才能正確地發(fā)揮作用。算法本身是沒有常識的,它對明顯的錯誤一無所知——程序根本就不知道這是怎么回事。算法需要有非常完善、具體且明確的行動計劃才能發(fā)揮作用。問題的癥結恐怕就在這里。 總而言之,當您審視人工智能、算法與機器學習這幾個特定詞語的性質時,很顯然不應該將它們混為一談。最好的做法是,將它們以這樣的方式來看待:算法是解決問題的公式或指令,人工智能使用數(shù)據(jù)和算法來激發(fā)行動和完成任務。另一方面,機器學習是人工智能的一種應用,相當于基于先前數(shù)據(jù)和歷史的自動學習。算法是人工智能和機器學習的基礎,而后者是我們未來的基礎。 文章來源:貿澤電子 作者簡介:Stephen經(jīng)常受邀為《財富》100強企業(yè)提供總體產(chǎn)品戰(zhàn)略和架構設計方面的建議,尤其是在涉及工作流管理、電子商務、人工智能和機器學習的領域,他對當前流程有著客觀的看法。他建議在戰(zhàn)略上進行小幅調整,以產(chǎn)生長期重大收益以及快速的投資回報。 作為首席技術官/首席系統(tǒng)架構師,Stephen深刻了解搭建成功的“軟件即服務”平臺所需的一切。一般是通過基于云的可擴展架構,將多個舊系統(tǒng)組合在一起,讓復雜數(shù)據(jù)集能夠以安全、統(tǒng)一的視圖呈現(xiàn)給用戶。 |