深度學習:一種特定類型的機器學習
本文作者將從深度學習的角度,來討論下這個火熱人工智能話題。enjoy~
近期臨近年底,工作比較忙,好久沒有去更新文章了。作為一名人工智能行業的從業者不去主動接觸點人工智能方面的知識都有點不太好意思了,心血來潮就打算看看近期火熱的深度學習。經研究院的同事給介紹《深度學習》這本書,看了兩天實在是頭疼,幾百頁的厚厚書籍自己能夠看懂的也就第一章的二十多頁的內容,其他的關于數學和算法方面的內容完全看不懂,實在是難過。
不過第一章的知識已經能夠完全的的解釋深度學習的歷史發展和基數知識了,自己總結了一篇文章就當是對這一章內容的重點知識總結吧。
1. 人工智能發展的原因
人工智能近幾年了好像突然之間就火了,各大公司紛紛布局人工智能行業。其實,我們去追究歷史原因就會發現其實人工智能已經有了60多年的歷史了,從達特茅斯會議上人工智能概念的提出到如今人工歷史其實經歷了三次浪潮,現在的幾年應該是第三次浪潮的爆發期。
很多人就會問,為什么第三次浪潮會在近幾年爆發,其實追究其原因,不難發現會有三個主要的因素在這個時代出現了:
第一,高級算法的出現,經歷前幾十年人工智能的孕育期,終于有了技術的積累,在這個時代,算法的更新解決了很多技術上的難題;
第二,計算機計算能力的提升,我們都知道人工智能模型的訓練和計算需要耗費大量的時間和計算集群,強大CPU和CPU的出現大大加強了計算機的運算能力,從而有了訓練復雜模型的可能。
最后,互聯網時代大數據的產生,人工智能模型的訓練都是針對于數據集,在互聯網時代,海量的訓練數據是解決人工智能瓶頸的根本原因。這個數據的收集過程中我們不得不說image net的誕生,李飛飛領導了這個項目的誕生,從而將計算機視覺識別提供了可標注的海量數據庫,這個項目的誕生可謂是人工智能行業的一個節點。
2. 人工智能技術的發展歷程
2.1 早期的知識庫規則
最早期的人工智能系統往往是通過人工的制定計算規則讓計算去執行規則從而完成系統使命,其實這個制定規則的過程就是算法出現的過程。李飛飛在ted演講中講述了一個盒子模型的人工智能系統,在這個系統中有很多顏色,形狀和高矮不同的盒子,最終系統執行人工指令可以完成對于盒子的篩選和移動。這個早期系統的其實就是通過人為的邏輯算法思考強加給計算機執行從而完成系統任務,在ted會議上李飛飛展示了這個邏輯算法的節點流程可謂是非常的復雜,而且這種算法設計還不具備通用性,換了另外的一個任務這個算法就失效了。
還有就是IBM 的(Deep Blue)國際象棋系統在 1997 年擊敗了世界冠軍Garry Kasparov,它的系統設計其實和盒子模型很相似,因為國際象棋僅含有 64 個位置并只能以嚴格限制的方式移動,設計一種成功的國際象棋策略是巨大的成就,但向計算機描述棋子及其允許的走法并不是挑戰的困難。因為,國際象棋完全可以由一個非常簡短的、完全形式化的規則列表來描述,并可以容易地由程序員事先準備好。
這兩種系統的實現其實就是被稱為硬編碼的方式,建立知識庫從而讓計算機可以使用邏輯推理規則來自動地理解這些形式化語言中的申明,然而這種方式并沒有得到良好的發展。
2.2 手動指定特征
第二個階段發展到機器學習的階段,很多先驅者從人類大腦的神經元獲得靈感,我們今天知道的一些最早的學習算法,是旨在模擬生物學習的計算模型,即大腦怎樣學習或為什么能學習的模型。從而出現很多的經典的機器學習概念。這個階段通過人工指定特征的方式讓機器達到具有匹配和映射特征的能力,從而完成機器對外界的認知能力。李飛飛在一次演講中她提到早期的她對于貓的識別方式。通過人工指定貓的特征例如貓肥胖的身體,尾巴,頭部的輪廓等特征告訴計算機具備這種特征的就是貓,但是在真實的識別場景中,貓的形態是千變萬化的話,僅僅通過人工指定特征是完全不能夠解決這個問題的,特別是復雜物體的特征,人工進行指定特征更是無法完成。
2.3 表示學習階段
其實,簡單的機器學習算法的性能在很大程度上依賴于給定數據的表示,也就是特征的數據表示方式。通用的人工智能任務都可以通過以下方式解決:先提取一個合適的特征集,然后將這些特征提供給簡單的機器學習算法,也就是之前我所說的貓的特征集的例子。 然而,對于許多任務來說,我們很難知道應該提取哪些特征,也就是通過人工指定特征集合從而完成映射特征的方式不可取,那么我們能不能通過機器去學習特征取代人工指定呢?這個時候表示學習就隨之出現了,表示學習就是使用機器學習來發掘表示本身,而不僅僅把表示映射到輸出。然而在這個階段,機器去完成負責特征的學習又遇到了瓶頸,因為讓大千世界的構成特征太復雜,機器完全實現不了對于復雜特征的學習和表示,如何通過簡單的規則去讓機器理解復雜世界又變成了一個難題,這個時候深度學習就誕生了。
3. 深度學習概述
3.1 深度學習的定義
層次化的概念的提出讓計算機構建較簡單的概念來學習復雜概念。這種層次化的提出來自于對人類神經大腦的研究成果,研究表明人類通過眼睛獲取外界信息傳遞給大腦的過程是大腦皮層層次信息傳遞的結果,大腦皮層的每一層的部分負責處理不同的信息,而且在處理信息是有先后順序的,并且是基于上一層信息傳遞過來的結果進行處理的,這種研究成果導致了深度學習的概念產生。
深度學習其實就是通過其他較簡單的表示來表達復雜表示,解決了表示學習中的核心問題。讓計算機從經驗中學習,并根據層次化的概念體系來理解世界,而每個概念則通過與某些相對簡單的概念之間的關系來定義。讓計算機從經驗獲取知識,從而可以避免由人類來給計算機形式化地指定它需要的所有知識。
總的來說,深度學習就是一種特定類型的機器學習,具有強大的能力和靈活性,它將大千世界表示為嵌套的層次概念體系(由較簡單概念間的聯系定義復雜概念、從一般抽象概括到高級抽象表示)。
3.2 一張圖來理解深度學習的概念
深度學習廣泛的應用在圖像識別領域中,為了讓大家很好的理解這種通過簡單層級來表示復雜概念的方式,我們用一張圖來理解深度學習從簡單概念到復雜概念的表示。
從圖像識別來說,計算機難以理解原始感觀輸入數據的含義,如表示為像素值集合的圖像。將一組像素映射到對象標識的函數非常復雜。如果直接處理,學習或評估此映射似乎是不可能的。
因此,深度學習將所需的復雜映射分解為一系列嵌套的簡單映射(每個由模型的不同層描述)來解決這一難題。輸入展示在 可見層(visible layer),這樣命名的原因是因為它包含我們能觀察到的變量。然后是一系列從圖像中提取越來越多抽象特征的 隱藏層(hidden layer)。因為它們的值不在數據中給出,所以將這些層稱為 ‘‘隱藏”; 模型必須確定哪些概念有利于解釋觀察數據中的關系。這里的圖像是每個隱藏單元表示的特征的可視化。給定像素,第一層可以輕易地通過比較相鄰像素的亮度來識別邊緣。有了第一隱藏層描述的邊緣,第二隱藏層可以容易地搜索可識別為角和擴展輪廓的邊集合。給定第二隱藏層中關于角和輪廓的圖像描述,第三隱藏層可以找到輪廓和角的特定集合來檢測特定對象的整個部分。最后,根據圖像描述中包含的對象部分,可以識別圖像中存在的對象。
3.3 深度學習和機器學習有什么關系?
深度學習在定義上就是一種表示學習,也是一種機器學習,可以用于許多(但不是全部)AI 方法。 深度學習有著悠久而豐富的歷史,但隨著許多不同哲學觀點的漸漸消逝,與之對應的名稱也漸漸塵封。 我們今天知道的一些最早的學習算法,是旨在模擬生物學習的計算模型,即大腦怎樣學習或為什么能學習的模型,早期的人工神經網絡方式其實就是深度學習,其結果是深度學習以 人工神經網絡(artificialneural network, ANN)之名而淡去。
4. 人工智能的未來發展會怎么樣?
機器的誕生就是為了運算和存儲數據的,在數字的計算和抽象問題的解決上,計算機已經完全的超過了人的水平,但是往往這么厲害的機器卻不能完成對整個世界簡單東西的認知。計算機能夠完成復雜的邏輯運算,卻不能很好的理解我們說話的意思。能夠進行海量的存儲,卻不能很好的認識一張普通的圖片,其實很某個角度來看,人工智能的發展其實是和人類成長是相反的。
人類對世界的認知其實是從0-6歲就已經形成的,在這個階段人通過學習認識了這個世界簡單的物體,即使是一歲的孩子也知道那是一只貓,這是因為人的眼睛時時刻刻都在獲取信息,從而交給大腦進行學習,從而形成對最基本常識的認知。最后通過小學初中大學才完成邏輯思維和計算思維的形成。然而,計算機則完全相反,在邏輯思維和計算思維上,現代計算機只要輸入數據,計算機就能完成這些數據的運算和存貯,但是對于大千世界的認知卻還停留在嬰兒階段。據說,目前的計算機認知水平也就僅僅停留在人類1歲左右的水平。有人問人工智能未來的發展如果,我個人斷定,如果人工智能能夠使機器的認知超過6歲孩子對于世界的認知,那么人工智能在所有的行業領域都會超過人類專家水平。
我這么斷定肯定會有人指出一個問題,即使是現在也有很多人來討論人機倫理方面的問題,假如機器具有了自主學習和思考的能力,那么人存在的意思是什么?我只能說,現在還不是考慮這個的問題的時候,畢竟機器想要達到人類的認知智力水平還不知道是什么時候的事情了。
本文由 @張小明明 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自 Unsplash,基于 CC0 協議
作為一名人工智能行業的從業者,都被《深度學習》這本書搞的頭昏腦漲,那想入行的人還有什么路可走?