如何證明你是人類,而不是機器人?_風聞
中国人工智能学会-中国人工智能学会官方账号-CAAI2019-07-10 07:34
天天輸驗證碼,你知道它是用來幹什麼的嗎?
你相信,驗證碼能夠辨別出**“你是人類還是機器人”**嗎?
在登錄某個賬號的時候輸入驗證碼,已經成為再平常不過的事情了。不過不少網友抱怨,現在的驗證碼真是設置得越來越刁鑽了。
不好意思這個字符我真的看不懂
比如,鐵道部購票官網 12306 的購票圖形驗證碼,在 2015 年更新之後引發了全網大吐槽。不僅過濾掉了搶票工具,還有那些摸不着頭腦的正常用户。**路漫漫其修遠兮,吾將上下找扳手與海豹。**等下,扳手長啥樣?海豹還是海報?
驗證碼你好,你已成功打敗全國 99% 的用户
網友們也忍不住自己製作一套高難度驗證碼。驗證碼的能力,超乎你想象!
國外的網友也遭遇過類似的經歷,紛紛調侃——請在下列圖中選擇出“時尚達人”或“糖尿病患者”。這是在考驗審美?還是讀懂微表情?
我放棄登錄
這些彷彿是在搞笑的驗證碼經常讓網友們做到懷疑人生:我是誰?我在哪兒?我為啥要填驗證碼?
這些測試被稱為 CAPTCHA,“Completely Automated Public Turing test to tell Computers and Humans Apart”的縮寫,意為**“區分計算機和人類的完全自動公共圖靈測試”,這個名詞看起來極其科幻又神秘,但通俗的説法就是“驗證碼”**。
它的誕生可以追溯到上世紀末,當時黑客非常猖狂,他們創造了一種能夠大量重複編寫信息的程序,偽裝成人類用户,肆無忌憚地朝網絡上傾倒 “殭屍”信息,垃圾郵件、垃圾廣告、垃圾評論氾濫成災。還有程序機器人惡意破解密碼、惡意刷票,嚴重損害商家和消費者的利益。
電子郵件提供商 Yahoo(雅虎)公司為了解決垃圾郵件的問題,找到了卡內基梅隴大學的學生路易斯·馮·安。2002 年,路易斯·馮·安的 CAPTCHA 驗證碼應運而生,贏得了眾多網民的鮮花與掌聲。2009 年,谷歌收購 CAPTCHA,將它應用在谷歌圖書的數字化上。
驗證碼的發明者路易斯·馮·安
但是隨着技術的發展,機器迎頭趕上,CAPTCHA 面臨新的問題。2014 年,谷歌讓一種機器學習算法與人類進行了對抗,雙方需要辨識一套極度失真的文本 CAPTCHA。結果是,計算機完成了 **99.8%**的測試,而人類僅完成了 33%。這就很尷尬了,機器人沒被排查出去,真實用户倒是被攔截得死死的。
隨後,谷歌對此進行了改進,升級版就是現在我們常見到的reCAPTCHA。它的運行方式是什麼樣的呢?
首先網頁中會顯示出一個勾選的方框和一句 **“I’m not a robot(我不是機器人)”**的字符。用户點擊方框確認後,谷歌會用“風險分析引擎” 對該用户進行無縫分析。
如果檢測結果正常,則該用户可以順利進入網站或賬户。但如果檢測結果異常,比如使用了 VPN 的用户就容易被認作是 “惡意機器人” ,該用户便會經歷一個識別驗證的過程,即按照要求在圖像網格中選出目標物體。這個過程對於機器人來説,還是比較困難的。
reCAPTCHA的常見形式
但是局勢再次反轉。2016 年,伊利諾伊大學芝加哥分校的計算機科學教授 Jason Polakis,發表的一篇論文再次打破了谷歌的“圍牆”。他使用現成的圖像識別工具,包括谷歌自己的反向圖像搜索,以 70% 的準確度解決谷歌的圖像驗證碼。與之相似,還有其他研究人員使用谷歌的音頻識別程序完成了谷歌的音頻 CAPTCHA 挑戰。
Polakis 表示,在基本的文本,圖像和語音識別任務中,現在的機器已經擁有等同於人類的學習能力,甚至算法可能更好。而對於谷歌來説,自家程序打敗自家 CAPTCHA,其內心苦悶可想而知。難道就沒有一套合適的方案嗎?
CAPTCHA 的研究歷程中,有着各種各樣奇怪的嘗試,以及悲慘的失敗。研究人員為了尋找某些人類普遍擅長,但機器不會的東西,而煞費苦心。
扭曲的字符CAPTCHA
他們設置出了一種 CAPTCHA,讓用户通過面部表情、性別和種族對人物圖像進行分類;或是基於當地的童謠和民俗來設計 CAPTCHA,但是這種文化類的CAPTCHAs 帶有滿滿的地域歧視的“惡意”——不僅針對機器人了,還針對了在不瞭解該地區的人類。
再或是採用“阻礙圖像識別”,例如要求用户識別出小豬,但這些小豬可能被製作成卡通形象,或佩戴了太陽鏡;更高難度的是,他們要求用户從眼花繚亂的 Magic Eye(如斑點圖陣)裏,識別出物體或字符。
眼花繚亂的Magic Eye,暈了
如果以上方法都不能解決問題,那麼還有這些——
遊戲類的 CAPTCHA 也已加入戰鬥,這種驗證需要用户將物體旋轉到某個角度或將拼圖塊移動到位,“遊戲指令”可以用文本給出,或者更高級一點,以符號和遊戲板的上下文來暗示。還有的研究人員試圖使用相機設備或 AR,來進行交互式證明,比如按照指令做個奇怪的姿勢或表情什麼的。想登錄郵箱,先齜牙咧嘴一下。
B站用户登錄時的拼圖驗證
研究員絞盡腦汁也沒辦法完完全全阻擋住機器人前進的腳步。事實上,許多測試所存在的問題,並不一定是機器人太聰明瞭。從某種角度理解,這聽起來更像是人類對它們的嘲諷。
事實上,人類在語言,文化和經驗方面具有極大的多樣性,如果忽視這一關鍵,去製作測試,就會生產出如圖像處理這樣的粗暴任務。而這種任務正是機器人,或是 AI,將會愈加擅長處理的事情。
1950 年,計算機科學之父艾倫·麥席森·圖靈,發明了圖靈測試——測試者與被測試者(一個人和一台機器)隔開的情況下,測試者通過一些裝置(如鍵盤)向被測試者隨意提問,並輪番更換測試者。多輪測試中,機器需要“矇蔽”**30%**的人類測試者才能通過,並被認為具有人類智能。
2014 年,機器人假扮成了一名英語很差的 13 歲烏克蘭男孩尤金·古斯特曼(Eugene Goostman),參加了圖靈測試。結果,它成功騙過了 33% 的人類測試者,首次通過了圖靈測試。這個事件震驚全球,但也並不能成為機器人完勝的鐵證。畢竟,裁判們只有幾分鐘時間進行測試,如果時間加長,他們很有可能會發現真相。而圖靈測試最原始的法則,在當下也不能夠完全適用了。
假扮烏克蘭男孩的機器人尤金·古斯特曼
儘管圖靈測試存在弊端,但仍被不少人奉為檢驗機器是否具有智能性的終級標準。現如今 CAPTCHA 成為圖靈測試最為廣泛的應用,儼然成為了人類與機器的重要競爭項目。
2017 年,潮牌 Supreme 的官網為了對搶貨機器人進行管制,啓用了 reCAPTCHA,似乎從此往後 Supreme 的粉絲們將會擁抱一個公平的購物環境。但是道高一尺魔高一丈,就在 reCAPTCHA 上線的幾個小時後,某 Supreme 專用機器人網站就向官方下了“挑戰書”。他們高調地宣佈,已開始研究 reCAPTCHA 的破解方案,並將破解工具命名為 2CAPTCHA,僅售價 5 美元。你的艱辛努力,我 5 美元就讓它付諸東流!
來呀,battle呀
除了 Supreme,Nike、Adidas 等品牌都在與搶貨機器人的鬥爭中,苦苦掙扎。但機器人的攻勢絕不僅侷限在消費領域,他們在科學界也得意地舉起了勝利的大旗。
也是 2017 年(這是什麼倒黴年份),美國的 Vicarious AI 公司在雜誌《Science(科學)》發表文章,詳細地描述了他們的AI是如何輕鬆破解CAPTCHA。研究者們向哺乳動物的視覺皮層學習,借鑑了其處理圖像的方法,並構建了一套全新的算法。
這套算法可以通過識別物體的輪廓及其表面的平滑度,獲取信息並創建關聯。經過多次的信息傳遞,可以在一定程度上實現對目標物體的識別。這套算法的準確性,比其他性能一流的模型高出了 1.9% 左右。
Vicarious AI發表的文章
這對 CAPTCHA 提出了更高的要求。Polakis 認為,“CAPTCHA 更需要了解跨文化領域,可以同時與來自希臘、芝加哥、南非、伊朗和澳大利亞的人合作。它應該具有普適性,而不是和某個特定人羣捆綁。與此同時,還需要給計算機制造困難。這意味着,人們能做的事情非常有限。”
弄清楚如何快速修復與提升 CAPTCHA,可能又是一個深奧的哲學問題:人類共有、且機器人不可模仿的品質是什麼?人類又是什麼?
也許,我們的人性不是通過人類是如何執行任務來衡量的。機器人檢測公司 Shape Security 的首席技術官 Shuman Ghosemajumder 表示,不管是遊戲還是視頻形式的 CAPTCHA,最終都會被打破,他更傾向於觀察用户的行為,順着蹤跡尋找答案。
Ghosemajumder 説:“一個真正的人類對自己的運動功能,並沒有很好的控制能力,所以他們不能在多次交互中連續不斷地移動鼠標。但是機器人可以在不移動鼠標的情況下與頁面交互,或者非常精確地移動鼠標。這是****人類與機器較大的區別。”
是人類還是機器?這是一個問題
谷歌的 CAPTCHA 團隊也有類似的思路。去年年底,谷歌宣佈的最新版本 reCAPTCHA v3 使用了“自適應風險分析”。團隊的產品經理 Cy Khormaee 介紹,谷歌會觀察網站上的“正常流量”,以此為標準,來檢測“異常流量”,並進行評分。倘若有可疑情況,網站所有者可以選擇向被檢測用户提出“挑戰”,例如密碼請求或身份驗證。
簡而言之,就是通過分析人類的行為特點作出總結,利用這些特點與機器人行為進行比較,以此來判斷出用户是人,還是機器人。
reCAPTCHA認證成功
在《最有人性的人》一書中,作者布萊恩·克里斯蒂安對圖靈測試比賽提出質疑,他認為在對話中證明你的人性實際上是相當困難的。機器人制造商已經發現了通過測試的秘訣——不是讓機器人成為最聰明的談話者,而是利用邏輯混亂或是拼寫錯誤來回避問題。
因為,人類是會犯錯的。
現在看來,世界上使用最廣泛的圖靈測試 CAPTCHA 會遇到全新的挑戰——不是機器人飛速進步的識別能力,而是它們的犯錯能力。機器已開始模仿會犯錯、誤點按鈕的人類了。Ghosemajumder 説:“我認為人們已經意識到,AI 更需要模擬一個普通人類,或者愚蠢的人類。”
我們總認為機器人是極度聰明的,但是當它開始出錯,和日常的你一樣犯迷糊的時候,你還能辨認出站在你身邊的,是人還是機器人呢?