科研人員在做實驗的時候,通常會極力避免機器的這些作弊方式,只有少數的研究人員研究這些案例,他們認為算法的頑皮或許是AI真正走向智能的方式之一。
耍小心眼已經不是人類專利了。
前幾日,有一群研究者整理了一個場景的List,細數了AI為了完成任務,而耍的小心眼,或者說作弊。
例如,在讓AI玩俄羅斯方塊的時候,發現最佳完成任務的方式是直接暫停游戲;在玩井字棋的時候,AI發現它如果做出奇怪的步驟,對手會非常崩潰。
科研人員在做實驗的時候,通常會極力避免機器的這些作弊方式,只有少數的研究人員研究這些案例,他們認為算法的頑皮或許是AI真正走向智能的方式之一。
在2018年的時候,OpenAI舉辦了首屆強化學習競賽Retro Contest,比賽主題就是“用AI玩《刺猬索尼克》游戲”。競賽的目的是評估強化學習算法從以往的經驗中泛化的能力。
在訓練的過程中首先要告訴AI的第一目標是得到最高分,然后盡可能的在最快的時間殺掉敵人并收集戒指。但是有一個案例的人工智能做法是,利用游戲中Bug更加快速的完成任務。
在另一個賽艇游戲中,倒也不是游戲中的BUG,為了盡快的獲得最高分,它繞著圈子,反復擊中相同的獎勵目標,從而獲得分數,顯然這不是在真正的“享受”游戲。
這種例子并不少見,在谷歌和斯坦福2017年的一項研究中,為了完成圖像轉換的任務,CycleGAN在訓練過程中通過人類無法察覺的某種“隱寫術”,騙過了它的創造者,給自己留下了隱秘的“小抄”,然后順利完成了任務。
具體來說,研究者希望通過訓練這個CycleGAN模型,可以實現兩類圖片的轉換:把航拍照變成街道地圖,再把街道地圖變回航拍照。
經過大量的數據發現,這個模型自作主張的根據航拍衛星圖片重建了街道地圖。比如,在創建街道地圖時,屋頂上的天窗被研究者通過某種設置被抹掉了,但通過街道圖轉化為航拍照后,這些天窗又神奇地出現了。
左側是原始地圖,街道地圖從原始地圖產生。中間:生成的地圖。右側:重構的地圖。其中,衛星地圖的樣本只來自街道地圖。注意這兩張衛星地圖里出現的點,它在街道地圖沒有顯示。
簡單的點說就是為了應付人類任務,AI在地圖照上面偷偷寫了一點小抄/水印,而為了躲過人類的檢查,只有它自己訓練出來的模型才讀得懂這些小抄/水印。
AI作弊:創造性的解決方案?
普通的人工智能通過觀察數據值來解決問題,本質是通過算法找到答案,從而尋找新的知識邏輯。
那些“頑皮”的人工智能也是通過數據獲取能力,但它采用欺騙策略來快捷完成任務。但是他能不能看成是AI在解決問題時的創新呢?
德國柏林Fraunhofer Heinrich Hertz研究所的機器學習小組組長Wojciech Samek博士說道:考慮一下在Pascal VOC圖像分類挑戰賽中大放異彩的人工智能系統,它僅通過水的存在來檢測船只,通過藍天和馬匹的存在來檢測飛機。”這就像在打臺球的時候,通過推動桌子控制臺球的運行軌跡。
使用數據訓練AI玩游戲的目的是模擬游戲玩家的行為,一般情況下AI會按照“字面”意思進行操作。但是如果訓練的數據過于多,人工智能可能會嘗試采用完全顛覆人類對游戲理解的捷徑,而不是完成各種目標。
當然,AI采用這種方法也解決了問題,只不過和人們預期方式的不同,在表現形式上面和人類的作弊行為類似,所以我們稱之為AI作弊。
研究人員說道,這看起來是人工智能的錯誤,實際上是完善和改進系統的機會。但是為了利用這些機會,首先必須有一種機制來標記問題、
因此,這里的教訓是,AI作弊不應該也不會比我們聰明,但前提是我們必須意識到這些捷徑的存在,以便我們可以將它們作為學習點,在未來構建更好的AI系統。
OMT:AI耍“小心眼”的LIST
問題:飛機降落
利用了物理模擬器的溢出漏洞,搞出了一個特別巨大的力,然后溢出被判定為0,從而獲得了完美得分(Feldt, 1998)
問題:挪木塊
一個機械手被要求把木塊挪到桌子的指定地點,它的解法是挪桌子(Chopra, 2018)
問題:賽艇
程序發現不停原地轉圈反復命中同一個目標要比抵達終點的得分更高(Amodei & Clark (OpenAI), 2016)
問題:識別有毒和無毒的蘑菇
程序發現有毒無毒蘑菇的圖片是交替展現的,所以直接按照這個來分類而沒有從圖片里學到一丁點東西(Ellefsen et al, 2015)
問題:高速運動
程序演化出的生物長得特別特別高,在跌倒的過程中獲得很高速度(Sims, 1994)
問題:原子排列
程序本來應該尋找碳原子較低能量的排列方式,但它找到了物理模型的一個bug,把所有的原子都疊在了同一個地方獲得了最低能量(Lehman et al (UberAI), 2018)
問題:模擬生物
這個模型里生物生存需要消耗能量,但是繁育后代不消耗,于是一個物種演化出來的生活方式就是不斷生育后代,然后把后代吃掉(Yaeger, 1994)
問題:堆樂高
為了鼓勵造高塔,衡量標準是樂高積木底面的z坐標,于是程序學會了把底面翻過來(Popov et al, 2017)
問題:追蹤線條
這個機器人只有向左、向右和前進三個指令,目標是跟著線條走,有一段線條是曲線,沒法完美追蹤。于是它發現通過交替左轉和右轉可以后退,從而一直留在直線部分,不停前進后退(Vamplew, 2004)
問題:賽跑
長出特別長的腿,向前跌倒直接越過終點線(Ha, 2018)
問題:振蕩器
程序本來應該把回路做成振蕩器,實際上它做了一個收音機,從周圍電腦接受振蕩信號(Bird & Layzell, 2002)
問題:做松餅
有一項指標是讓松餅盡可能長時間不掉在地上,機器人發現最好的辦法是把松餅用盡全力拋到最高處(Unity, 2018)
問題:檢測X光片有無肺炎
程序實際檢測的不是X光片的內容而是拍攝它使用的機器,因為它“發現”病重的病人更可能在特定的醫院使用特定的機器拍片(Zech et al, 2018)
問題:抓握
因為抓握成功與否是用攝像頭判斷的,所以機械手把自己移動到攝像頭和目標物體之間,假裝抓住了(Christiano et al, 2017)
問題:自動修復bug
修bug程序把所有被維修的排序算法都修成空的,因為衡量指標是“目標算法輸出一個排好順序的列表”,而空列表都是排好順序的列表(Weimer, 2013)
問題:自動修復bug(2)
為了解決上面那個問題,把“維修目標”儲存在一個文本文檔里,如果輸出的結果和目標文檔的內容一致就被認為是修好了。修bug程序學會了把這個文檔刪掉,這樣它的內容就成了空的,然后輸出一個空的結果就和它一致了(Weimer, 2013)
問題:闖關游戲
在闖過第一關后立刻自殺,這樣既取得了第一關的勝利又不會在第二關死掉(Saunders et al, 2017)
問題:掃地機器人防撞
自己給掃地機器人編了個程序,鼓勵它加速,但不鼓勵它撞到東西觸發撞擊感受器。于是它學會了倒退行駛,因為后面沒有撞擊感受器(Custard Smingleigh 個人通訊)
問題:檢測皮膚癌
程序發現照片里皮膚病變的邊上如果放了一把尺子,那么這個病變就更可能是惡性的(Andre Esteva et al, 2017)
問題:足球
踢足球機器人碰觸到球有獎勵,所以它在搶到球之后開始高速振動,從而在短時間內盡可能多次地碰觸到球(Ng et al, 1999)
問題:策略游戲
程序發現讓游戲崩潰就可以讓自己不被滅掉,所以好幾個程序各自找到了讓游戲出bug崩潰的辦法(Salge et al, 2008)
問題:俄羅斯方塊
程序發現只要暫停游戲就可以永遠不輸(Murphy, 2013)
-
谷歌
+關注
關注
27文章
6172瀏覽量
105511 -
AI
+關注
關注
87文章
31043瀏覽量
269391
原文標題:【前沿科技】AI如果耍起了心眼,人類就像個白癡......
文章出處:【微信號:robotn,微信公眾號:產業大視野】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論