計(jì)算機(jī)視覺之圖片分類
本文轉(zhuǎn)載自微信公眾號(hào)「 AI源起」,作者北上。轉(zhuǎn)載本文請(qǐng)聯(lián)系A(chǔ)I源起公眾號(hào)。
你會(huì)分辨數(shù)字嗎?
說起AI,大家心里想到的一定是如“流浪地球2”中的MOSS一樣的帶有智慧的硬件生物,仿佛無所不知、無所不能,只要給他Internet就會(huì)像復(fù)聯(lián)2中的奧創(chuàng)一樣,利用網(wǎng)絡(luò)把自身傳播的無處不在,總想著消滅人類達(dá)到“世界和平”的計(jì)劃。
然而實(shí)際來說,現(xiàn)階段的AI離大家在影視作品中感受和體會(huì)到的,還有相當(dāng)大的差距,今天就拿圖片數(shù)字識(shí)別為例,一起探索下AI到底是以一種什么形式實(shí)際存在的。文章會(huì)以一些關(guān)鍵問題為索引,帶你一步步理解。Follow me, let’s go ~
這是一張帶有數(shù)字的圖片,相信你一定是看到后立刻就能反應(yīng)過來,這是一張帶有數(shù)字“3”的圖片(即便它比較模糊)。
第一個(gè)問題:真正的智慧體——你為什么能清楚的知道這是數(shù)字“3”?這背后代表了什么?
當(dāng)你看向這張圖片,你的眼睛通過光反射在視網(wǎng)膜上將光學(xué)信號(hào)轉(zhuǎn)換為大腦能識(shí)別的生物信號(hào),并將這部分信息暫存(僅輔助理解,實(shí)際并不是?)在了你的視網(wǎng)膜上。大腦接受到信號(hào)后,通過你聰明的小腦袋迅速認(rèn)識(shí)到這是一個(gè)數(shù)字“3”,此時(shí)你已經(jīng)對(duì)這張圖片完全理解了,它就是一張“3”。當(dāng)然,這一切的基礎(chǔ)上,是你從小被教育過,這種形狀的數(shù)字「等價(jià)于」數(shù)字3,而不是5、6等其他數(shù)字。
第二個(gè)問題:眼睛、視網(wǎng)膜——計(jì)算機(jī)對(duì)于實(shí)體世界的認(rèn)知是通過什么形式輸入的?
計(jì)算機(jī)和AI什么關(guān)系呢?我們可以簡(jiǎn)單理解為AI是需要計(jì)算機(jī)的算力和體系結(jié)構(gòu)一種偽智慧能力,就好比我們自身帶有智慧和生命,但是其實(shí)本質(zhì)上就是碳基生物。眾所周知,計(jì)算機(jī)世界里是二進(jìn)制世界,何謂二進(jìn)制,簡(jiǎn)單來說就是非0即1。我知道你此時(shí)肯定有疑惑,就靠非0即1的二進(jìn)制,就能實(shí)現(xiàn)這么多功能,有這么強(qiáng)大的算力嗎?但先別急,這里需要明確一個(gè)概念,就是二進(jìn)制可以表示任何進(jìn)制的數(shù)字(可以先認(rèn)為是對(duì)的,具體為什么需要的話,咱們后續(xù)再聊),比如我們常用的十進(jìn)制下數(shù)字13,在二進(jìn)制下是 1101,想仔細(xì)學(xué)習(xí)的小伙伴可以看下面圖片的解釋。
因此我們能明確出,對(duì)于一個(gè)數(shù)字,計(jì)算機(jī)都能夠通過二進(jìn)制來“理解”。如果圖片能夠轉(zhuǎn)化成一串?dāng)?shù)字,計(jì)算機(jī)是不是就能從一個(gè)只知道0和1的呆瓜,變成可以將圖片進(jìn)行信息輸入(理解不理解先擱一邊,就像孩子長(zhǎng)個(gè)總得先會(huì)吃飯)。如下圖,圖片每個(gè)小區(qū)域可以認(rèn)為是一個(gè)像素,一個(gè)像素點(diǎn)就代表了一種顏色,那又要眾所周知了,任何一種顏色都能通過紅色(Red)、綠色(Green)、藍(lán)色(Blue)的不同配比調(diào)制出來,那我們按照從左到右,從上到下的順序,就能形成一個(gè)數(shù)字列表,那把這些內(nèi)容送給計(jì)算機(jī)。
到這一步,不管計(jì)算機(jī)理解與否,我們已經(jīng)將圖片轉(zhuǎn)換為了計(jì)算機(jī)能夠接受的信號(hào),那計(jì)算機(jī)的大腦是怎么識(shí)別圖片中的數(shù)字是“3”呢
第三個(gè)問題:所謂的AI——計(jì)算機(jī)應(yīng)該如何判斷這張圖片中的數(shù)字是“3”
給計(jì)算機(jī)這樣兩張圖片,它能告訴你左邊這張圖片是數(shù)字“3”,你認(rèn)為他是具有人工智能嗎?你可能覺得這也太naive了,這3歲小孩都知道。但是如果像右圖是1萬張藍(lán)腳鰹鳥等稀奇鳥類的圖片,計(jì)算機(jī)只用了幾秒鐘就能以99%的準(zhǔn)確率一字不差的判斷出來各種稀奇生物,那是不是就有點(diǎn)AI那味了?
傳統(tǒng)識(shí)別方法——具體來說,我們已經(jīng)能夠?qū)D片轉(zhuǎn)換為數(shù)字矩陣了,傳統(tǒng)的圖片識(shí)別方法會(huì)將對(duì)圖片中的特征進(jìn)行抽取,比如會(huì)利用一些硬規(guī)則當(dāng)做特征。對(duì)于數(shù)字“3”,在我們?nèi)四X中一看到這個(gè)形狀,就下意識(shí)反應(yīng)出來這是“3”,但是對(duì)于計(jì)算機(jī)他是一串?dāng)?shù)字呀。所以早期在做類似圖片分類任務(wù)的時(shí)候,工程師需要對(duì)數(shù)字“3”映射下的數(shù)字序列進(jìn)行處理,這可真令人頭大。所以如何做特征就是在傳統(tǒng)圖片識(shí)別分類中,一個(gè)至關(guān)重要,但是極其繁瑣的過程。
傳統(tǒng)識(shí)別方法優(yōu)勢(shì)在于,當(dāng)識(shí)別結(jié)果出錯(cuò)時(shí)候,你可以通過顯示特征大致判斷錯(cuò)誤原因,弊端在于特征工程繁瑣。那有沒有這樣一種方法,可以弱化特征工程(雖然后面很多任務(wù),特征工程也極其重要),給一種端到端的解決方案。所謂端到端,就是我只需要給一張數(shù)字圖片,和它的分類結(jié)果,讓計(jì)算機(jī)自己學(xué)習(xí)出識(shí)別的解決方案(是不是有點(diǎn)像人類的學(xué)習(xí)思路了)。這里經(jīng)過時(shí)代變遷和計(jì)算機(jī)的算力大幅提升,基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法逐漸有了用武之地。
深度神經(jīng)網(wǎng)絡(luò)識(shí)別方法——這幾個(gè)字很深?yuàn)W,不學(xué)計(jì)算機(jī)不搞算法的可能直接被唬住了,我用一句話翻譯翻譯什么叫深度神經(jīng)網(wǎng)絡(luò)(狗頭.jpg):輸入數(shù)據(jù)和指定標(biāo)簽之間存在某種非線性的關(guān)聯(lián),神經(jīng)網(wǎng)絡(luò)就是通過多個(gè)非線性函數(shù)去近似擬合上述的非線性關(guān)聯(lián)。如下圖,就是一個(gè)簡(jiǎn)單的深度神經(jīng)網(wǎng)絡(luò),最左側(cè)的圖片(字母“A”),右側(cè)呢就是將圖片轉(zhuǎn)換為數(shù)字后,進(jìn)行“智能”運(yùn)算的結(jié)構(gòu)體,可以理解為“大腦”。