天天看點

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

系列文章:

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(上)

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(中)

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

今天我們主要聊的是計算機視覺,咱們先從最大的概念開始說一說,人工智能,機器學習,計算機視覺。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

人工智能這個概念一點都不新,機器學習也一點都不高深,那個計算機視覺也談不上神奇,為什麼這樣說?

我們人工智能實際上在曆史上,浪潮至少三次。

第一次50年代到70年代,叫符号主義流派,專家系統占主導地位。

什麼叫專家系統?就是人去學一個東西,然後把學到的知識理論化,再把這些理論模型化,最後把這個模型程式化,形成一個系統,就叫專家系統。

專家系統巅峰在1962年,IBM公司的跳棋,戰勝了當時的人類高手,引爆了第一次浪潮。

專家系統能解決一些問題,但是也解決不了很多問題。

到了1980年,統計時代開始盛行。統計流派巅峰在1993年,Vapnik系統性的提出了一篇論述叫支援向量機,現在這個算法在很多地方被大量的使用,它非常有效。

引爆第二波浪潮的重點就是1997年,IBM的深藍戰勝了當時的國際象棋冠軍卡斯帕羅夫。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

2016年的阿爾法狗引爆了第三波浪潮,我們這一波的流派現在還沒有名字,我更傾向于把它叫暴力流派。

2006年Hinton提出過一個經典的論文,Hinton這篇論文雖然在2006年提出,但是我們神經網絡是一個非常老的概念,它的前身要追溯到1986年的多層感覺器反向傳播算法。

這裡邊還有一段曆史公案,就是Vapnik老爺子和Hinton老爺子,他們學術沖突很深,在80、90年代外面SVM一個占據主流的時候,神經網絡被打壓到連論文都發不出去,業都畢業不了。現在老爺子算是打了一個翻身仗。

剛才說到我們三次浪潮,前兩次每次都是這樣,說人類要毀滅了,後來發現其實并不是這樣。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

我們現在就處在這個狀态,人類又要毀滅了。其實和前兩次比,還是有一點差別。

我覺得最大的一個差別就是它現在真的是深入到我們生活的每一個角落,打開你的手機看看,淘寶,智能推薦,拍一拍,谷歌翻譯,搜尋引擎,智能出行,智能規劃,微信,智能助理,頭條,智能推薦,還有機器識别,其實它已經深入的改變了我們生活的每一個角落,而将來它會改變更多。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)
關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

然後我們剛才說為什麼機器學習一點都不高深。當年,Vapnik老爺子他提出支援向量機有一個核心概念,這個世界是線性可分的。

什麼叫線性可分呢?線性就是一條直線,二維空間裡它就是一條直線,三維空間裡它就是一個平面,他認為這個世界用直線能全分割開,在我們的二維世界給它變一個緯度也能分開。

有點像我拿着一堆木球和鐵球,你在它們在地上滾,然後你讓它一刀切,分成兩堆這是不可能的,但沒關系,我把它放到水裡,木球漂起來,鐵球沉下去,橫着來一刀,這就是支援向量機的核心理念。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

雖然有些時候是這樣的,但是并不是所有時候都能夠成立,是以支援向量機當時隻能解決簡單世界的問題。

而神經網絡是用了一個比較複雜的結構,多層感覺機。

現在深度神經網絡用了一個非常複雜的多層、高階的結構,然後去拟合我們現實的世界,它比支援向量機要成功得多。但是如果說它真的能夠拟合我們真實世界的所有情況,其實還差那麼一點意思。這也就是說為什麼我說,機器學習或者神經網絡沒有那麼高深。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

它本質上不對這些問題進行數學上的模組化,我就是用一個很複雜的神經網絡,做出了一個足夠複雜的方程,Y等于F(X),這個方程參數非常多的,階數高,非常的巨大,我們的輸入是X,這個方程給我們算出來Y。

然後我們比如說我們看一張圖檔,我們這張圖檔輸入就是X,一隻貓,這隻貓它真的是一隻貓,我們的期望就是這個F(X),計算出來的結果等于貓,這就是我們目标,怎麼讓它等于呢?就是我們用大量的資料不斷的疊代。

當年,Hinton老爺子提出這個東西之後,被Vapnik老爺子批評,說你這個東西一點數學的美感都沒有,Hinton老爺子在數學成就上确實不如Vapnik他老人家,這也是曆史公認的。但是一句話,我好使,我有用。

但是現在也有人質疑什麼呢?我們這麼算出來的東西,為什麼?什麼原理啊?它怎麼就好使了呢?不知道,但是我們知道,這個複雜的非線性方程,它能夠在某種程度上模拟出來我們真實世界的情況,但它具體怎麼模拟的,是一個黑箱,我們都不知道,阿爾法狗下棋能赢柯潔,沒問題,但是你讓他去教圍棋,那是一把瞎,别說阿爾法狗教不了,寫阿爾法狗的人也教不了。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

再說智能,我們的大腦就是一個典型的智能。

佛家有六識,眼、耳、鼻、舌、身、意,它對應的是六塵色、香、聲、味,觸、法。視覺,聽覺,嗅覺,味覺,觸覺,以及我們的思考,這個構成了我們的智能。

而計算機如果想有智能,它首先也得有這些感官,有輸入才能有思考,有思考才能有輸出,有了輸入、思考和輸出,它才有智能。而我們今天主要講的就是在我們生活中,我們最大的資訊來源,視覺。放在計算機上,就是計算機視覺。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

目前的計算機視覺,它的技術上一般是有叫卷積神經網絡。這個東西就是用大量的神經網絡堆疊起來。

比如,給一個輸入說,這是個人,而且是個女人,計算完了以後,得到輸出,隻要這個網絡得出的是個女人,就OK。換句話說,我給它的每一個訓練資料,我都告訴他正确答案是什麼,這個就是監督式學習。

然後呢,它和以前的模式識别,特征檢索,是有比較大的差別,差別在哪裡?

其實它也有特征提取和特征檢索,為什麼說有差別?

差別在這,它的特征不是我們告訴的,不是我們編碼,不是我們手工設定,而是通過大量的資料,它自己學習出來的,這也是神經網絡和以前的所謂專家系統最大的差別。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

那我們來看看,單就計算機視覺這個領域它能做什麼。上圖就是大家現在能做得非常好甚至超過人的一個例子,在這張圖檔裡面,有很多東西,計算機能夠把它分析出來。它能夠從一個圖檔裡面區分出不同的物體,并且辨識出它們是什麼,在哪裡,這是能做得事情。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

這張圖是畢加索的公牛,畢加索在畫這一系列的圖時有一個目的,說我畫的公牛跟真的公牛一模一樣,你能認出來,說明我畫的好,如果我畫的跟真實的公牛不一樣,你們是怎麼認出來?

我全塗成黑的,是牛;我再黑一點,細節全都丢失了,還是牛;那我把紋理去掉,把形狀變一下,把各種全都抽象起來,到這還是跟我們平時看到的比較接近,畫到後來還有人認為是牛,那麼對人來說牛到底是什麼東西?為什麼這個樣子是牛?這就是抽象。

我要說的就是計算機視覺現在有兩個非常大的不能做的事情,第一就是抽象。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

第二件事情很有意思,看上圖,計算機第一反應有可能是貓,但是再仔細看看,就不認識了。我們的計算機視覺至少在目前這個階段,它不知道自己不知道,這個事它做不到。

這兩個事,一個是看到抽象的東西它認識,另外一個是看到不認識的東西,它知道自己不認識。在目前的卷積神經網絡這個結構下,計算機是做不到的,它并不是萬能的。

當然它也能做很多事情,接下來,我就仔細的看一下,卷積神經網絡的一個大緻的發展曆程。

卷積神經網絡開拓者Yann LeCun做了一個非常簡單的卷積網絡,去做手寫數字的識别,也就是我們現在每個人初入機器學習,一定接觸到的一個Mnist。

他做了一個資料集,用了一個卷積神經網絡去計算一個手寫的數字,它到底是一二三四五六七八九中的哪一個。這個東西做的非常的成功,美國的郵政和銀行都在用,但是并沒有産生太大的反響,因為支援向量機,也能做到同樣的事情。

第二個,Alex,剛才兩位老師也提過,他也是老爺子的學生。2012年,他刷爆了計算機視覺的比賽,以碾壓性的優勢,幹掉了所有的SVM的東西,從那以後卷積神經網絡才成為了計算機視覺的标配。

第三個人,何凱明,微軟亞洲研究院出來的,2015年他提出的參加網絡也是卷積神經網絡的一種。這一年,計算機在Imagenet的比賽成績超過了人類,雖然不像阿爾法狗那麼有名,但是在計算機視覺史上這個時間點是要被銘記的。

下一個時代在哪裡?是不是在你們中間,我也不知道。

介紹完了曆史,我們來看一看卷積神經網絡最大的特點。這個特點在于它能夠自己去學習這些特征,我們看一下一個非常經典的一篇論文,叫做《Visualizing and Understanding ConvolutionalNetworks》,非常有名。

他們做了一個實驗說,我訓練一個非常簡單的積卷神經網絡,訓練出來之後,我想看一看究竟學到了什麼,大家都說它是黑箱,那我們打開看一下,到底學到了什麼東西。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

第一層,他們發現,都是非常簡單的直線,斜線,各種顔色,這些非常簡單的紋理。用這種形狀的卷積核能夠把圖檔上面的線條區分出來。這個網絡在沒有任何人工指定的情況下,大量的學習資料網絡,它天然學到的,非常的巧合,或者說也是必然。

第二層,每個九宮格是個神經元,在我們用大量資料去輸入它的時候,它會給出一個回報。這個回報是一個數,越高,代表它越興奮,對這個輸入越敏感。

它在所有的資料裡面,找出了讓這個神經元最敏感的九張圖,并且通過反卷積的方式把它計算出來,它不代表這個神經元就是這個内容,而是這個神經元對這樣内容的東西最為敏感。我們能看到第二層裡面出現了圓形和各種角度的弧線,我們在大量的觀察之後,得出一個判斷,這個網絡的第二層對形狀敏感。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

第三層,我們看到的紋理有點像長頸鹿,在經過大量的資料研究之後呢,我們認為它的第三層是對形狀,紋理,這些資訊比較敏感。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

第四層,就開始對紋理形狀結合,是對形狀和紋理的複雜結合開始敏感。

第五層的時候,它就開始把所有的資訊結合起來,形成一個高階的概念。比如,我對狗敏感,我對花敏感,我對人臉敏感,它在一層一層這樣不斷遞進之後,把上一層的資訊,結合起來,然後形成下一層的輸入,通過不斷的訓練自己,讓每一層的神經元對不同的資訊産生反映。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

計算機視覺這個領域,它現在的課題大概就是這麼幾個。

首先就是識别,比如,這張照片,我能說出來它是人,那麼就OK。

然後就是檢測,檢測的目标是我不但要說出來這個照片都有哪些東西,我還要知道它在哪一塊。

再然後是語義分割,就是我畫框已經滿足不了我,我要精确的描繪出來這個人的輪廓,我要把有語義的東西從背景裡面挑選出來。

最後一個叫描述,比如我給你一張圖,你要給我一句話,一個女人和孩子在看電視,如果我們粒度再細膩點,還要說電視裡面有一隻獅子,這就是我們描述要做得事情。

識别檢測分割和描述,就是目前計算機視覺的四個重要課題,現在很多論文都是圍繞着這幾個方面。

識别已經超過人了;檢測還比人差點,但是不會差特别多;語義分割差的稍微遠點,人能畫出來,它不一定能畫的像;描述,英文方面,現在是大概能看,說出來的東西比較靠譜,中文,基本上是一個空白,現在大概就是這樣的情況。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

然後如果說我們剛才看到的識别,檢測,分割和描述,是我們現在在研究的這個領域,那麼它的未來在哪裡?

這是我個人的判斷,首先說我們人在看到這個世界的時候,不是通過一張張的照片去認識這個世界,我們看到的是連續的,流動的物體,我們在大腦裡面接受的是視訊,這個也是視覺的一個發展方向,它未來必然是以視訊或者序列為基礎。

第二個大的發展方向,就是了解和分組,像上圖,我們人一看到,就知道這是草地上有一條公路,公路上有一輛車,有一個樹把車擋住了,在我們的腦海裡是這個樣子。但是計算機确實不是這麼了解的,而讓他能夠這樣去了解問題,就是我們未來的一個研究的目标。

第三個,叫無監督和One-Shot。比如,我們現在都知道Imagenet這個大賽,它一共有1000個類别,每個類别平均下來有一千張圖像,加在一起是一百多萬張圖檔,每張圖檔都有标簽,都告訴你這張圖檔是什麼東西。

是以大家現在看到的很多這種檢測都是這樣,為什麼呢?因為他們隻有Imagenet這樣一個大量的資料都有标簽,我們倒是想訓練出來一個能識别其他的東西的,但是沒資料。

是以未來我們的方向有一個很重要的分支,我們怎麼樣能夠縮減資料的需求量,最好是什麼呢?我給你圖檔,哪怕一千萬張都可以,但是你别讓我每張資料我都給它标個标簽,太累。

無監督學習是個分組的過程。舉個例子,分組的過程就相當于是,我看到無數隻貓的圖檔,我不知道它叫什麼,但是我知道所有這些貓都是同一個東西,當我把貓這個概念抽離出來以後,你給我一張照片,說這個物體叫做貓,我瞬間就明白了貓這個概念,這個是我們的無監督學習。也是我認為非常重要的一個方向,甚至說能不能夠改變我們未來的産業的格局,就是最後一點。

如果說每一個資料都要監督,每一個分類都要一百張帶标簽的圖檔,那就隻有Google、BAT這樣的公司玩兒得起這個産業,但是如果當無監督出現之後,我們會看到,整個這個人工智能或者叫計算機視覺這個領域,會進入到一個群雄并起的局面,這個技術的成功,或者失敗決定了未來的産業化的發展方向。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

介紹一下目前用計算機視覺技術做的一些市面上的應用,這個東西就是我們做得一個識花的東西,對着一個花,拍張照片,我告訴你它是什麼,從技術本身來講其實沒有太大的難度,就是一個簡單的識别。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

然後還有一個比較有意思的東西,Prisma,用到的是英文,給你一張照片,標明一個名作,比如梵高的星空,標明一個藝術風格之後,對這張照片進行應用,我們得到一個内容還是這張照片,但是風格變成了星空,或者呐喊的這樣一張圖檔。

為什麼把它們兩個提出來呢?因為這兩個應用用的技術都不難,投入也非常的小,像我們花伴侶,第一個用了一個星期訓練,一個下午寫APP,出來之後,大概四個多月的時間就有了一百多萬的使用者,最可怕的是什麼呢?它從0到十萬,花了三個月的時間,然後到三月的時候,春天來了,野花開了,一個月的時間,從十萬變成一百萬。而Prisma是5周,一千萬使用者。

我們并沒有用多複雜多高深的技術,都是計算機視覺技術一個簡單的應用,但是引爆了我們的社會,這也是我們為什麼要去了解計算機視覺,了解機器機學習技術的原因,因為在之前這些技術并不是保密,是公開的,他們都流傳在學術界。

我們為什麼說機器學習是個的大的機會,學術界的寶藏,剛才兩位老師也提到了,算法的紅利,在于把它拿到工業界,學術界已經玩兒的不愛玩兒的東西,但是你把它向公衆開放,讓大家看到它能做什麼之後,往往會爆發出連你自己都想象不到的一個巨大作用。

然後接下來就介紹一些前沿的嘗試,這個是從16年開始,在學術界就非常熱門的一個叫對抗生成網絡的技術。

意思就是說我有兩個網絡,一個網絡不斷的去創造出來東西,相當于各種各樣的造假;而另外一個網絡呢,我就去負責分辨真僞,這兩個網絡不斷的去訓練自己,去提升自己。

造假一張接着一張的往外造,分辨網絡再去分辨是真是假,這樣它們兩個在不斷對抗磨合的過程中,隻要有訓練資料,就等生成一個以假亂真的東西。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

這個是對抗生成網絡的一個例子,你用手畫個貓的輪廓出來,它給你生成一隻貓,但是很快被人玩兒壞了。左邊這樣的東西,大家能夠說很像是貓。但是右邊呢?真正能像人一樣,畫出來的都像貓嗎?有一定的距離,但是這個技術現在确實是未來的一個非常重點的一個方向。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

這幾張圖是哪位大師的作品呢?我們肯定不知道,因為都是電腦畫的,沒有一張是人畫的,但是看起來好像都很厲害的樣子。計算機造了大量的圖檔出來,然後讓人去挑,說哪個你覺得最有藝術價值。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

然後這個呢,是挑戰對世界的了解,為什麼這麼說?上邊大家看到的是真實的行車記錄儀拍攝下來的記錄,下邊這個是計算機根據第一幀的真實的畫面,自己訓練的生成後面的畫面,憑空生成,無中生有,這也是對抗神經網絡的一個非常可怕的點,也許有一天你看到的視訊,你根本就不知道是真是假。

關于程式員轉型AI這件事,三位老炮跟你聊些幹貨(下)

最後一個,是比較老的論文,但是我覺得代表了很多東西,就是它不光是能夠學習圖檔上的特征,它還能學習它的語義。大家看,我有一堆照片訓練出來說第一個戴眼鏡的是男人,然後剪掉一個男人,加上一個不戴眼鏡的女人,得到的是戴眼鏡的女人,這篇論文非常的有意思,後來沒有在語義上面學術界沒有跟得太緊,但是這可能是我們未來一個很大的一個爆發點,很有意思。

【完】

文章來源:AI科技大學營