在你開始從事人工智慧之前,你需要先了解人類的智能。

我曾經問過別人、也被別人問過關於學習人工智慧(AI)最好的方式是什麼?我應該去閱讀什麼書?我應該去看什麼視頻?後面我將講到這些,但是,考慮到人工智慧涉及很多領域,我把這個問題分開來講可能更好理解。

學習人工智慧很重要的一點是區別開研究方面和應用方面。Google 的 Cassie Kozyrkov 在近日於倫敦舉行的 OReilly 人工智慧會議的一個演講中 描述了這個區別,並且這是一個很好的演講。

人工智慧研究在本質上是學術性的,在你能夠獲得人工智慧的某些細節之前,需要大量的跨各類學科的數學知識。這部分的人工智慧關注於演算法和驅動人工智慧發展的工具。比如,什麼樣的神經網路結構能夠改善視覺識別的結果?我們如何使無監督學習成為更有用的方法?我們能否找到一個更好的方法,去理解深度學習流水線是如何得出答案的?

另一方面,人工智慧應用更多是關於使用現有工具去獲取有用的結果。開源在這裡發揮了一個重要的作用,那就是免費提供了易於使用的、各種語言的軟體。公有雲提供商也致力於提供大量的機器學習、模型、以及數據集,這使得人工智慧的入門比其它的要簡單的多。

在這個問題上我想補充一點,那就是人工智慧的從業者不應該將他們的工具視為神祕地輸出答案的黑匣子。至少,他們應該去了解不同技術、模型、和數據採集方法的限制和潛在偏差。只是不需要去深入研究他們工具鏈中每個部分的理論基礎。

雖然在日常工作中人工智慧可能並不那麼重要,但理解人工智慧的大量的背景知識還是很有用的。人工智慧已經超越了神經網路上深度學習的狹窄範圍,目前神經網路上的強化學習和監督學習已經取得重要成就。例如,人工智慧經常被視為是增強(而不是替代)人類判斷和決策的一種方法。但是在機器和人類之間交換信息還有其自身的缺陷。

有了這些背景知識,下面是的一些研究領域和資源,你可能發現會很有用。

研究人工智慧

在很多方面,用於人工智慧研究的一個資源清單,可以反映出本科(甚至是研究生)的計算機科學項目都是專註於人工智慧。最主要的區別是,你起草的教學大綱比起傳統的大綱更關注於跨學科。

你的計算機科學和數學背景知識決定了你的起點。

如果你的計算機科學和數據背景知識很差或已經荒蕪了,但你還希望能夠深入瞭解人工智慧的基本原理,那麼從一些數學課程開始將會讓你受益。MOOC 上像非盈利的 edX 平臺和 Coursera 上都有許多可供你選擇的課程(這兩個平臺都對認證收費,但 edX 上所有的課程,對旁聽者是全免費的)。

典型的基礎課程包括:

  • MIT 的微積分課程,從微分開始學習
  • 線性代數 (德克薩斯大學)
  • 概率與統計,比如 MIT 的 概率 —— 不確定性與數據科學

從一個研究的角度去深入人工智慧,你可能需要深入所有的這些數據領域,甚至更多。但是上面的內容應該讓您在深入研究機器學習和AI之前大致瞭解可能是最重要的研究分支。

除了 MOOC 之外,像 MIT OpenCourseWare 這樣的資源也提供了大量的數學和計算機科學課程的大綱和各種支持材料。

有了這些基礎,你就可以學習更專業的人工智慧課程了。吳恩達從他在斯坦福大學時教的 「AI MOOC」 就是整個在線課程領域中最早流行起來的課程之一。今天,他的 神經網路和深度學習 也是 Coursera 深度學習專業的一部分。在 edX 上也有相關的一些項目,比如,哥倫比亞大學提供的一個 人工智慧 MicroMasters。

除了課程之外,也可以在網上找到各種範例和其它學習材料。這些包括:

  • 神經網路和深度學習
  • MIT 出版的 Ian Goodfellow、Yoshua Bengio、Aaron Courville 的《深度學習》

應用人工智慧

人工智慧應用更關注於使用可用的工具,而不是去構建新工具。對一些底層的數學,尤其是統計學的瞭解仍然是非常有用的 —— 甚至可以說是必需的 —— 但對這些知識的瞭解程度不像研究人工智慧的要求那麼高。

在這裡編程是核心技能。雖然可以使用不同的編程語言去做,但是一些庫和工具集 —— 比如 Python 的 PyTorch,依賴於 Python,所以這是一個應該掌握的好技能。尤其是,如果你有某種程度上的編程背景,MIT 的 計算機科學入門和使用 Python 編程,它是基於 MIT 的 6.001 在校課程,是一個非常好的啟蒙課程。如果你編程零基礎,來自密歇根大學的 Charles Severance 的 人人學編程(Python 使用入門) 是個很好的開端,它不會像 MIT 的課程那樣,把你一下子扔進代碼的汪洋大海。

R 編程語言 也是一個應該增加到你的技能庫中的很有用的技能。雖然它在機器學習(ML)中使用的很少,但它在其它數據科學任務中很常見,並且經常與人工智慧/機器學習和數據科學的應用實踐結合在一起。例如,與組織和清理數據相關的許多任務同樣適用於您最終使用的任何分析技術。像哈佛的 數據科學認證 這樣的一個 MOOC 系列就是一整套課程的一個例子,這些課程介紹瞭如何去很好地處理數據。

如果你從事人工智慧方面的工作,那麼你很可能會遇到的另一個開源軟體庫就是 TensorFlow。它最初是由 Google 人工智慧團隊中的 Google 大腦團隊的研發工程師開發的。Google 提供了許多教程 讓你通過高級 Keras API 去開始使用 TensorFlow。你既可以在 Google 雲上也可以在本地運行 TensorFlow。

通常,大的公有雲提供商都提供在線數據集和易於使用的機器學習服務。但是,在你開始去 「玩」 數據集和應用之前,你需要考慮清楚,一旦開始選定一個提供商,你將被它們 「鎖定」 的程度。

你的探索學習項目所需的數據集可以從許多不同的源獲得。除了公有雲提供商之外,Kaggle 是另一個受歡迎的源,總體來看,它也是一個比較好的學習源。以數字形式提供的政府數據也越來越多了。美國聯邦政府的 Data.gov 聲稱它提供超過 300,000 個數據集。各州和地方政府也發布從餐館健康評級到狗的名字的所有數據。

研究和應用人工智慧兼而有之

最後我想說明的一點是,人工智慧不僅是與數學、編程、數據有關的一個寬泛主題。人工智慧作為一個綜合體涉及到了許多其它的領域,包括心理學、語言學、博弈論、運籌學和控制系統。確實,現在有一些人工智慧研究者擔心,由於處理能力和大數據的結合,使得該領域過於關注最近才變得強大和有趣的少數幾個技術。在瞭解人類如何學習和推理方面,許多長期存在的問題仍未解決。不管怎樣,對這些廣泛存在的問題有一個瞭解,將更好地讓你在更廣泛的背景中評估人工智慧。

我比較喜歡的其中一個示例是杜克大學的 人類和自治實驗室。這個實驗室的工作涉及人機協同所面臨的各種挑戰,比如,如果自動化設備失效,自動駕駛儀如何設計才能讓那些「洋紅色的孩子「 快速取得控制。有一個基礎的大腦科學課程,比如 MIT 的 心理學導論,它提供了關於人類智能和機器智能之間關係的一些很有用的內容。另一個類似的課程是,MIT 電子工程與計算機科學系已故教授 Marvin Minsky 的 心靈的社會。

關於學習人工智慧,假如說有一個最重要的挑戰,那它不是原材料和工具不易獲得,因為它們有如此之多。我的目標並不是給你一個全面的指導,相反,而是指出了你可以去學習的不同路徑,以及為你提供一些可能的起點。祝你學習愉快!


via: opensource.com/article/

作者:Gordon Haff 選題:lujun9972 譯者:qhwdw 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


推薦閱讀:
相關文章