「水可載舟,亦可覆舟」,這句老話相信我們都很熟悉,套用到機(jī)器學(xué)習(xí)上,即是帶給我們諸多便利的機(jī)器學(xué)習(xí)算法,一個(gè)不小心,將因?yàn)橐庀氩坏降睦碛蓭У轿覀儭阁@喜」。原作者對(duì)一篇論述此現(xiàn)象的論文進(jìn)行了解讀,我們將之編譯如下。
機(jī)器學(xué)習(xí)算法與其他計(jì)算機(jī)程序存在很大的不同。在一般編程行為中,人類程序員都會(huì)告訴計(jì)算機(jī)具體做些什么。來(lái)到機(jī)器學(xué)習(xí),人類程序員只會(huì)提供問題,算法必須通過反復(fù)試驗(yàn)來(lái)搞明白如何解決它。
目前看來(lái)這套做法頗有成效——機(jī)器學(xué)習(xí)算法已廣泛用于面部識(shí)別、語(yǔ)言翻譯、財(cái)務(wù)建模、圖像識(shí)別及廣告投放領(lǐng)域。只要你上過網(wǎng),就可能已經(jīng)和機(jī)器學(xué)習(xí)算法產(chǎn)生過交互。
然而它并不總是運(yùn)作良好。有的時(shí)候程序員認(rèn)為自己的算法已經(jīng)設(shè)計(jì)得足夠好,可仔細(xì)觀察結(jié)果,就會(huì)發(fā)現(xiàn)它解決的是與程序員原先想要的完全不一樣的問題。舉個(gè)例子,我見過一個(gè)圖像識(shí)別算法,原該識(shí)別綿羊的它,最終卻學(xué)會(huì)識(shí)別草,且不停將空曠的綠草地標(biāo)記為含有綿羊。
一群綿羊在郁郁蔥蔥的綠色山坡上吃草
標(biāo)簽:吃草、綿羊、山、城堡、馬
當(dāng)機(jī)器學(xué)習(xí)算法以意想不到的方式成功解決問題時(shí),程序員通常會(huì)感覺,好吧是的,有時(shí)確實(shí)挺煩人,但往往都是很純粹的愉悅感。
令人感到驚喜的是,2018 年有一組研究人員據(jù)此寫了一篇引人入勝的論文——該論文收集了數(shù)十篇「引起研究人員驚訝與贊嘆」的軼事。這篇論文非常值得一讀,包括原始參考文獻(xiàn)也是,這里有我最喜歡的幾個(gè)例子。
論文鏈接:
https://arxiv.org/pdf/1803.03453.pdf
扭曲規(guī)則,取得勝利!
首先,通過模擬生物來(lái)研究不同形式的運(yùn)動(dòng)是如何演化的,包括為機(jī)器人提供全新的運(yùn)動(dòng)思路,已經(jīng)是一個(gè)悠長(zhǎng)的傳統(tǒng)。
既然可以撲騰,為何還要選擇走路?在這個(gè)例子中,模擬機(jī)器人原本應(yīng)該盡可能地快速前進(jìn),但它卻沒有演化自己的雙腿,而是選擇將自己組裝成高塔,然后摔下來(lái)。當(dāng)中有些機(jī)器人甚至學(xué)會(huì)將摔落的動(dòng)作變成翻筋斗,以增加挪騰的額外距離。
[配圖:機(jī)器人成了一座倒下的塔]
既然可以跳康康,何必學(xué)跳躍?這組模擬機(jī)器人原該演化成可跳躍的形式,可由于程序員一開始將跳躍的高度設(shè)置成最高擋塊的高度,于是(又一次犯傻)機(jī)器人在形式上變得很高。為了解決這個(gè)問題,程序員試圖將跳躍高度定義為最初為最低擋塊的高度。作為回應(yīng),機(jī)器人演化出一條細(xì)長(zhǎng)的腿,化身可以將腿蹬至空中的康康舞機(jī)器人。
[配圖:高大的機(jī)器人將腿伸向空中,而不是跳躍]
為了「超級(jí)能源」,黑你沒商量!
勢(shì)能并非模擬機(jī)器人唯一學(xué)會(huì)利用的能源。事實(shí)證明,像現(xiàn)實(shí)生活中發(fā)生的一樣,一旦存在可使用能源,肯定會(huì)有東西演化去使用它。
作為能源的浮點(diǎn)舍入誤差:在一次模擬中,機(jī)器人習(xí)得數(shù)學(xué)中的舍入誤差規(guī)則,發(fā)現(xiàn)這可以使它們?cè)谶\(yùn)動(dòng)中獲得額外的能量。于是,他們學(xué)會(huì)了快速抽動(dòng),由此產(chǎn)生大量可以利用的自由能量。當(dāng)機(jī)器人開始以驚人的速度在游泳時(shí),程序員才注意到這個(gè)問題。
與地板的碰撞中獲取能量:在另一個(gè)模擬中,一部學(xué)會(huì)碰撞檢測(cè)規(guī)則的機(jī)器人則帶來(lái)另一些問題。一旦它們?cè)O(shè)法在地板上讓自己陷入困境(首先學(xué)會(huì)操縱時(shí)間來(lái)使之成為可能),碰撞檢測(cè)系統(tǒng)會(huì)意識(shí)到機(jī)器人不應(yīng)在地板上,隨之將它們向上射擊。于是機(jī)器人學(xué)會(huì)在地板上快速振動(dòng),通過反復(fù)碰撞來(lái)產(chǎn)生額外的能量。
[圖片:機(jī)器人通過地板上的振動(dòng)來(lái)獲取前進(jìn)的能量]
「撞擊」飛行:在另一個(gè)模擬中,跳躍機(jī)器人學(xué)會(huì)利用不同的碰撞檢測(cè) bug 來(lái)幫助自己飛行——每當(dāng)它們彼此的部件碰到一起時(shí),作力會(huì)將它們推至空中。如果這在現(xiàn)實(shí)生活中起作用,如今的商業(yè)航班將是另一番景象。
鉆「漏洞」:計(jì)算機(jī)的游戲算法非常擅長(zhǎng)發(fā)現(xiàn)人類通常也會(huì)利用的矩陣故障來(lái)提高獲勝速度。一個(gè)玩著舊 Atari 游戲 Q * bert 的機(jī)器算法發(fā)現(xiàn)一個(gè)過去未曾發(fā)現(xiàn)的 bug,它選擇在一個(gè)級(jí)別結(jié)束時(shí)執(zhí)行一系列特定的動(dòng)作,而非直接過渡下一級(jí),由此所有平臺(tái)將開始快速閃爍,玩家因此得以積累大量積分。
另外有一個(gè)主攻 Doom 的游戲算法同樣找到可以阻止敵人發(fā)射火球的特殊操作——但它只適用于算法的「夢(mèng)幻版」Doom。有個(gè)好消息是,你可以在這里玩到該版本的游戲。
游戲鏈接:
https://worldmodels.github.io
[配圖:Q * bert 玩家積累了可疑的數(shù)量積分,考慮到它并未做過太多事情]
「目標(biāo)宏大」:在一個(gè)令人毛骨悚然的例子中,有個(gè)算法原應(yīng)解決如何對(duì)試圖降落航空母艦的飛機(jī)應(yīng)用最小的作力,結(jié)果它發(fā)現(xiàn)如果應(yīng)用的是一個(gè)「大型」作力,它將溢出程序的內(nèi)存,進(jìn)而注冊(cè)成為一個(gè)非常「微小」的作力。飛行員會(huì)死,但是,嘿,完美的分?jǐn)?shù)。
破壞,也是一種解決方案!
即便像列表排序算法那樣顯然是良性的東西,也可能以一種無(wú)辜卻險(xiǎn)惡的方式解決問題。
你看,它們可不是「未排序」:舉個(gè)例子,一個(gè)原本應(yīng)該學(xué)會(huì)對(duì)數(shù)字列表進(jìn)行排序的算法,竟然學(xué)會(huì)刪除列表,以便從技術(shù)層面消除「未排序」的東西。
完成 Kobayashi Maru 測(cè)試:該算法原應(yīng)最小化自身答案與正確答案之間的差距,結(jié)果它找著了存儲(chǔ)與刪除答案的位置,因此它獲得了一個(gè)完美的分?jǐn)?shù)。
在井字棋游戲中取得勝利:1997 年,一些程序員構(gòu)建了一個(gè)可以在無(wú)限大的板上彼此對(duì)抗玩井字棋游戲的算法。一名程序員決定放棄設(shè)計(jì)具體的算法策略,任由其自行發(fā)展。令人感到驚訝的是,該算法突然開始贏得所有游戲。結(jié)果證明,該算法的策略是棋子放在一個(gè)極其遠(yuǎn)的位置,因此每當(dāng)對(duì)方的計(jì)算機(jī)試圖模擬新的擴(kuò)展板時(shí),過于巨大的游戲板將導(dǎo)致其耗盡內(nèi)存并崩潰,從而輸?shù)粲螒颉?/p>
結(jié)論
當(dāng)機(jī)器學(xué)習(xí)解決問題時(shí),它所提出的解決方案可以很聰明,也可以讓人徹頭徹尾感到不可思議。
生物的進(jìn)化也是這樣運(yùn)作的——正如任何生物學(xué)家會(huì)告訴你的那樣,生物總會(huì)找到最奇怪的問題解決方案,以及最奇怪的能源來(lái)進(jìn)行開發(fā)。一個(gè)能夠證明我們未生活在計(jì)算機(jī)模擬中的最可靠跡象是——如果是,一些微生物將會(huì)學(xué)會(huì)利用它的缺陷。
因此,作為程序員,我們必須非常小心,我們的算法應(yīng)該解決我們要求它們解決的問題,而不是抄捷徑。一旦存在另一種可以更加容易解決問題的途徑,機(jī)器學(xué)習(xí)很可能會(huì)找到它。
幸運(yùn)的是,「殺死所有人類」真的很難。如果「烤一個(gè)令人難以置信的美味蛋糕」也能解決問題,并且比「殺死所有人類」更容易,那么機(jī)器學(xué)習(xí)肯定會(huì)選擇站在蛋糕那一邊。
-
人工智能
+關(guān)注
關(guān)注
1817文章
50094瀏覽量
265302 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8553瀏覽量
136932
原文標(biāo)題:高能 | 驚喜還是驚嚇?盤點(diǎn)機(jī)器學(xué)習(xí)算法的「高能」瞬間
文章出處:【微信號(hào):datawork,微信公眾號(hào):機(jī)器學(xué)習(xí)與人工智能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
人工智能與機(jī)器學(xué)習(xí)在這些行業(yè)的深度應(yīng)用
機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中需避免的 7 個(gè)常見錯(cuò)誤與局限性
彩屏無(wú)線盤點(diǎn)機(jī)哪個(gè)好?工業(yè)級(jí)手持終端功能詳解+選購(gòu)指南!
如何為盤點(diǎn)機(jī)器人選配(集成)條碼識(shí)別模塊?
服裝倉(cāng)庫(kù)里類似手機(jī)的掃碼PDA盤點(diǎn)機(jī)
利用超微型 Neuton ML 模型解鎖 SoC 邊緣人工智能
挖到寶了!人工智能綜合實(shí)驗(yàn)箱,高校新工科的寶藏神器
挖到寶了!比鄰星人工智能綜合實(shí)驗(yàn)箱,高校新工科的寶藏神器!
超小型Neuton機(jī)器學(xué)習(xí)模型, 在任何系統(tǒng)級(jí)芯片(SoC)上解鎖邊緣人工智能應(yīng)用.
人工智能在汽車行業(yè)中的應(yīng)用
人工智能究竟對(duì)電子產(chǎn)業(yè)產(chǎn)生哪些的影響?
最新人工智能硬件培訓(xùn)AI 基礎(chǔ)入門學(xué)習(xí)課程參考2025版(大模型篇)
機(jī)器人主控芯片平臺(tái)有哪些 機(jī)器人主控芯片一文搞懂
人工智能 | 驚喜還是驚嚇?盤點(diǎn)機(jī)器學(xué)習(xí)算法的“高能”瞬間
評(píng)論