A generative vision model that trains with high data efficiency and breaks text-based CAPTCHAs?
(遞歸皮層網(wǎng)絡(luò)RCN識別驗證碼CAPTCHAs)
????從一些例子中學(xué)習(xí)和泛化(generalize)能力是人類智慧的標(biāo)志星瘾。CAPTCHAs(全稱Completely Automated Public Turing test to tell Computers and Humans Apart),網(wǎng)站用來阻止自動交互的圖像集,是人類容易識別但計算機難以解決的問題滨攻。CAPTCHAs很難用于算法蛉鹿,因為它們將雜亂和眾包字母組合在一起瓢阴,為字符分類器創(chuàng)建雞和蛋問題(chicken-and-egg problem)——分類器適用于已經(jīng)分割出來的字符络拌,但是對單個字符進行分段需要理解字符鬼癣,每個都可以按組合數(shù)方式呈現(xiàn)饵骨。最近一種特定的解析CAPTCHA風(fēng)格的深度學(xué)習(xí)方法翘悉,需要數(shù)以百萬計的標(biāo)記數(shù)據(jù)集,而早期方法主要依靠手工特定類型啟發(fā)法(hand-crafted style-specific heuristics)來分割出字符居触;而人類可以在沒有明確訓(xùn)練的情況下解決新的類型(圖1A)妖混。圖1顯示了各種各樣的字形可以呈現(xiàn)并且仍然被人們理解的方式。
????建立遠遠超出其訓(xùn)練分布范圍的模型块促,是道格拉斯·霍夫斯塔特所設(shè)想的靈活性的重要一步荣堰,他說“對于任何能夠處理具有人類靈活性字形的程序,它必須擁有全人工智能竭翠。許多研究人員推測振坚,這可以通過利用神經(jīng)科學(xué)和認知科學(xué)研究產(chǎn)生的大量數(shù)據(jù),來結(jié)合視覺皮層的誘導(dǎo)偏差(inductive biases)來實現(xiàn)斋扰。在哺乳動物大腦中渡八,視覺皮層中的反饋連接在分割圖形和環(huán)境(figure-ground-segmentation)中發(fā)揮作用,并在基于對象的自上而下的注意力中传货,即使當(dāng)物體的部分是透明的時候屎鳍,也會識別出物體的輪廓(說的是主觀輪廓錯覺吧)。視覺皮層中的橫向連接與強制輪廓連續(xù)性(enforcing contour continuity)有關(guān)问裕。輪廓(Contours)和表面(surfaces)使用相互作用的獨立機制來表示逮壁,使得能夠識別和想象具有不尋常外觀的物體——例如冰制椅子。皮質(zhì)激活時間和地域(timing and topography of cortical activations)提供了關(guān)于輪廓表面表征和推理算法(contoursurfacerepresentations and inference algorithms)的線索粮宛。這些基于皮質(zhì)功能的見解尚未納入領(lǐng)先的機器學(xué)習(xí)模型窥淆。
????我們引入一種稱為遞歸皮層網(wǎng)絡(luò)Recursive Cortical Network(RCN)的分層模型卖宠,該模型將這些神經(jīng)科學(xué)見解納入結(jié)構(gòu)化概率生成模型(structured probabilisticgenerative model)框架。除了開發(fā)RCN及其學(xué)習(xí)和推理算法之外忧饭,我們還將模型應(yīng)用于各種視覺認知任務(wù)扛伍,這些任務(wù)需要從一個或幾個訓(xùn)練樣例中進行泛化:解析CAPTCHAs,一次(one-shot)和幾次(few-shot)識別以及手寫生成數(shù)字词裤,遮擋推理(occlusion reasoning)和場景文本識別刺洒。然后,我們將其性能與最先進的模型state of the art models進行了比較吼砂。
遞歸皮質(zhì)網(wǎng)絡(luò)(Recursive cortical network)
????RCN以一只重要的方式建立在現(xiàn)有組合模型逆航。盡管基于語法的模型具有基于語言學(xué)(linguistics)中眾所周知的優(yōu)點,但它們要么將解釋限制為單個的樹(single trees)帅刊,要么在使用歸屬關(guān)系(attributed relations)時計算上不可行纸泡。關(guān)于AND-OR模板(AND-OR?templates)和樹狀成分模型(tree-structured compositional models)的開創(chuàng)性工作(seminal work)具有簡化推理(simplified inference)的優(yōu)點,但由于沒有橫向約束(lateral constraints)而缺乏選擇性赖瞒。來自另一個重要類的模型使用橫向約束女揭,但不是通過池化結(jié)構(gòu)逐漸建立不變性(invariance),而是使用參數(shù)變換在每個級別進行完全縮放栏饮,旋轉(zhuǎn)和平移不變性吧兔。需要自定義推理算法,但這些算法不能有效地將橫向約束的影響傳播出局部交互的范圍袍嬉。在(37)中境蔼,不對輪廓和表面的表征的相互作用建模,而是選擇將它們視為獨立的機制單獨建模伺通。RCN和組合機器Composition Machines(CM)分享將組合模型思想(compositional modelideas)放置在圖形模型公式中的動機箍土。然而,CM的“組合分布”的代表性選擇——使用單層隨機變量來折疊特征檢測罐监,池化和橫向協(xié)調(diào)——導(dǎo)致擴展的狀態(tài)空間吴藻,從而將模型約束為貪心推理(greedyinference)和解析處理(parsingprocess)。一般而言弓柱,由于表征選擇的變化varied和沖突沟堡,組合模型的推理依賴于不同模型實例的定制方,包括求解隨機偏微分方程矢空,基于采樣的算法和修剪動態(tài)規(guī)劃航罗。
?????RCN將來自組合模型的各種思想——分層組合,不變性的漸進構(gòu)建屁药,橫向連接選擇性粥血,輪廓表面因子分解和基于聯(lián)合解釋的解析——整合并構(gòu)建到結(jié)構(gòu)化概率圖形模型中,使信念傳播可以用作主要的近似推理引擎。實驗神經(jīng)科學(xué)數(shù)據(jù)為代表性選擇(representationalchoices)提供了重要指導(dǎo)立莉,然后通過實驗研究證實這是有益的绢彤。我們現(xiàn)在討論RCN的表征及其推理和學(xué)習(xí)算法。數(shù)學(xué)細節(jié)在(33)第2至5節(jié)中討論蜓耻。
表征Representation
????在RCN中,對象被建模為輪廓和表面的組合(圖2A)械巡。輪廓出現(xiàn)在表面的邊界處刹淌,包括對象輪廓和構(gòu)成對象的表面之間的邊界。表面使用條件隨機場Conditional Random Field(CRF)建模讥耗,其捕獲表面特性變化的平滑度有勾。輪廓使用特征的組合層次結(jié)構(gòu)建模。輪廓(形狀)和表面(外觀)的因式表示使模型能夠識別具有顯著不同外觀的物體形狀古程,而無需對每種可能的形狀和外觀組合進行詳盡的訓(xùn)練蔼卡。我們現(xiàn)在詳細描述形狀和外觀表征
????圖2B顯示了RCN輪廓層次一個級別內(nèi)的兩個子網(wǎng)(黑色和藍色)女轿。圖中實心和空心的圓形節(jié)點分別對應(yīng)于特征和池(pools)的二進制隨機變量。每個特征節(jié)點對其子池(child pools)的與(AND)關(guān)系進行編碼壕翩,每個池變量對其子特征的或(OR)進行編碼蛉迹,類似于與或圖。橫向約束(表示為矩形“因子節(jié)點”)協(xié)調(diào)它們連接的池之間的選擇戈泼。兩個子網(wǎng)絡(luò)可以對應(yīng)兩個對象或?qū)ο蟮囊徊糠中銮荩蚕磔^低級別的特征。
????圖2C顯示了表示正方形輪廓的三級網(wǎng)絡(luò)大猛。底部扭倾,中間和頂部的各級特征分別代表線段,角和整個正方形挽绩。每個池變量(pool variable)匯集在“中心”特征的不同變形膛壹,少量平移(translations),比例變化等上,從而引入相應(yīng)的不變性模聋。在沒有池(圖2C中的灰色方塊)之間的橫向連接的情況下肩民,從表示角的特征節(jié)點生成會產(chǎn)生未對準的線段,如圖3A所示链方。
????池之間的橫向連接提供的選擇性持痰,是通過確保一個池中的特征的選擇影響其連接的(整個?)池中的特征的選擇來實現(xiàn)的,從而創(chuàng)建輪廓變化更平滑的樣本(samples)祟蚀。
? ??橫向約束的靈活性通過擾動因子(perturb-factor)來控制工窍,擾動因子是每級指定的超參數(shù)(hyperparameter)。通過多層特征池化前酿、橫向連接以及組合患雏,頂層的特征節(jié)點來表示一個對象,這個對象可以通過某種程度的平移罢维,縮放和變形不變性來識別?淹仑。(Throughmultiple layers of feature pooling, lateral connections, and compositions, a feature node at the top level comes to represent an object that can be recognized with some level of translation, scale, and deformation invariance. )
????多對象通過共享它們的部分以相同的形狀層次表示(圖2B)。當(dāng)多個父節(jié)點匯聚于單個子特征(圖2B中的特征節(jié)點feature node“e”)時敲董,當(dāng)任何父節(jié)點處于活動狀態(tài)(圖形模型l中的與門(OR-gate)時紫皇,這將是活動的,并且允許子特征成為子節(jié)點的一部分腋寨。如果證據(jù)允許聪铺,父母雙方都不同于AND-OR圖形語法中的獨享(exclusivesharing)课兄。
(When multiple parents converge on a single child feature (feature node “e” in Fig. 2B), this will be active when any parent is active (OR gate in the graphical model), and the child feature is allowed to be part of both parents if evidence allows, unlike the exclusive sharing in AND-OR graph grammars)
美國人能看懂嗎骗村?捕透。魏烫。玩祟。怎么斷句圣贸?
????即使兩個較高級別的特征共享一些相同的較低級別特征和池岖赋,這些較高級別特征的橫向網(wǎng)絡(luò)也會通過為其參與的每個特定更高級別特征制作較低級別功能的副本而保持獨立(多讀幾遍應(yīng)該能明白它的意思)映挂,如圖2B所示。與成對連接相比普气,橫向網(wǎng)絡(luò)的特定的父節(jié)點副本(Parent-specific copies)用于實現(xiàn)更高階的交互谜疤,類似于在高階網(wǎng)絡(luò)(higher-order networks)中使用的狀態(tài)復(fù)制機制(state copying?mechanism?)。這也被發(fā)現(xiàn)對于消息傳遞很重要现诀,以獲得準確的結(jié)果茎截,并且讓人聯(lián)想到雙重分解(dual decomposition)中使用的技術(shù)。RCN網(wǎng)絡(luò)中的層次結(jié)構(gòu)扮演兩個角色赶盔。首先,它能夠通過多個層次結(jié)構(gòu)逐漸地表示變形榆浓,從而在層間傳播變化量variation(圖3B)于未。其次,層次結(jié)構(gòu)通過在不同對象之間共享特征來提供效率(42)陡鹃。這兩者都可以通過共享計算實現(xiàn)有效的學(xué)習(xí)和推理烘浦。
? ??表面使用成對CRF建模(圖3C)。局部表面片屬性(Local surface patch properties?)(如顏色萍鲸,紋理或表面法線(surface normal))由分類變量(categorical variables)表示闷叉,其變化的平滑性由橫向因子(圖2中的灰色方塊)強制執(zhí)行。輪廓層次生成的輪廓以特定的方式與表面CRF相互作用:輪廓表示著表面連續(xù)性的一個斷裂脊阴,這種輪廓可以是在對象內(nèi)(內(nèi)輪廓)以及對象與其背景之間(外輪廓)握侧,這是一種受神經(jīng)生物學(xué)啟發(fā)的表征選擇。圖3嘿期,B和D顯示了從RCN生成的樣本品擎。
推理(Inference)
????為了解析場景,RCN在平鋪場景的多個位置备徐,維持多個對象實例的分層圖萄传。可以通過該復(fù)雜圖上的最大后驗概率估計(MAP)(maximum?a?posteriori)推斷來獲得場景的解析蜜猾,其解釋了包括對象身份及其分割的最佳聯(lián)節(jié)配置秀菱。雖然RCN網(wǎng)絡(luò)有許多循環(huán),但我們發(fā)現(xiàn)消息傳遞蹭睡,其時間表受到視覺皮層激活時間的激發(fā)衍菱,導(dǎo)致快速準確的推斷。輸入圖像首先通過預(yù)處理(PreProc)棠笑,使用一組Gabor類濾波將像素值轉(zhuǎn)換為邊緣似然梦碗。然后使用在網(wǎng)絡(luò)中傳遞的前向和后向消息來識別對應(yīng)于對象假設(shè)(object hypotheses)的部分分配(Partial assignments),并且通過解決對象假設(shè)圖上的場景解析問題,來找到完整的近似最大后驗概率估計(MAP)解決方案(圖4)洪规。前向傳遞給出了頂層節(jié)點的對數(shù)概率的上限印屁。后向傳遞逐個訪問高得分的前向傳遞假設(shè),這個方式類似于自上而下的關(guān)注過程斩例,該方式有個條件推斷:假設(shè)所有其他節(jié)點都關(guān)閉雄人,目的是為了找到近似MAP對象的配置(圖4A)。后向傳遞可以推翻許多在前向傳遞中識別錯誤了的對象假設(shè)念赶。
????全局MAP(最大后驗概率估計)配置是前向和后向傳遞生成的所有對象假設(shè)的子集。場景中的對象數(shù)量被推斷為此MAP解決方案的一部分闻葵。除了要在數(shù)量以指數(shù)(exponentially)增長的子集中搜索之外民泵,找到全局MAP還需要推斷出不同假設(shè)之間的高階交互。我們開發(fā)了一種近似動態(tài)規(guī)劃(DP)(dynamic?programming)的方法槽畔,可以在線性時間內(nèi)解決這個問題栈妆。DP算法利用每個對象假設(shè)占據(jù)連續(xù)區(qū)域的事實,該連續(xù)區(qū)域可以在輸入圖像上表示為2d掩模(mask)厢钧。通過考慮在其2d掩模重疊時產(chǎn)生空間連續(xù)掩模的對象假設(shè)的組合鳞尔,我們通過根據(jù)包含在其他掩模中的掩模對它們進行排序來創(chuàng)建解析的拓撲排序。這導(dǎo)致得分的遞歸計算早直,其在搜索最佳解析時僅需要評估線性數(shù)量的候選解析寥假。
學(xué)習(xí)(Learning)
????直到網(wǎng)絡(luò)的倒數(shù)第二級(penultimate?level)的特征和橫向連接都是在無人監(jiān)督的情況下使用通用3D對象數(shù)據(jù)集進行訓(xùn)練,該通用3D對象數(shù)據(jù)集是任務(wù)不可知的并且僅被渲染為輪廓圖像霞扬。由此產(chǎn)生的學(xué)習(xí)特征從較低級別的簡單線段到較高級別的曲線和角糕韧。
????考慮一個部分學(xué)習(xí)模型枫振,其中在第k層學(xué)習(xí)到了新特征。在第k層中萤彩,到達第k-1層的特征已經(jīng)被學(xué)習(xí)并最終確定粪滤,并且在第k層已經(jīng)學(xué)習(xí)了一些特征(圖4B)。
(Consider a partially learned model, where new features are being learned at level k, where features?up to level k ? 1 have already been learned and finalized, and a few features have been learned at level k (Fig. 4B).雀扶。這里的第二個where是指level k嗎杖小?and又是和那個部分并列?有人知道嗎愚墓?)
????當(dāng)呈現(xiàn)訓(xùn)練圖像時予权,第一步是使用第k層處的現(xiàn)有特征為該圖像的輪廓查找MAP解釋。這與前面描述的為場景找到MAP解決方案的推理問題相同浪册。使用第k-1層的特征解析仍然無法解釋的輪廓扫腺,并從它們的輪廓連續(xù)連接(contour-continuous conjunctions)中提出新特征。對所有訓(xùn)練圖像重復(fù)該過程村象,累積對級別k處的不同特征的使用的計數(shù)斧账,并且通過優(yōu)化平衡壓縮(balances?compression)和重建誤差(reconstruction error)的目標(biāo)函數(shù)(objective function)來選擇該級別的最終特征(31)。同一過程逐級(level-by-level)重復(fù)煞肾。
????橫向圖結(jié)構(gòu),是從輸入圖像的輪廓連通性(contour?connectivity)中學(xué)習(xí)嗓袱,指定池對(pool pairs)之間的連通性(connectivity)籍救。在第一個池化層,具有在輸入輪廓中相鄰的特征的池彼此連接渠抹。在層次結(jié)構(gòu)中遞歸地重復(fù)該過程蝙昙,其中較高層的橫向連接是從較低層圖中的鄰接(adjacency)推斷的。
????最頂層的特征代表整個對象梧却。這些是通過找到直到網(wǎng)絡(luò)倒數(shù)第二級(penultimate level)的新對象的MAP配置而獲得的:根據(jù)輸入對象的輪廓連續(xù)性在倒數(shù)第二級連接池對(pool pairs)奇颠,然后在倒數(shù)第二級存儲激活的連接(conjunction of activations)作為最頂層特征。
????一旦訓(xùn)練了一組較低級別的特征和橫向連接放航,就可以通過調(diào)整一些超參數(shù)(hyper-parameters)來將它們用于不同的域(domains)烈拒。根據(jù)圖像和對象大小選擇預(yù)處理(PreProc)中的濾波器比例,并設(shè)置橫向連接的靈活性以匹配數(shù)據(jù)中的失真(distortions)广鳍。另外荆几,最低級別特征具有“平滑參數(shù)”(smoothing parameter),這個參數(shù)設(shè)置是用來估計由于噪聲導(dǎo)致邊緣像素開啟(ON)的可能性 赊时《种可以根據(jù)域中的噪聲級別設(shè)置此參數(shù)。
結(jié)論(Results)
????如果CAPTCHA數(shù)據(jù)集超過1%被自動解決祖秒,則認為CAPTCHA測試被擊破诞吱。RCN用很少的訓(xùn)練數(shù)據(jù)就能擊破各種基于文本的CAPTCHAs舟奠,并且不使用CAPTCHA特定啟發(fā)式方法(圖5)。它能夠以66.6%的準確率來解決reCAPTCHAs問題房维,(字符級準確度為94.3%)沼瘫,在BotDetect生成的測試集上為64.4%,Yahoo上為57.4%和PayPal上為57.1%握巢,遠遠高于破解CAPTCHAs問題僅需的1%成功率晕鹊。不同CAPTCHA任務(wù)中架構(gòu)的唯一區(qū)別是用于訓(xùn)練的純字體集(sets of clean fonts)和一些超參數(shù)(hyper-parameters)的不同選擇,這些參數(shù)取決于CAPTCHA圖像的大小以及雜波(clutter)和變形(deformations)的數(shù)量暴浦。這些參數(shù)可以直接手動設(shè)置溅话,也可以通過帶注釋的CAPTCHA集上的交叉驗證(cross validation)自動調(diào)整。來自CAPTCHA的嘈雜(Noisy)歌焦,混亂(cluttered)和變形(deformed)的例子沒有用于訓(xùn)練飞几,但RCN在泛化這些變化方面是有效的。
????對于準確率為66.6%的reCAPTCHA解析忧设,RCN里每個字符只需要五個純凈的訓(xùn)練樣例(clean training examples)。該模型使用三個參數(shù)來影響單個字符如何組合在一起以讀出一串字符颠通,這些參數(shù)都與CAPTCHA的長度無關(guān)址晕,并且對字符間距很穩(wěn)健 [圖5B]。除了獲得CAPTCHA轉(zhuǎn)錄(transcription)外顿锰,該模型還提供對單個字符的高度準確的分割谨垃,如圖5A所示。相比之下硼控,reCAPTCHA的人類準確率為87.4%乘客。由于許多輸入圖像具有多種有效解釋(圖5A),因此來自兩個人的解析僅時間內(nèi)達成在81%的一致(agree?only?81%?of?the?time)淀歇。
????與RCN相比易核,最先進的CNN需要大約50,000倍的實際CAPTCHA字符串訓(xùn)練集,并且對輸入的擾動(perturbations)不太穩(wěn)健浪默。由于CNN需要大量標(biāo)記示例牡直,因此該對照研究(control study)使用我們創(chuàng)建的CAPTCHA生成器來模擬reCAPTCHAs的外觀缀匕。該方法使用了一組特定位置的CNN,每個CNN都經(jīng)過訓(xùn)練以區(qū)分特定位置的字母碰逸。訓(xùn)練該CNN以實現(xiàn)89.9%的單詞準確率乡小,需要超過230萬個獨特訓(xùn)練圖像,用已翻譯詞句(translated crops)進行數(shù)據(jù)增加(data?augmentation)饵史,從79,000個不同的CAPTCHA單詞創(chuàng)建满钟。由此產(chǎn)生的網(wǎng)絡(luò)在訓(xùn)練期間不存在字符串長度(string lengths)失敗,更重要的是胳喷,網(wǎng)絡(luò)的識別準確性迅速惡化湃番,甚至對人類幾乎感覺不到的字符間距產(chǎn)生微小擾動——間距增加15%精度降低到38.4%,間距增加25%精度降低到7%吭露。這表明深度學(xué)習(xí)方法學(xué)會利用特定CAPTCHA的細節(jié)而不是學(xué)習(xí)隨后用于解析場景的字符模型吠撮。對于RCN,增加字符的間距可以提高識別精度(圖5B)讲竿。
????BotDetect中各種各樣的字符外觀(圖5C)說明了為什么輪廓和表面的分解很重要:沒有這種分解的模型會鎖定(latch)字體的特定外觀細節(jié)泥兰,從而限制了它們的泛化。RCN結(jié)果基于對來自BotDetect的10種不同風(fēng)格的CAPTCHA測試题禀,所有這些都基于每個字符做24個訓(xùn)練示例訓(xùn)練的單個網(wǎng)絡(luò)進行解析鞋诗,并且在所有樣式中使用相同的解析參數(shù)(parsing?parameters)。盡管BotDetect CAPTCHA可以僅使用輪廓信息進行解析迈嘹,但使用外觀信息可以將準確率從61.8%提高到64.4%师脂,在所有數(shù)據(jù)集中使用相同的外觀模型。
????在標(biāo)準的MNIST手寫數(shù)字數(shù)據(jù)集中江锨,RCN在一次性(one-shot)和幾次(few?shot)分類任務(wù)上的表現(xiàn)優(yōu)于其他模型。我們比較了RCN在MNIST上的分類性能糕篇,因為我們將每個類別的訓(xùn)練樣例數(shù)從1改為100啄育。CNN與兩種最先進的模型進行了比較,即LeNet-5和VGG-fc6 CNN拌消,其級別使用數(shù)百萬張圖像進行ImageNet分類預(yù)訓(xùn)練挑豌。選擇VGG-CNN的全連接層?fc6進行比較,因為與其他預(yù)訓(xùn)練水平的VGG-CNN相比墩崩,它為此任務(wù)提供了最佳結(jié)果氓英,并與使用相同數(shù)據(jù)集和邊緣預(yù)處理(edgepre-processing)為RCN的其他預(yù)先訓(xùn)練的CNN進行了比較設(shè)置。此外鹦筹,我們還比較了最近報告的關(guān)于此任務(wù)的最新表現(xiàn)的成分補丁模型(Compositional PatchModel)铝阐。RCN的表現(xiàn)優(yōu)于CNN和CPM。RCN的one-hot識別性能(one?shot?recognition?performance)為76.6%铐拐,CPM為68.9%徘键,VGG-fc6為54.2%练对。RCN對于在測試期間引入的不同形式的雜波(clutter)也很健壯,而不必在訓(xùn)練期間對網(wǎng)絡(luò)訓(xùn)練那些變換(transformations)吹害。相比之下螟凭,這種樣本外的測試實例(out-of-sample test?examples)對CNN的泛化性能具有很大的不利影響(圖6B)。為了分清橫向連接它呀,正向傳遞和反向傳遞對RCN準確性的貢獻螺男,我們進行了選擇性地關(guān)閉這些機制(mechanisms)的病變研究(lesion studies)。結(jié)果總結(jié)在圖6C中纵穿,表明所有這些機制對RCN的性能有顯著貢獻下隧。具有兩級特征檢測和池化的RCN網(wǎng)絡(luò)足以在字符解析任務(wù)上獲得最佳的準確性性能。增加層次結(jié)構(gòu)中層次數(shù)的效果是減少推理時間政恍。
????作為生成模型脯燃,RCN在重建損壞的MNIST圖像時優(yōu)于變分自動編碼器(VAE)(Variational?Auto?Encoders)和DRAW(圖7,A和B)蒙保。DRAW對于純凈測試集(clean test set)優(yōu)于RCN的優(yōu)勢并不令人驚訝辕棚,因為DRAW正在學(xué)習(xí)一種過于靈活的模型,該模型幾乎在重建中復(fù)制輸入圖像邓厕,這會在更混亂的數(shù)據(jù)集(cluttered?datasets)上損害其性能逝嚎。在Omniglotdata在線語言文字百科數(shù)據(jù)上,一次訓(xùn)練(one-shot training)后從RCN生成的示例顯示出顯著變化详恼,同時仍然可以識別為原始類別[圖7D]补君。
????為了測試遮擋推理(occlusion reasoning),我們通過在每個驗證(validation)/測試(test)圖像中添加一個矩形來創(chuàng)建MNIST數(shù)據(jù)集的變體增淹,使得數(shù)字的某些部分被矩形遮擋椿访,并且矩形的某些部分被數(shù)字遮擋[圖7C]。這些圖像中的遮擋關(guān)系不能推斷為一個對象在另一個對象前的簡單分層虑润。對該數(shù)據(jù)集的分類具有挑戰(zhàn)性成玫,因為數(shù)字的許多部分被矩形遮擋,并且因為矩形行為雜亂拳喻。如果檢測到并分割出矩形哭当,則可以使用RCN生成模型解釋其對特定數(shù)字的證據(jù)的影響,從而提高分類和分割的準確性冗澈。RCN在這個具有挑戰(zhàn)性的數(shù)據(jù)集上進行了分類準確性和遮擋推理的測試钦勘。無解釋的分類準確率為47.0%。解釋矩形可將分類精度提高到80.7%亚亲。另外彻采,RCN用于通過推理矩形和數(shù)字之間的遮擋關(guān)系來解析場景。該模型成功地預(yù)測了測試圖像的精確遮擋關(guān)系捌归,如圖7C所示肛响,獲得了在遮擋區(qū)域上測量的0.353的平均交會(IOU)(intersection over?union)。
????最后惜索,RCN在ICDAR-13穩(wěn)健讀數(shù)數(shù)據(jù)集(Robust Readingdata set)上進行了測試特笋,這是現(xiàn)實世界圖像中文本識別的基準(benchmark)(圖7E)。對于此測試门扇,我們增強了解析算法,以包括有關(guān)n-gram和單詞統(tǒng)計的先驗知識偿渡,以及與場景中字母布局相關(guān)的幾何先驗(geometric priors)臼寄,包括間距(spacing),相對大辛锟怼(relative sizes)和外觀一致性(appearance consistency)吉拳。我們將我們的結(jié)果與ICDAR競賽的最高參與者以及最近的深度學(xué)習(xí)方法進行了比較(表1)。盡管PhotoOCR使用了790萬個訓(xùn)練圖像适揉,但RCN模型的表現(xiàn)優(yōu)于頂級競爭者PhotoOCR 1.9%留攒,而RCN使用了來自25,584個字體圖像的基于模型的聚類(model-based?clustering)選擇的1,406個訓(xùn)練圖像煤惩。除了提供競爭方法無法提供的字符的詳細分段(圖7E)外,RCN在此任務(wù)上實現(xiàn)了更高的準確性炼邀,同時數(shù)據(jù)利用率(data?efficient)提高了300倍魄揉。
討論(Discussion)
????分段阻抗(Segmentation resistance)是基于文本CAPTCHA的主要防御拭宁,它是實現(xiàn)自動生成的一般原則洛退。盡管在用特定樣式的分段啟發(fā)式法(style-specific segmentation?heuristics)前已經(jīng)破壞了特定CAPTCHA,但這些攻擊可以通過對CAPTCHA的微小改動而輕易地被挫敗杰标。RCN以一種基本方式打破了分段防御兵怯,并且只有非常少的訓(xùn)練數(shù)據(jù),這表明網(wǎng)站應(yīng)該采用更強大的機制來阻止阻抗AI程序腔剂。
????成分模型(Compositional models)過去已成功用于通用對象識別(generic object recognition)和場景解析(scene parsing)媒区,我們的初步實驗表明RCN也可適用于這些領(lǐng)域(圖8)。RCN公式為在圖形模型中開發(fā)更廣泛的高級推理和學(xué)習(xí)算法打開了組合模型掸犬,可能導(dǎo)致在現(xiàn)實世界場景解析中基于其先前成功的改進袜漩。盡管作為生成模型的優(yōu)勢,RCN需要若干改進才能在ImageNet規(guī)模數(shù)據(jù)集上實現(xiàn)卓越性能登渣。靈活地合并多個實例噪服,在前向和后向推理期間在層次結(jié)構(gòu)的所有級別使用表面外觀,學(xué)習(xí)通過3D變形池化更復(fù)雜池化結(jié)構(gòu)(sophisticated pooling structures)胜茧,以及場景上下文和背景的生成建模需要調(diào)查并與RCN整合的問題粘优。
????與CNN和VAE等全圖像模型(whole-image models)相比,RCN的數(shù)據(jù)利用率高源于RCN在其結(jié)構(gòu)中對強假設(shè)(strong assumptions)做編碼的事實廊遍。最近的神經(jīng)網(wǎng)絡(luò)模型使用空間關(guān)注窗口(spatial attention?window)結(jié)合了組合性的想法嬉愧,但是它們的當(dāng)前實例需要在整潔的設(shè)置(uncluttered setting)中良好地分離對象,因為每個關(guān)注窗口使用整個圖像VAE建模喉前。將RCN的對象和基于部分的組合性(part-based compositionality)結(jié)合到神經(jīng)網(wǎng)絡(luò)模型中將是一個有趣的研究方向没酣。與神經(jīng)網(wǎng)絡(luò)不同,當(dāng)前版本的RCN學(xué)習(xí)算法需要干凈的訓(xùn)練數(shù)據(jù)卵迂,這是我們打算使用基于梯度的學(xué)習(xí)(gradient based learning)以及基于消息傳遞方法(message?passing based approaches)解決的一個弊端(drawback)裕便。
????將RCN與貝葉斯程序?qū)W習(xí)(BPL)(Bayesian ProgramLearning)相結(jié)合是未來調(diào)研的另一種途徑。BPL具有精確建模順序因果機制(sequential?causal mechanisms)的優(yōu)點见咒,例如Omniglot數(shù)據(jù)集中的筆劃生成偿衰,但其推斷取決于輪廓與背景分離——RCN可以輕松提供。更一般地,可以組合BPL和類RCN圖形模型(RCN-likegraphical models)以獲得模擬涉及感知(perception)和認知(cognition)的并行和順序過程所需的表達能力和有效推斷下翎。
????當(dāng)然缤言,Douglas?Hofstadter的挑戰(zhàn)——理解具有相同效率和靈活性的字形——仍然是人工智能的宏偉目標(biāo)。當(dāng)人們識別字形時视事,人們會以上下文敏感和動態(tài)的方式使用更多常識知識(圖1C胆萧,iii)。我們的工作表明郑口,結(jié)合系統(tǒng)神經(jīng)科學(xué)的歸納偏差(inductive?biases)可以產(chǎn)生強大鸳碧、可泛化的機器學(xué)習(xí)模型,展示出高數(shù)據(jù)效率犬性。我們希望這項工作能夠激發(fā)改進的皮層電路模型(cortical?circuits)以及將神經(jīng)網(wǎng)絡(luò)和結(jié)構(gòu)化概率模型(structured?probabilistic?models)的功能與通用人工智能系統(tǒng)(general?artificia?lintelligence?systems)相結(jié)合的研究瞻离。
方法總結(jié)Methods summary
????對于reCAPTCHA實驗,我們從google.com的reCAPTCHA頁面下載了5500個reCAPTCHA圖像乒裆,其中500個用作參數(shù)調(diào)整的驗證集套利,并在剩余5000個上報告準確度數(shù)字。圖像按2倍因子放大了比例鹤耍。通過與本地系統(tǒng)上可用字體的視覺比較肉迫,識別出格魯吉亞(Georgiare?CAPTCHA)中使用的類似字體。RCN接受了這種字體的小寫和大寫字符的幾次旋轉(zhuǎn)訓(xùn)練稿黄。使用驗證集優(yōu)化超參數(shù)喊衫。使用亞馬遜標(biāo)記平臺(AMT)(AmazonMechanicalTurk)工人估算reCAPTCHA數(shù)據(jù)集的人工準確性。
????使用Image-Magick創(chuàng)建用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)進行對照實驗(control experiments)仿真reCAPTCHA數(shù)據(jù)集杆怕,以產(chǎn)生與原始reCAPTCHA定性相似的失真(distortions)族购。仿真數(shù)據(jù)生成器用作無限制源(unlimited source),以生成用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的隨機批次陵珍。神經(jīng)網(wǎng)絡(luò)優(yōu)化運行了80期(epochs)寝杖,其中數(shù)據(jù)在每期開始時被置換(permuted);通過每期每個基本方向(cardinal?direction)上最多5像素的隨機翻譯來增強數(shù)據(jù)互纯。類似方法用于BotDetect瑟幕,PayPal和YahooCAPTCHAs。對于BotDetect留潦,我們下載了每個CAPTCHA樣式50-100個圖像的數(shù)據(jù)集只盹,用于確定解析參數(shù)和訓(xùn)練設(shè)置,另外100個圖像作為未調(diào)整網(wǎng)絡(luò)的測試數(shù)據(jù)集兔院。作為系統(tǒng)的訓(xùn)練圖像殖卑,我們通過直觀地比較BotDetect CAPTCHAs的幾個示例,從系統(tǒng)中可用的那些中選擇了一系列字體和比例秆乳。BotDetect測試圖像按1.45倍的因子重新調(diào)整懦鼠。使用驗證集優(yōu)化解析參數(shù),并通過分別適配(adapting)每種樣式的參數(shù)來測試解析參數(shù)的可轉(zhuǎn)移性屹堰,然后在其他樣式上測試這些參數(shù)肛冶。
????為了訓(xùn)練RCN解析ICDAR,我們從谷歌字體中獲得了492種字體扯键,產(chǎn)生了25584個字符的訓(xùn)練圖像睦袖。由此我們使用自動貪婪字體選擇方法(automated?greedy?font?selection?approach)選擇了一組訓(xùn)練圖像。我們?yōu)樗凶煮w渲染了二進制圖像荣刑,然后使用相同字母的結(jié)果圖像來訓(xùn)練RCN馅笙。然后,該RCN用于識別其訓(xùn)練的精確圖像厉亏,為相同字母的所有字體對提供兼容性分數(shù)(compatibility?score)(在0.0和1.0之間)董习。最后,使用閾值threshold(=0.8)作為停止標(biāo)準爱只,我們貪婪地選擇最具代表性的字體皿淋,直到所有字體的90%被表示,這導(dǎo)致776個獨特的訓(xùn)練圖像恬试。使用630個單詞圖像訓(xùn)練解析器窝趣,并使用來自維基百科Wikipedia的單詞訓(xùn)練字符。
????對MNIST數(shù)據(jù)集的RCN分類實驗是通過將該圖像按4倍因子上采樣(up-sampling)來完成的训柴。對于每個訓(xùn)練設(shè)置哑舒,使用旋轉(zhuǎn)的MNIST數(shù)字的獨立驗證集來調(diào)整模型的兩個池化超參數(shù)(pooling hyperparameters)。作為基線的一部分幻馁,探索了幾種預(yù)訓(xùn)CNN的方法洗鸵。為了理解網(wǎng)絡(luò)在嘈雜的MNIST數(shù)據(jù)上的性能,我們創(chuàng)建了六種噪聲變體宣赔,每種變體具有三個嚴重級別levels of severity预麸。對于遮擋推理o,RCN網(wǎng)絡(luò)訓(xùn)練有11個類別:10個MNIST數(shù)字類別帶20個類別示例儒将,和矩形環(huán)類別(rectangularring?category)帶一個例子吏祸。在MNIST數(shù)據(jù)集上的重建實驗使用僅在干凈的MNIST圖像上訓(xùn)練的網(wǎng)絡(luò),然后測試6種不同噪聲變體的均方重建誤差钩蚊,每種噪聲變化具有3個嚴重級別贡翘。
源碼:https://github.com/vicariousinc/science_rcn