av天堂久久天堂色综合,最近中文字幕mv免费高清在线,在线a级毛片免费视频,av动漫,中文字幕精品亚洲无线码一区

微信掃一掃,關(guān)注公眾號

  • 科技行者

  • 算力行者

見證連接與計算的「力量」

首頁 讓計算機擁有一雙眼睛,人工智能科學(xué)家已經(jīng)努力了半個世紀(jì)

讓計算機擁有一雙眼睛,人工智能科學(xué)家已經(jīng)努力了半個世紀(jì)

2017-09-18 23:25
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2017-09-18 23:25 ? CNET科技行者

最近斯坦福大學(xué)一篇論文《Deep neural networks are more accurate than humans at detecting sexual orientation from facial images》一出,輿論嘩然,該論文研究指出,計算機算法可以從面相判斷一個人的性取向,引發(fā)了對隱私、道德、倫理問題的爭議。然而回過頭去看,這原本是一個卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用的技術(shù)文章,在人工智能領(lǐng)域,它是圖像識別和機器人視覺的核心部分。

圖像識別技術(shù),是人工智能道路上的一座高峰,如今你可以看到包括個人相冊圖片管理、刷臉解鎖手機、刷臉上班打卡等廣泛應(yīng)用。你一定好奇,圖像識別是什么?如何讓機器理解一張圖甚至一個動態(tài)的生物?背后又用到了哪些技術(shù)?

今天,我們就從源頭挖一挖圖像識別的概念、技術(shù)和應(yīng)用。

什么是“圖像識別”?

從概念來看,圖像識別是指利用計算機對圖像進行處理、分析和理解,以識別不同模式的目標(biāo)和對像(人物、場景、位置、物體、動作等)的技術(shù)。

而圖像識別算法一般采用機器學(xué)習(xí)方法,模擬人腦看圖,隨后計算機依靠大量的數(shù)據(jù),理解圖像,最后建立相關(guān)的標(biāo)簽和類別。整個識別過程的核心,就是神經(jīng)網(wǎng)絡(luò),經(jīng)過優(yōu)勝劣汰,目前已經(jīng)發(fā)展到卷積神經(jīng)網(wǎng)絡(luò)(CNN或ConvNets)。

據(jù)不完全統(tǒng)計,科學(xué)家們從神經(jīng)網(wǎng)絡(luò)研究到卷積神經(jīng)網(wǎng)絡(luò),就花了從20世紀(jì)60年代末到20世紀(jì)80年代末的時間。

讓計算機看見,經(jīng)歷了一個剝繭抽絲的神經(jīng)網(wǎng)絡(luò)演進過程

我們先來看,人如何辨識物體。人腦的神經(jīng)細胞(神經(jīng)元)包括很多彼此相鄰并相連的層,層數(shù)越多,網(wǎng)絡(luò)越“深”。單個神經(jīng)元從其他神經(jīng)元接收信號——可能高達10萬個,當(dāng)其他神經(jīng)元被觸發(fā)時,它們會對相連的神經(jīng)元施加興奮或抑制作用,如果我們的第一個神經(jīng)元輸入加起來達到一定閾值電壓(threshold voltage)時,它也會被觸發(fā)。

也就是說,人不但可以用眼看字,當(dāng)別人在他背上寫字時,他也認(rèn)得出這個字來。就好比下圖,人一眼看過去,就能感知到圖片中存在某種層級(hierarchy)或者概念結(jié)構(gòu)(conceptual structure),一層一層的:

地面是由草和水泥組成,圖中有一個小孩,小孩在騎彈簧木馬,彈簧木馬在草地上。

關(guān)鍵點是,我們知道這是小孩,無論小孩在哪種環(huán)境都認(rèn)識,因此人類不需要重新學(xué)習(xí)小孩這個概念。

但機器不同,它需要經(jīng)過多次反復(fù)的學(xué)習(xí)過程。我們再來看,機器如何辨識物體。在人工神經(jīng)網(wǎng)絡(luò)中,信號也在“神經(jīng)元”之間傳播,但是,神經(jīng)網(wǎng)絡(luò)不是發(fā)射電信號,而是為各種神經(jīng)元分配權(quán)重。 和權(quán)重較小的神經(jīng)元相比,權(quán)重更大的神經(jīng)元會對下一層神經(jīng)元產(chǎn)生更多的作用,最后一層將這些加權(quán)輸入放在一起,以得出答案。

比如,要想讓一個計算機認(rèn)出“貓”,需要建立一組數(shù)據(jù)庫,包含數(shù)千張貓的圖像和數(shù)千張不含貓的圖像,分別標(biāo)記“貓”和“不是貓”,然后,將圖像數(shù)據(jù)提供給神經(jīng)網(wǎng)絡(luò),最終輸出層將所有信息——尖耳朵、圓臉、胡須、黑鼻子、長尾巴——放在一起,并給出一個答案:貓。這種訓(xùn)練技術(shù)被稱為監(jiān)督學(xué)習(xí)(supervised learning)。

還有一種技術(shù)叫做無監(jiān)督學(xué)習(xí)(Unsupervised learning),就是使用未標(biāo)記的數(shù)據(jù),計算機必須自己看圖識物,比如從“尖耳朵”辨別這是一只貓而不是其他動物。然而這些方法容易誤導(dǎo)機器,誤把“尖耳朵”貓識別成狗,或者把浣熊貓誤認(rèn)為暹羅貓。

但是,如果圖片是這樣的呢?

一個3歲小孩都能識別出貓的照片,計算機科學(xué)家們卻花了多年時間教會計算機看圖識物。關(guān)鍵就是自主訓(xùn)練量。

直到20世紀(jì)80年代,來自加拿大多倫多大學(xué)的“神經(jīng)網(wǎng)絡(luò)先驅(qū)”Geoff Hinton領(lǐng)導(dǎo)的小組,提出了一種訓(xùn)練神經(jīng)網(wǎng)絡(luò)的方法,叫做卷積神經(jīng)網(wǎng)絡(luò),意味著它不會陷入局部陷阱。

于是強大的圖形處理單元或GPU出現(xiàn)了,研究人員因此可以在臺式機上運行、操縱和處理圖像,而不用超級計算機了。

同時大數(shù)據(jù)的加持,讓卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用越來越廣泛。2007年,美國斯坦福大學(xué)計算機科學(xué)系副教授李飛飛推出了ImageNet——一個來自互聯(lián)網(wǎng)的數(shù)百萬帶有標(biāo)簽圖像的數(shù)據(jù)庫。ImageNet為神經(jīng)網(wǎng)絡(luò)提供了約1000萬張圖像和1000個不同的標(biāo)簽。

一直到現(xiàn)在,神經(jīng)網(wǎng)絡(luò)成為機器人視覺的核心工具。盡管現(xiàn)代神經(jīng)網(wǎng)絡(luò)包含許多層次——Google Photos有大約30層——但卷積神經(jīng)網(wǎng)絡(luò)的出現(xiàn),仍然是前進了一大步。

當(dāng)你教會計算機認(rèn)圖,它需要反復(fù)學(xué)習(xí)

與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)一樣,卷積神經(jīng)網(wǎng)絡(luò)也是由加權(quán)神經(jīng)元層組成。但是,它們不僅僅是模仿人腦的運作,而是非常恰到好處地從視覺系統(tǒng)本身獲得了靈感。

卷積神經(jīng)網(wǎng)絡(luò)中的每個層,都在圖像上使用過濾器拾取特定的圖案或特征。前幾層檢測到較大的特征,例如下圖斜線,而后面的層拾取更細的細節(jié),并將其組織成諸如“耳朵”的復(fù)雜特征。

圖:典型的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)

最終輸出層像普通神經(jīng)網(wǎng)絡(luò)一樣是完全連接的(也就是說,該層中的所有神經(jīng)元都連接到上一層的所有神經(jīng)元)。它集合高度具體的特征——其中可能包括貓的狹縫狀瞳孔、杏仁形眼睛、眼睛到鼻子的距離——并產(chǎn)生超精確的分類:貓。

在2012年,谷歌用數(shù)千個未標(biāo)記的YouTube剪輯縮略圖培訓(xùn)了一個卷積神經(jīng)網(wǎng)絡(luò),看看會出現(xiàn)什么。毫不奇怪,它變得擅長尋找貓視頻。

卷積神經(jīng)網(wǎng)絡(luò)如何進行圖片處理?基本上有三個步驟,卷積層、池化層、采用下采樣陣列作為常規(guī)全連接神經(jīng)網(wǎng)絡(luò)的輸入。

譬如,從剛剛那張“小孩騎馬圖”可以分解出,卷積神經(jīng)網(wǎng)絡(luò)辨識物體的五個步驟:

于是圖片被分解成了 77 塊同樣大小的小圖塊。

  • 第二步:把每個小圖塊輸入到小型神經(jīng)網(wǎng)絡(luò)中

重復(fù)這個步驟 77 次,每次判斷一張小圖塊

然而,有一個非常重要的不同:對于每個小圖塊,我們會使用同樣的神經(jīng)網(wǎng)絡(luò)權(quán)重,也就是說,如果哪個小圖塊不一樣,我們就認(rèn)為這個圖塊是“異常”(interesting)的。

  • 第三步:把每一個小圖塊的結(jié)果都保存到一個新的數(shù)組當(dāng)中

我們不想并不想打亂小圖塊的順序,所以就把每個小圖塊按照圖片上的順序輸入并保存結(jié)果,就像這樣:

  • 第四步:縮減像素采樣

第三步的結(jié)果是一個數(shù)組,這個數(shù)組對應(yīng)著原始圖片中最異常的部分。但是這個數(shù)組依然很大:

為了減小這個數(shù)組的大小,我們利用一種叫做最大池化(max pooling)的函數(shù)來降采樣(downsample)。但這依然不夠!

讓我們先來看每個 2×2 的方陣數(shù)組,并且留下最大的數(shù):

這里,一旦我們找到組成 2×2 方陣的 4 個輸入中任何異常的部分,但我們就只保留這一個數(shù)。這樣一來我們的數(shù)組大小就縮減了,同時最重要的部分也保留住了。

  • 最后一步:作出預(yù)測

到現(xiàn)在為止,我們已經(jīng)把一個很大的圖片縮減到了一個相對較小的數(shù)組。

數(shù)組就是一串?dāng)?shù)字而已,所以我們我們可以把這個數(shù)組輸入到另外一個神經(jīng)網(wǎng)絡(luò)里面去。最后的這個神經(jīng)網(wǎng)絡(luò)會決定這個圖片是否匹配。為了區(qū)分它和卷積的不同,我們把它稱作“全連接”網(wǎng)絡(luò)(“Fully Connected” Network)。

所以從開始到結(jié)束,我們的五步就像管道一樣被連接了起來:

整個過程中,你可以把這些步驟任意組合、堆疊多次,卷積層越多,網(wǎng)絡(luò)就越能識別出復(fù)雜的特征。當(dāng)你想要縮小數(shù)據(jù)大小時,也隨時可以調(diào)用最大池化函數(shù)。而深層卷積網(wǎng)絡(luò)(Convolutional Neural Networks)就是使用了多次卷積、最大池化和多個全連接層。為了實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用,機器學(xué)習(xí)需要反復(fù)學(xué)習(xí)測試。

如何構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)?這里有一些API

從零開始構(gòu)建卷積神經(jīng)網(wǎng)絡(luò),費錢又耗時,業(yè)內(nèi)開放了一些API(Application Programming Interface,應(yīng)用程序編程接口),使開發(fā)者無需自己研究機器學(xué)習(xí)或計算機視覺專業(yè)知識。

  • 谷歌 Cloud Vision

GoogleCloud Vision是谷歌的視覺識別API,使用REST API。它基于開源的TensorFlow框架。它檢測單個面部和物體,并包含一個相當(dāng)全面的標(biāo)簽集。

另外,谷歌圖像搜索可以說是一個巨大的圖像數(shù)據(jù)庫,基本上改變了我們處理圖像的方式。

這里有一張谷歌圖像搜索的時間表。

  • IBM沃森視覺識別

IBM沃森視覺識別是沃森開發(fā)者云(Watson Developer Cloud)的一部分,并附帶了一大批內(nèi)置的類別,但實際上是為根據(jù)你提供的圖像來訓(xùn)練自定義定制類而構(gòu)建的。它還支持一些很棒的功能,包括NSFW和OCR檢測,如Google Cloud Vision。

  • Facebook的MultiPathNet 3

Facebook AI Research(FAIR)認(rèn)為,深度卷積神經(jīng)網(wǎng)絡(luò)讓我們已經(jīng)看到圖像分類(圖像中有什么)以及對象檢測(對象在哪里?)上的巨大進步(見下圖a和b),但這只是一個開始,目標(biāo)是設(shè)計一種識別和分割圖像中每個對象的技術(shù),如下圖c。

于是Facebook想將機器視覺推向下一個階段——在像素級別上理解圖像和對象。推動的主要新算法是DeepMask 1分段框架以及SharpMask 2細分模塊。它們共同使FAIR的機器視覺系統(tǒng),能夠檢測并精確地描繪圖像中的每個物體。識別流水線的最后階段使用一個專門的卷積網(wǎng)絡(luò),稱之為MultiPathNet 3,以其包含的對象類型(例如人,狗,羊),為每個對象掩碼標(biāo)記。

  • Clarif.ai

Clarif.ai是一個新興的圖像識別服務(wù),也使用REST API。關(guān)于Clarif.ai的一個有趣的方面是它附帶了一些模塊,有助于將其算法定制到特定主題,如食物、旅行和婚禮。

盡管上述API適用于少數(shù)一般應(yīng)用程序,但你可能仍然需要為特定任務(wù)開發(fā)自定義解決方案。幸運的是,許多庫可以通過處理優(yōu)化和計算方面來使開發(fā)人員和數(shù)據(jù)科學(xué)家的生活變得更加容易,從而使他們專注于訓(xùn)練模型。有許多庫,包括Theano、Torch、DeepLearning4J和TensorFlow已經(jīng)成功應(yīng)用于各種應(yīng)用。

-END-

<來源 :mindmajix.com、Facebook AI Research、medium.com、cosmosmagazine.com;編譯整理:科技行者>

分享至
0贊

好文章,需要你的鼓勵

推薦文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-