人類與機器博弈下,為何驗證碼越來越難了?
大數據文摘出品
來源:theverge
編譯:吳瑕
谷歌、新浪的登錄頁面一直以來都在要求人們證明自己是人類,最近,這樣的考題更是來勢洶洶。
那個原本十分可愛的“我不是機器人”按鈕,追加了越來越多證明不是機器人的要求——在一系列圖像中選出含有交通燈、人行道和店面的圖片。很快,交通燈被遠處的樹葉遮蓋了,人行道變得彎曲并且會有一半消失在拐角處,店面的招牌也被模糊處理并換成了韓文。特別是像12306這樣的購票網站出現的驗證碼堪比連連看,每年都能難倒一大批登錄者。
這些測試被稱為CAPTCHA,是Completely Automated Public Turing test to tell Computers and Humans Apart(區分電腦和人的完全自動化公共圖靈測試)的首字母縮寫,這些測試水平早前就已經達到了不可思議的高度。
在21世紀初,簡單的文字圖片就足以讓大多數垃圾郵件程序束手無策。但是十年后,當谷歌從卡內基梅隆大學的研究人員那里購買了這個程序,并用來使谷歌圖書(Google Books)實現數字化時,文本就必須變得越來越扭曲和模糊,以便保持領先于改進的光學字符識別程序(所有參與CAPTCHA測試的人都在間接地幫助改進此程序)。
這就是人類與機器博弈的終局。
由于驗證碼是一個十分優雅的人工智能訓練工具,所以任何給定的測試都只能是暫時的,驗證碼的發明者從一開始就承認了這一點。在人們研究人工智能應用的初期,許多研究人員、騙子和普通人解決了數以億計的謎題,當時機器似乎將要超越人類。2014年,為解決最扭曲的文本驗證碼問題(驗證時,計算機的正確率為99.8%,而人類的正確率僅為33%),谷歌用一種機器學習算法與人類進行了一場對決。
隨后谷歌轉向NoCaptcha ReCaptcha方式,通過觀察用戶數據和行為,讓部分人通過點擊“我不是機器人”按鈕通過驗證,而要求另一些人進行我們今天看到的圖片驗證。但機器再次迎頭趕上。那些遮陽棚到底是不是商店?這就是人類與機器博弈的終局。
伊利諾斯大學芝加哥分校(University of Illinois at Chicago)的計算機科學教授杰森·波拉基斯(Jason Polakis)認為驗證碼難度的增加是由個人信貸導致的。2016年,他發表了一篇論文,文中使用現成的圖片識別工具(包括谷歌自己的反向圖片搜索工具)去解決谷歌的圖像驗證問題,準確率達到70%。還有一些研究人員用谷歌自己的音頻識別程序,在谷歌的驗證碼挑戰中取得了突破。
波拉基斯指出,在基本的文本、圖像和聲音識別任務上,機器學習如今已經能達到與人類一樣的水平。事實上,算法可能比人類更擅長此類任務。“如今正處在這樣一個階段:為軟件增加難度,最后會讓很多人覺得難度太大。我們需要一些替代方案,但還沒有具體的計劃。
如今驗證碼測試存在的問題并不一定是機器人太聰明,而是人類做得太差勁了
關于驗證碼的文獻從一開始就是錯的,而且還在進行著奇怪的嘗試,尋找除文本或圖像識別(這些方面人類普遍擅長,機器卻很難識別)之外的方式。研究人員曾嘗試讓用戶根據面部表情、性別和種族對人的圖像進行分類(不難想象,人們在這方面做得很好)。有人提議使用瑣碎的驗證碼,以及基于用戶成長地區常見童謠的驗證碼。這種文化驗證碼針對的不僅是機器人,還有在海外驗證碼農場工作的人,讓他們用不到一分錢的代價來解決難題。人們嘗試用各種方法增加圖片識別難度,比如讓用戶識別豬,但把豬做成卡通樣式,并給豬戴上太陽鏡。研究人員還嘗試要求用戶魔術眼狀斑點圖中的物品。此外,還有一個有趣的驗證碼變種,研究人員在2010年提出使用驗證碼來索引古代巖畫,因為計算機不太擅長解讀洞穴壁畫上的馴鹿的示意草圖。
最近還有人在嘗試開發游戲類驗證碼,通過要求用戶旋轉物體到特定角度或將拼圖塊拖至正確位置,所給出的指示不是文字形式而是符號形式,或游戲板的背景暗示。人們希望人類可以理解拼圖的邏輯,但在沒有明確指示的情況下,計算機會被難住。其他一些研究人員試圖利用人類擁有身體這一事實,通過設備攝像頭或增強現實技術進行互動,證明人類的存在。
這些驗證碼測試存在的問題并不一定是機器人太聰明,而是人類做得太差勁了。這并不是說人類愚蠢,而是因為人類在語言、文化和經歷上存在多種差異。一旦你脫離所有這些東西,去制作一個任何人不需要事先訓練或思考都能通過的測試,那就只能選擇像圖像處理這樣的不用動腦的任務,而這樣的任務正是為人工智能量身定做的。
怎樣才能區分人和機器?
波拉基斯表示:“驗證碼測試受到人類能力的限制,除了身體上的能力外,還需要一些(能夠)跨文化跨語言的東西,需要一些通用的驗證方式,讓希臘、芝加哥、南非、伊朗和澳洲人都能通過驗證。” 而這樣的驗證方式必須獨立于文化的復雜性和差異性之外。我們需要設置的是對一般人來說很容易的驗證方式,不應該局限于特定的人群,但這樣的驗證方式對計算機來說還必須是困難的。我們實際能做的事情是非常有限的,而這樣的事還必須是人類能夠快速完成的,而且不會令人心煩。”
要搞清楚如何解決這些模糊圖像驗證問題,就要進入到哲學領域:什么樣的人類共性,可以向機器展示,但沒有機器可以模仿?人類到底是什么?
不過,或許我們的人性不是通過如何完成一項任務來衡量,而是通過我們如何在這個世界上的移動軌跡——或者在互聯網中的移動軌跡來衡量的。Shuman Ghosemajumder曾在谷歌負責打擊點擊詐騙,后來成為了機器人檢測公司Shape Security的首席技術官,他認為,無論你設計的是游戲驗證碼、視頻驗證碼或者任何其他類型的驗證碼測試,最終都會以失敗收場。比起測試,他更喜歡“持續認證”,即觀察用戶的行為并尋找自動操作的跡象。” Ghosemajumder指出:“一個真正的人,無法很好地控制自己的運動機能,所以無論人們如何努力嘗試,他們都無法在多次交互中多次以同樣的方式移動鼠標。” Ghosemajumder表示,機器人不需要移動鼠標就能與頁面進行交互,或者能夠精確地移動鼠標,而人類的行為具有難以模仿的“熵”。
谷歌自身的驗證碼團隊也在思考類似的問題,去年年底發布的最新版本reCaptcha v3,使用“自適應風險分析”,根據看起來可疑的程度對信息流量進行評分,然后,網站所有者可以選擇對粗選出來的用戶進行驗證,比如要求其填寫密碼或進行雙重認證。驗證碼團隊的產品經理Cy Khormaee表示,谷歌不會公布影響評分的因素,但谷歌會觀察一個網站上的“良好流量”的特征,然后用這些特征來檢測“糟糕流量”。安全研究人員表示,谷歌可能會綜合運用信息記錄程序(cookie)、瀏覽器屬性、流量模式和其他因素進行評分。新型機器人檢測方式的一個缺點是,它會導致人們瀏覽網頁時無法擺脫被監視感,因為虛擬專用網和反跟蹤擴展程序的使用可能會讓你被標記為可疑或有威脅。
谷歌驗證碼團隊的工程主管Aaron Malenfant指出,放棄圖靈測試是為了回避人類不斷輸掉的競爭。“隨著人們在機器學習上投入的資金越來越多,這類挑戰對人類來說將會變得越來越難,這就是我們推出CAPTCHA V3的原因,為了走在這條曲線的前面。” Malenfant 指出,5到10年后,驗證碼挑戰可能會變得完全不可行。然而,很多網站后臺將會運行恒定、隱秘的圖靈測試。
布萊恩·克里斯汀(Brian Christian)在所著的The Most Human Human一書中,作為人類替身參加了圖靈測試比賽,他發現在交談中要證明你的人性是相當困難的。另一方面,機器人制造商發現更容易通過測試的不是口才最好、最有智慧的健談者,而是用不合邏輯的笑話回避問題、拼寫錯誤的人,或者像2014年圖靈競賽中獲勝的機器人那樣,自稱是一名英語很差的13歲烏克蘭男孩。
畢竟,人孰能無過。驗證碼作為世界上使用最廣泛的圖靈測試,可能也會面臨類似的未來。這是一場新的軍備競賽,這不是為了創造出在圖像標記和文本解析方面超越人類的機器人,而是為了制造出會出錯、會錯過按鈕、會分心、會切換標簽的機器人。Ghosemajumder說:“我想人們已經意識到有一種應用程序可以模擬普通人類用戶或者愚蠢的人類用戶。”
驗證碼測試可能也會在這個世界上繼續存在。亞馬遜在2017年獲得了一項方案專利,該方案涉及視覺錯覺和人類難以破譯的邏輯謎題。通過失敗響應圖靈測試,唯一通過的方法就是給出錯誤答案。
相關報道:
https://www.theverge.com/2019/2/1/18205610/google-captcha-ai-robot-human-difficult-artificial-intelligence
【本文是51CTO專欄機構大數據文摘的原創譯文,微信公眾號“大數據文摘( id: BigDataDigest)”】