【中文翻譯】A generative vision model that trains with high data efficiency(RCN網絡論文一)

A generative vision model that trains with high data efficiency and breaks text-based CAPTCHAs?

遞歸皮層網絡RCN識別驗證碼CAPTCHAs

????從一些例子中學習和泛化(generalize)能力是人類智慧的標志。CAPTCHAs(全稱Completely Automated Public Turing test to tell Computers and Humans Apart),網站用來阻止自動交互的圖像集,是人類容易識別但計算機難以解決的問題。CAPTCHAs很難用于算法,因為它們將雜亂和眾包字母組合在一起,為字符分類器創建雞和蛋問題(chicken-and-egg problem)——分類器適用于已經分割出來的字符,但是對單個字符進行分段需要理解字符,每個都可以按組合數方式呈現。最近一種特定的解析CAPTCHA風格的深度學習方法,需要數以百萬計的標記數據集,而早期方法主要依靠手工特定類型啟發法(hand-crafted style-specific heuristics)來分割出字符;而人類可以在沒有明確訓練的情況下解決新的類型(圖1A)。圖1顯示了各種各樣的字形可以呈現并且仍然被人們理解的方式。


圖1.人類在字母形式上感知的靈活性。(A)人類擅長解析不熟悉的字體。(B)相同的字母可以有很多的表現形式,人類可以從上圖中識別出“A”。(C)常識和上下文信息會影響人類對字體的感知:(i)“m”還是“u”或“n”; (ii)同樣的線條中,不同位置上的遮擋會影響對其理解為“N”還是“S”; (iii)對形狀的感知會幫助識別圖中的“b,i,s,o,n”和“b,i,k,e”。

????建立遠遠超出其訓練分布范圍的模型,是道格拉斯·霍夫斯塔特所設想的靈活性的重要一步,他說“對于任何能夠處理具有人類靈活性字形的程序,它必須擁有全人工智能。許多研究人員推測,這可以通過利用神經科學和認知科學研究產生的大量數據,來結合視覺皮層的誘導偏差(inductive biases)來實現。在哺乳動物大腦中,視覺皮層中的反饋連接在分割圖形和環境(figure-ground-segmentation)中發揮作用,并在基于對象的自上而下的注意力中,即使當物體的部分是透明的時候,也會識別出物體的輪廓(說的是主觀輪廓錯覺吧)。視覺皮層中的橫向連接與強制輪廓連續性(enforcing contour continuity)有關。輪廓(Contours)和表面(surfaces)使用相互作用的獨立機制來表示,使得能夠識別和想象具有不尋常外觀的物體——例如冰制椅子。皮質激活時間和地域(timing and topography of cortical activations)提供了關于輪廓表面表征和推理算法(contoursurfacerepresentations and inference algorithms)的線索。這些基于皮質功能的見解尚未納入領先的機器學習模型。

????我們引入一種稱為遞歸皮層網絡Recursive Cortical Network(RCN)的分層模型,該模型將這些神經科學見解納入結構化概率生成模型(structured probabilisticgenerative model)框架。除了開發RCN及其學習和推理算法之外,我們還將模型應用于各種視覺認知任務,這些任務需要從一個或幾個訓練樣例中進行泛化:解析CAPTCHAs,一次(one-shot)和幾次(few-shot)識別以及手寫生成數字,遮擋推理(occlusion reasoning)和場景文本識別。然后,我們將其性能與最先進的模型state of the art models進行了比較。


遞歸皮質網絡(Recursive cortical network)

????RCN以一只重要的方式建立在現有組合模型。盡管基于語法的模型具有基于語言學(linguistics)中眾所周知的優點,但它們要么將解釋限制為單個的樹(single trees),要么在使用歸屬關系(attributed relations)時計算上不可行。關于AND-OR模板(AND-OR?templates)和樹狀成分模型(tree-structured compositional models)的開創性工作(seminal work)具有簡化推理(simplified inference)的優點,但由于沒有橫向約束(lateral constraints)而缺乏選擇性。來自另一個重要類的模型使用橫向約束,但不是通過池化結構逐漸建立不變性(invariance),而是使用參數變換在每個級別進行完全縮放,旋轉和平移不變性。需要自定義推理算法,但這些算法不能有效地將橫向約束的影響傳播出局部交互的范圍。在(37)中,不對輪廓和表面的表征的相互作用建模,而是選擇將它們視為獨立的機制單獨建模。RCN和組合機器Composition Machines(CM)分享將組合模型思想(compositional modelideas)放置在圖形模型公式中的動機。然而,CM的“組合分布”的代表性選擇——使用單層隨機變量來折疊特征檢測,池化和橫向協調——導致擴展的狀態空間,從而將模型約束為貪心推理(greedyinference)和解析處理(parsingprocess)。一般而言,由于表征選擇的變化varied和沖突,組合模型的推理依賴于不同模型實例的定制方,包括求解隨機偏微分方程,基于采樣的算法和修剪動態規劃。

?????RCN將來自組合模型的各種思想——分層組合,不變性的漸進構建,橫向連接選擇性,輪廓表面因子分解和基于聯合解釋的解析——整合并構建到結構化概率圖形模型中,使信念傳播可以用作主要的近似推理引擎。實驗神經科學數據為代表性選擇(representationalchoices)提供了重要指導,然后通過實驗研究證實這是有益的。我們現在討論RCN的表征及其推理和學習算法。數學細節在(33)第2至5節中討論。

表征Representation

????在RCN中,對象被建模為輪廓的組合(圖2A)。輪廓出現在表面的邊界處,包括對象輪廓和構成對象的表面之間的邊界。表面使用條件隨機場Conditional Random Field(CRF)建模,其捕獲表面特性變化的平滑度。輪廓使用特征的組合層次結構建模。輪廓(形狀)和表面(外觀)的因式表示使模型能夠識別具有顯著不同外觀的物體形狀,而無需對每種可能的形狀和外觀組合進行詳盡的訓練。我們現在詳細描述形狀和外觀表征


圖2. RCN結構。(A)物體邊緣和表面分別建模。層級結構生成對象輪廓,條件隨機場(Conditional Random Field,CRF)生成表觀模型。(B)與節點AND node(實心)表示視覺概念的組成成分,或節點OR node(虛心)表示同一語義的不同變化。(C)使用3層RCN對矩形輪廓建模。第二層的與節點(AND?node)用來表示矩形的角,每個角表示為第一層中線條的交匯。(D)使用4層RCN表示字母“A”。


????圖2B顯示了RCN輪廓層次一個級別內的兩個子網(黑色和藍色)。圖中實心和空心的圓形節點分別對應于特征pools二進制隨機變量。每個特征節點對其子池(child pools)的與(AND)關系進行編碼,每個池變量對其子特征的或(OR)進行編碼,類似于與或圖。橫向約束(表示為矩形“因子節點”)協調它們連接的池之間的選擇。兩個子網絡可以對應兩個對象或對象的一部分,共享較低級別的特征。

????圖2C顯示了表示正方形輪廓的三級網絡。底部,中間和頂部的各級特征分別代表線段,整個正方形。每個池變量(pool variable)匯集在“中心”特征的不同變形,少量平移(translations),比例變化等上,從而引入相應的不變性。在沒有池(圖2C中的灰色方塊)之間的橫向連接的情況下,從表示角的特征節點生成會產生未對準的線段,如圖3A所示。

????池之間的橫向連接提供的選擇性,是通過確保一個池中的特征的選擇影響其連接的整個?)池中的特征的選擇來實現的,從而創建輪廓變化更平滑的樣本(samples)。

? ??橫向約束的靈活性通過擾動因子(perturb-factor)來控制,擾動因子是每級指定的超參數(hyperparameter)。通過多層特征池化、橫向連接以及組合,頂層的特征節點來表示一個對象,這個對象可以通過某種程度的平移,縮放和變形不變性來識別?。(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. )


圖3.來自RCN的樣本。(A)有無橫向連接的角部特征的樣本。(B)來自字符“A”的樣本,用于不同的可變形性設置,由池化和橫向擾動因子確定。在類似于圖2D的3級層次中,其中最低級別特征是邊緣。第2列顯示了一個平衡設置,其中可變形性分布在各個級別之間,以產生局部變形和全局平移。其他列顯示了一些極端配置。(C)立方體的表面CRF相互作用(surface-CRF?interaction)的輪廓。綠色因子:前景到背景邊緣,藍色:對象內邊緣。(D)本圖C中立方體形狀的不同表面外觀樣本。


????多對象通過共享它們的部分以相同的形狀層次表示(圖2B)。當多個父節點匯聚于單個子特征(圖2B中的特征節點feature node“e”)時,當任何父節點處于活動狀態(圖形模型l中的與門(OR-gate)時,這將是活動的,并且允許子特征成為子節點的一部分。如果證據允許,父母雙方都不同于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)

美國人能看懂嗎?。。。怎么斷句?

????即使兩個較高級別的特征共享一些相同的較低級別特征和池,這些較高級別特征的橫向網絡也會通過為其參與的每個特定更高級別特征制作較低級別功能的副本而保持獨立(多讀幾遍應該能明白它的意思),如圖2B所示。與成對連接相比,橫向網絡的特定的父節點副本(Parent-specific copies)用于實現更高階的交互,類似于在高階網絡(higher-order networks)中使用的狀態復制機制(state copying?mechanism?)。這也被發現對于消息傳遞很重要,以獲得準確的結果,并且讓人聯想到雙重分解(dual decomposition)中使用的技術。RCN網絡中的層次結構扮演兩個角色。首先,它能夠通過多個層次結構逐漸地表示變形,從而在層間傳播變化量variation(圖3B)。其次,層次結構通過在不同對象之間共享特征來提供效率(42)。這兩者都可以通過共享計算實現有效的學習和推理。

? ??表面使用成對CRF建模(圖3C)。局部表面片屬性(Local surface patch properties?)(如顏色,紋理或表面法線(surface normal))由分類變量(categorical variables)表示,其變化的平滑性由橫向因子(圖2中的灰色方塊)強制執行。輪廓層次生成的輪廓以特定的方式與表面CRF相互作用:輪廓表示著表面連續性的一個斷裂,這種輪廓可以是在對象內(內輪廓)以及對象與其背景之間(外輪廓),這是一種受神經生物學啟發的表征選擇。圖3,B和D顯示了從RCN生成的樣本。


推理(Inference)

????為了解析場景,RCN在平鋪場景的多個位置,維持多個對象實例的分層圖。可以通過該復雜圖上的最大后驗概率估計(MAP)(maximum?a?posteriori)推斷來獲得場景的解析,其解釋了包括對象身份及其分割的最佳聯節配置。雖然RCN網絡有許多循環,但我們發現消息傳遞,其時間表受到視覺皮層激活時間的激發,導致快速準確的推斷。輸入圖像首先通過預處理(PreProc),使用一組Gabor類濾波將像素值轉換為邊緣似然。然后使用在網絡中傳遞的前向和后向消息來識別對應于對象假設(object hypotheses)的部分分配(Partial assignments),并且通過解決對象假設圖上的場景解析問題,來找到完整的近似最大后驗概率估計(MAP)解決方案(圖4)。前向傳遞給出了頂層節點的對數概率的上限。后向傳遞逐個訪問高得分的前向傳遞假設,這個方式類似于自上而下的關注過程,該方式有個條件推斷:假設所有其他節點都關閉,目的是為了找到近似MAP對象的配置(圖4A)。后向傳遞可以推翻許多在前向傳遞中識別錯誤了的對象假設。


圖4.RCN推理和學習算法。(A) (i)通過前向傳遞,包括側連接傳遞,生成字符假設。這里預處理(PreProc)是一類Gabor算子,生成像素上的邊界概率。(ii)反向傳遞和側連接傳遞從之前的假設中選取了“A”。(iii)“A”和“K”之間產生了一個錯誤的假設“K”,可以通過上下文解析消除錯誤假設。(iv)多個假設聯合解釋了圖中的字母,包括對分離、遮擋的推理。(B)第二層上的特征學習。著色圓圈代表激活的特征,虛線圓圈代表最終選取的特征。(C)從邊緣的相鄰結構中學習側連接。

????全局MAP(最大后驗概率估計)配置是前向和后向傳遞生成的所有對象假設的子集。場景中的對象數量被推斷為此MAP解決方案的一部分。除了要在數量以指數(exponentially)增長的子集中搜索之外,找到全局MAP還需要推斷出不同假設之間的高階交互。我們開發了一種近似動態規劃(DP)(dynamic?programming)的方法,可以在線性時間內解決這個問題。DP算法利用每個對象假設占據連續區域的事實,該連續區域可以在輸入圖像上表示為2d掩模(mask)。通過考慮在其2d掩模重疊時產生空間連續掩模的對象假設的組合,我們通過根據包含在其他掩模中的掩模對它們進行排序來創建解析的拓撲排序。這導致得分的遞歸計算,其在搜索最佳解析時僅需要評估線性數量的候選解析。


學習(Learning)

????直到網絡的倒數第二級(penultimate?level)的特征和橫向連接都是在無人監督的情況下使用通用3D對象數據集進行訓練,該通用3D對象數據集是任務不可知的并且僅被渲染為輪廓圖像。由此產生的學習特征從較低級別的簡單線段到較高級別的曲線和角。

????考慮一個部分學習模型,其中在第k層學習到了新特征。在第k層中,到達第k-1層的特征已經被學習并最終確定,并且在第k層已經學習了一些特征(圖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又是和那個部分并列?有人知道嗎?)

????當呈現訓練圖像時,第一步是使用第k層處的現有特征為該圖像的輪廓查找MAP解釋。這與前面描述的為場景找到MAP解決方案的推理問題相同。使用第k-1層的特征解析仍然無法解釋的輪廓,并從它們的輪廓連續連接(contour-continuous conjunctions)中提出新特征。對所有訓練圖像重復該過程,累積對級別k處的不同特征的使用的計數,并且通過優化平衡壓縮(balances?compression)和重建誤差(reconstruction error)的目標函數(objective function)來選擇該級別的最終特征(31)。同一過程逐級(level-by-level)重復。

????橫向圖結構,是從輸入圖像的輪廓連通性(contour?connectivity)中學習,指定池對(pool pairs)之間的連通性(connectivity)。在第一個池化層,具有在輸入輪廓中相鄰的特征的池彼此連接。在層次結構中遞歸地重復該過程,其中較高層的橫向連接是從較低層圖中的鄰接(adjacency)推斷的。

????最頂層的特征代表整個對象。這些是通過找到直到網絡倒數第二級(penultimate level)的新對象的MAP配置而獲得的:根據輸入對象的輪廓連續性在倒數第二級連接池對(pool pairs),然后在倒數第二級存儲激活的連接(conjunction of activations)作為最頂層特征。

????一旦訓練了一組較低級別的特征和橫向連接,就可以通過調整一些超參數(hyper-parameters)來將它們用于不同的域(domains)。根據圖像和對象大小選擇預處理(PreProc)中的濾波器比例,并設置橫向連接的靈活性以匹配數據中的失真(distortions)。另外,最低級別特征具有“平滑參數”(smoothing parameter),這個參數設置是用來估計由于噪聲導致邊緣像素開啟(ON)的可能性 ??梢愿鶕蛑械脑肼暭墑e設置此參數。


結論(Results)

????如果CAPTCHA數據集超過1%被自動解決,則認為CAPTCHA測試被擊破。RCN用很少的訓練數據就能擊破各種基于文本的CAPTCHAs,并且不使用CAPTCHA特定啟發式方法(圖5)。它能夠以66.6%的準確率來解決reCAPTCHAs問題,(字符級準確度為94.3%),在BotDetect生成的測試集上為64.4%,Yahoo上為57.4%和PayPal上為57.1%,遠遠高于破解CAPTCHAs問題僅需的1%成功率。不同CAPTCHA任務中架構的唯一區別是用于訓練的純字體集(sets of clean fonts)和一些超參數(hyper-parameters)的不同選擇,這些參數取決于CAPTCHA圖像的大小以及雜波(clutter)和變形(deformations)的數量。這些參數可以直接手動設置,也可以通過帶注釋的CAPTCHA集上的交叉驗證(cross validation)自動調整。來自CAPTCHA的嘈雜(Noisy),混亂(cluttered)和變形(deformed)的例子沒有用于訓練,但RCN在泛化這些變化方面是有效的。


圖5.用RCN解析CAPTCHA。(A)展示了有代表性的reCAPTCHA驗證碼的前兩個解決方案、對應字母的分割以及它們的標簽,它們由兩個不同的亞馬遜標記平臺工人完成(Amazon Mechanical Turk,專門幫別人標記數據的)?(B) RCN和CNN在控制CAPTCHA數據集上的字詞準確率。當字符間距改變時,CNN非常脆弱,而RCN依然健壯(robust)。(C)不同CAPTCHA樣式的準確度。(D)有代表性的BotDetect解析和分割(由不同的顏色表示)。

????對于準確率為66.6%的reCAPTCHA解析,RCN里每個字符只需要五個純凈的訓練樣例(clean training examples)。該模型使用三個參數來影響單個字符如何組合在一起以讀出一串字符,這些參數都與CAPTCHA的長度無關,并且對字符間距很穩健 [圖5B]。除了獲得CAPTCHA轉錄(transcription)外,該模型還提供對單個字符的高度準確的分割,如圖5A所示。相比之下,reCAPTCHA的人類準確率為87.4%。由于許多輸入圖像具有多種有效解釋(圖5A),因此來自兩個人的解析僅時間內達成在81%的一致(agree?only?81%?of?the?time)。

????與RCN相比,最先進的CNN需要大約50,000倍的實際CAPTCHA字符串訓練集,并且對輸入的擾動(perturbations)不太穩健。由于CNN需要大量標記示例,因此該對照研究(control study)使用我們創建的CAPTCHA生成器來模擬reCAPTCHAs的外觀。該方法使用了一組特定位置的CNN,每個CNN都經過訓練以區分特定位置的字母。訓練該CNN以實現89.9%的單詞準確率,需要超過230萬個獨特訓練圖像,用已翻譯詞句(translated crops)進行數據增加(data?augmentation),從79,000個不同的CAPTCHA單詞創建。由此產生的網絡在訓練期間不存在字符串長度(string lengths)失敗,更重要的是,網絡的識別準確性迅速惡化,甚至對人類幾乎感覺不到的字符間距產生微小擾動——間距增加15%精度降低到38.4%,間距增加25%精度降低到7%。這表明深度學習方法學會利用特定CAPTCHA的細節而不是學習隨后用于解析場景的字符模型。對于RCN,增加字符的間距可以提高識別精度(圖5B)。

????BotDetect中各種各樣的字符外觀(圖5C)說明了為什么輪廓和表面的分解很重要:沒有這種分解的模型會鎖定(latch)字體的特定外觀細節,從而限制了它們的泛化。RCN結果基于對來自BotDetect的10種不同風格的CAPTCHA測試,所有這些都基于每個字符做24個訓練示例訓練的單個網絡進行解析,并且在所有樣式中使用相同的解析參數(parsing?parameters)。盡管BotDetect CAPTCHA可以僅使用輪廓信息進行解析,但使用外觀信息可以將準確率從61.8%提高到64.4%,在所有數據集中使用相同的外觀模型。

????在標準的MNIST手寫數字數據集中,RCN在一次性(one-shot)和幾次(few?shot)分類任務上的表現優于其他模型。我們比較了RCN在MNIST上的分類性能,因為我們將每個類別的訓練樣例數從1改為100。CNN與兩種最先進的模型進行了比較,即LeNet-5和VGG-fc6 CNN,其級別使用數百萬張圖像進行ImageNet分類預訓練。選擇VGG-CNN的全連接層?fc6進行比較,因為與其他預訓練水平的VGG-CNN相比,它為此任務提供了最佳結果,并與使用相同數據集和邊緣預處理(edgepre-processing)為RCN的其他預先訓練的CNN進行了比較設置。此外,我們還比較了最近報告的關于此任務的最新表現的成分補丁模型(Compositional PatchModel)。RCN的表現優于CNN和CPM。RCN的one-hot識別性能(one?shot?recognition?performance)為76.6%,CPM為68.9%,VGG-fc6為54.2%。RCN對于在測試期間引入的不同形式的雜波(clutter)也很健壯,而不必在訓練期間對網絡訓練那些變換(transformations)。相比之下,這種樣本外的測試實例(out-of-sample test?examples)對CNN的泛化性能具有很大的不利影響(圖6B)。為了分清橫向連接,正向傳遞和反向傳遞對RCN準確性的貢獻,我們進行了選擇性地關閉這些機制(mechanisms)的病變研究(lesion studies)。結果總結在圖6C中,表明所有這些機制對RCN的性能有顯著貢獻。具有兩級特征檢測和池化的RCN網絡足以在字符解析任務上獲得最佳的準確性性能。增加層次結構中層次數的效果是減少推理時間。


圖6.用個別樣本訓練的MNIST分類結果。(A) RCN,CNN和CPM的MNIST分類準確度。(B)損壞的MNIST測試的分類準確性。插圖顯示訓練樣本總數。(C)不同RCN配置的MNIST分類精度。

????作為生成模型,RCN在重建損壞的MNIST圖像時優于變分自動編碼器(VAE)(Variational?Auto?Encoders)和DRAW(圖7,A和B)。DRAW對于純凈測試集(clean test set)優于RCN的優勢并不令人驚訝,因為DRAW正在學習一種過于靈活的模型,該模型幾乎在重建中復制輸入圖像,這會在更混亂的數據集(cluttered?datasets)上損害其性能。在Omniglotdata在線語言文字百科數據上,一次訓練(one-shot training)后從RCN生成的示例顯示出顯著變化,同時仍然可以識別為原始類別[圖7D]。


圖7.用RCN進行生成,遮擋推理和場景文本解析。在損壞的MNIST數據集上,RCN、VAE和DRAW的圖像重建(A)和重建誤差(B)。插圖顯示了訓練樣本數量。(C)遮擋推理。第三列說明了RCN解釋第一個檢測到的對象邊緣后,保留的邊緣。標準答案掩模(Ground-truth masks)反映了正方形和數字之間的遮擋關系。正方形前面的數字部分用棕色表示,正方形后面部分用橙色表示。最后一列顯示了預測的遮擋掩模。(D)Omniglot一次性生成。在每列中,第1行顯示訓練樣本,其余行顯示生成樣本。(E)RCN成功解析ICDAR圖像樣本。黃色輪廓顯示分段。

????為了測試遮擋推理(occlusion reasoning),我們通過在每個驗證(validation)/測試(test)圖像中添加一個矩形來創建MNIST數據集的變體,使得數字的某些部分被矩形遮擋,并且矩形的某些部分被數字遮擋[圖7C]。這些圖像中的遮擋關系不能推斷為一個對象在另一個對象前的簡單分層。對該數據集的分類具有挑戰性,因為數字的許多部分被矩形遮擋,并且因為矩形行為雜亂。如果檢測到并分割出矩形,則可以使用RCN生成模型解釋其對特定數字的證據的影響,從而提高分類和分割的準確性。RCN在這個具有挑戰性的數據集上進行了分類準確性和遮擋推理的測試。無解釋的分類準確率為47.0%。解釋矩形可將分類精度提高到80.7%。另外,RCN用于通過推理矩形和數字之間的遮擋關系來解析場景。該模型成功地預測了測試圖像的精確遮擋關系,如圖7C所示,獲得了在遮擋區域上測量的0.353的平均交會(IOU)(intersection over?union)。

????最后,RCN在ICDAR-13穩健讀數數據集(Robust Readingdata set)上進行了測試,這是現實世界圖像中文本識別的基準(benchmark)(圖7E)。對于此測試,我們增強了解析算法,以包括有關n-gram和單詞統計的先驗知識,以及與場景中字母布局相關的幾何先驗(geometric priors),包括間距(spacing),相對大?。╮elative sizes)和外觀一致性(appearance consistency)。我們將我們的結果與ICDAR競賽的最高參與者以及最近的深度學習方法進行了比較(表1)。盡管PhotoOCR使用了790萬個訓練圖像,但RCN模型的表現優于頂級競爭者PhotoOCR 1.9%,而RCN使用了來自25,584個字體圖像的基于模型的聚類(model-based?clustering)選擇的1,406個訓練圖像。除了提供競爭方法無法提供的字符的詳細分段(圖7E)外,RCN在此任務上實現了更高的準確性,同時數據利用率(data?efficient)提高了300倍。



表1. ICDAR-13魯棒讀數數據集上不同方法的訓練圖像的準確度和數量。


討論(Discussion)

????分段阻抗(Segmentation resistance)是基于文本CAPTCHA的主要防御,它是實現自動生成的一般原則。盡管在用特定樣式的分段啟發式法(style-specific segmentation?heuristics)前已經破壞了特定CAPTCHA,但這些攻擊可以通過對CAPTCHA的微小改動而輕易地被挫敗。RCN以一種基本方式打破了分段防御,并且只有非常少的訓練數據,這表明網站應該采用更強大的機制來阻止阻抗AI程序。

????成分模型(Compositional models)過去已成功用于通用對象識別(generic object recognition)和場景解析(scene parsing),我們的初步實驗表明RCN也可適用于這些領域(圖8)。RCN公式為在圖形模型中開發更廣泛的高級推理和學習算法打開了組合模型,可能導致在現實世界場景解析中基于其先前成功的改進。盡管作為生成模型的優勢,RCN需要若干改進才能在ImageNet規模數據集上實現卓越性能。靈活地合并多個實例,在前向和后向推理期間在層次結構的所有級別使用表面外觀,學習通過3D變形池化更復雜池化結構(sophisticated pooling structures),以及場景上下文和背景的生成建模需要調查并與RCN整合的問題。


圖8.解析有對象場景的RCN應用。示出了當RCN應用于具有隨機背景上的雜亂場景中的多個真實世界對象的場景解析任務時獲得的檢測和實例分割。我們的實驗表明RCN可在文本解析外進行推廣。

????與CNN和VAE等全圖像模型(whole-image models)相比,RCN的數據利用率高源于RCN在其結構中對強假設(strong assumptions)做編碼的事實。最近的神經網絡模型使用空間關注窗口(spatial attention?window)結合了組合性的想法,但是它們的當前實例需要在整潔的設置(uncluttered setting)中良好地分離對象,因為每個關注窗口使用整個圖像VAE建模。將RCN的對象和基于部分的組合性(part-based compositionality)結合到神經網絡模型中將是一個有趣的研究方向。與神經網絡不同,當前版本的RCN學習算法需要干凈的訓練數據,這是我們打算使用基于梯度的學習(gradient based learning)以及基于消息傳遞方法(message?passing based approaches)解決的一個弊端(drawback)。

????將RCN與貝葉斯程序學習(BPL)(Bayesian ProgramLearning)相結合是未來調研的另一種途徑。BPL具有精確建模順序因果機制(sequential?causal mechanisms)的優點,例如Omniglot數據集中的筆劃生成,但其推斷取決于輪廓與背景分離——RCN可以輕松提供。更一般地,可以組合BPL和類RCN圖形模型(RCN-likegraphical models)以獲得模擬涉及感知(perception)和認知(cognition)的并行和順序過程所需的表達能力和有效推斷。

????當然,Douglas?Hofstadter的挑戰——理解具有相同效率和靈活性的字形——仍然是人工智能的宏偉目標。當人們識別字形時,人們會以上下文敏感和動態的方式使用更多常識知識(圖1C,iii)。我們的工作表明,結合系統神經科學的歸納偏差(inductive?biases)可以產生強大、可泛化的機器學習模型,展示出高數據效率。我們希望這項工作能夠激發改進的皮層電路模型(cortical?circuits)以及將神經網絡和結構化概率模型(structured?probabilistic?models)的功能與通用人工智能系統(general?artificia?lintelligence?systems)相結合的研究。

方法總結Methods summary

????對于reCAPTCHA實驗,我們從google.com的reCAPTCHA頁面下載了5500個reCAPTCHA圖像,其中500個用作參數調整的驗證集,并在剩余5000個上報告準確度數字。圖像按2倍因子放大了比例。通過與本地系統上可用字體的視覺比較,識別出格魯吉亞(Georgiare?CAPTCHA)中使用的類似字體。RCN接受了這種字體的小寫和大寫字符的幾次旋轉訓練。使用驗證集優化超參數。使用亞馬遜標記平臺(AMT)(AmazonMechanicalTurk)工人估算reCAPTCHA數據集的人工準確性。

????使用Image-Magick創建用于訓練神經網絡進行對照實驗(control experiments)仿真reCAPTCHA數據集,以產生與原始reCAPTCHA定性相似的失真(distortions)。仿真數據生成器用作無限制源(unlimited source),以生成用于訓練神經網絡的隨機批次。神經網絡優化運行了80期(epochs),其中數據在每期開始時被置換(permuted);通過每期每個基本方向(cardinal?direction)上最多5像素的隨機翻譯來增強數據。類似方法用于BotDetect,PayPal和YahooCAPTCHAs。對于BotDetect,我們下載了每個CAPTCHA樣式50-100個圖像的數據集,用于確定解析參數和訓練設置,另外100個圖像作為未調整網絡的測試數據集。作為系統的訓練圖像,我們通過直觀地比較BotDetect CAPTCHAs的幾個示例,從系統中可用的那些中選擇了一系列字體和比例。BotDetect測試圖像按1.45倍的因子重新調整。使用驗證集優化解析參數,并通過分別適配(adapting)每種樣式的參數來測試解析參數的可轉移性,然后在其他樣式上測試這些參數。

????為了訓練RCN解析ICDAR,我們從谷歌字體中獲得了492種字體,產生了25584個字符的訓練圖像。由此我們使用自動貪婪字體選擇方法(automated?greedy?font?selection?approach)選擇了一組訓練圖像。我們為所有字體渲染了二進制圖像,然后使用相同字母的結果圖像來訓練RCN。然后,該RCN用于識別其訓練的精確圖像,為相同字母的所有字體對提供兼容性分數(compatibility?score)(在0.0和1.0之間)。最后,使用閾值threshold(=0.8)作為停止標準,我們貪婪地選擇最具代表性的字體,直到所有字體的90%被表示,這導致776個獨特的訓練圖像。使用630個單詞圖像訓練解析器,并使用來自維基百科Wikipedia的單詞訓練字符。

????對MNIST數據集的RCN分類實驗是通過將該圖像按4倍因子上采樣(up-sampling)來完成的。對于每個訓練設置,使用旋轉的MNIST數字的獨立驗證集來調整模型的兩個池化超參數(pooling hyperparameters)。作為基線的一部分,探索了幾種預訓CNN的方法。為了理解網絡在嘈雜的MNIST數據上的性能,我們創建了六種噪聲變體,每種變體具有三個嚴重級別levels of severity。對于遮擋推理o,RCN網絡訓練有11個類別:10個MNIST數字類別帶20個類別示例,和矩形環類別(rectangularring?category)帶一個例子。在MNIST數據集上的重建實驗使用僅在干凈的MNIST圖像上訓練的網絡,然后測試6種不同噪聲變體的均方重建誤差,每種噪聲變化具有3個嚴重級別。

源碼:https://github.com/vicariousinc/science_rcn

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內容