Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
鋒網 AI 科技評論按:集體智能(collective intelligence)是人工智能研究浪潮中不可被忽視的重要課題。然而,智能體如何在邊界開放、約束動態的環境下學習到知識,并且進行團隊協作仍然是極具挑戰的難題。DeepMind 近年來針對基于種群的多智能體強化學習進行了大量的研究,其最新研究成果近日發表在了國際權威雜志「Science」上。DeepMind 發博客將這一成果進行了介紹,雷鋒網 AI 科技評論編譯如下。
智能體在多玩家電子游戲中掌握策略、理解戰術以及進行團隊協作是人工智能研究領域的重大挑戰。我們發表在「科學」雜志上的最新論文「Human-level performance in 3D multiplayer games with population-based reinforcement learning」中,展示了智能體在強化學習領域的最新進展,在「Quake III Arena」奪旗賽(CTF)中取得了與人類水平相當的性能。這是一個復雜的多智能體環境,也是第一人稱多玩家的經典三維游戲之一。這些智能體成功地與 AI 隊友和人類隊友協作,表現出了很高的性能,即使在訓練時其反應時間,表現也與人類相當。此外,我們還展示了如何能夠成功地將這些方法從研究 CTF 環境中擴展到完整的「Quake III Arena」游戲中。
論文地址(Science):https://science.sciencemag.org/cgi/doi/10.1126/science.aau6249
玩CTF游戲的智能體,以其中一個紅色玩家為第一人稱視角展現的室內環境(左圖)和室外環境(右圖)。
智能體在完整的錦標賽地圖上的另外兩個「Quake III Arena」多人游戲模式下進行游戲:在「Future Crossings」地圖上進行收割者模式的游戲(左圖),在「ironwood」地圖上進行單旗奪旗模式的游戲(右圖),在游戲中可以拾取并使用完整版游戲的所有的道具。
目前,有數十億人居住在地球上,每個人都有自己獨特的目標和行為。但人們仍然能夠通過團隊、組織和社會團結在一起,展示出非凡的集體智能。我們將這種情況稱為多智能體學習:許多獨立的智能體必須各自單獨行動,但同時也要學會與其它的智能體進行交互和協作。這是一個非常困難的問題,因為需要協同適應其他的智能體,它們所處的世界環境就會不斷變化。
為了研究這個問題,我們著眼于第一人稱的多人三維電子游戲。這些游戲也代表著目前最流行的一類電子游戲,由于能夠為用戶提供沉浸式的游戲體驗,這類游戲充分開發了數百萬玩家的想象力,同時也對玩家在策略、戰術、手眼協調以及團隊協作等方面提出了挑戰。我們的智能體所面臨的挑戰便是直接利用原始像素來生成決策行為。這種復雜性也使得第一人稱多人游戲在人工智能研究領域中成為了一個碩果累累、朝氣蓬勃的研究領域。
在這項研究中,我們聚焦于「Quake III Arena」游戲(在保證所有的游戲機制維持不變的情況下,我們對美工進行了微調)。「Quake III Arena」是許多現代第一人稱電子游戲的奠基者,曾經在電子競技舞臺上風靡一時。我們訓練智能體像人類玩家一樣學習和行動,但是它們必須能夠以團隊協作的方式與其它智能體(無論是 AI 玩家還是人類玩家)合作或對抗。
CTF 的規則很簡單,但是其動態變化則非常復雜。兩隊獨立的玩家比賽的方式是:在給定的地圖上以奪取對方隊伍的旗幟為目標,同時保護他們自己的旗幟。為了獲得戰術上的優勢,玩家可以攻擊對方戰隊的玩家,將其送回復活點。在 5 分鐘的游戲時間結束后,獲得旗幟數量最多的隊伍將獲得勝利。
從多智能體的視角來說,CTF 要求玩家同時做到與他們的隊友通力合作以及與對手的隊伍進行對抗,并且還要對它們可能遇到的任何比賽方式都要保持魯棒性。
為了讓這個工作變得更有趣,我們還考慮了一個 CTF 的變體形式,其中的地圖布局每經過一場比賽就會變化。結果,我們的智能體被迫獲取通用的策略,而不是記住地圖的布局。此外,為了競爭的公平性,我們的智能體在學習過程中以與人類相似的方式對 CTF 的世界進行探索:他們會觀察一組圖像的像素流,然后通過模擬的游戲控制器采取行動。
在程序生成的環境中進行CTF,這樣一來智能體的能力必須能夠泛化到沒有見過的地圖上。
我們的智能體必須從頭開始學會如何觀察環境、執行動作、協作以及在未見過的環境中競爭,而所有這些都學習自每場比賽的單個強化信號:它們的團隊是否獲勝。這是一個極具挑戰的學習問題,其解決方案是以如下強化學習的三種通用思想為基礎的:
我們訓練的是一個智能體種群,而不是訓練單個智能體。種群中的智能體通過與其它智能體進行游戲來學習。在游戲中,智能體彼此之間的關系是多種多樣的,可能是隊友也可能是對手。
種群中的每個智能體都需要學習他們自己的內部獎勵信號,這使得智能體可以生成他們自己的內部目標(例如奪取旗幟)。我們使用雙層優化處理的方式來優化智能體的內部獎勵,從而直接獲勝,并且運用基于內部獎勵的強化學習技術來學習智能體的游戲策略。
智能體分別以快速和慢速兩種游戲時標進行操作,這有助于提升它們使用內存和生成一致的動作序列的能力。
「為了勝利」(FTW)智能體的架構示意圖。該智能體融合了快速和慢速兩種時標的循環神經網絡(RNN),包括一個共享的內存模塊,并且學習了從游戲點到內部獎勵的轉換。
最終得到的智能體被稱為 FTW 智能體,他們學著以非常高的水平外 CTF 游戲。非常重要的一點是,學習到的智能體策略對于地圖的尺寸、隊友的數量、以及隊伍中的其他成員等參數變化需要具備魯棒性。下面,你可以探索一些戶外程序環境的游戲(其中 FTW 智能體相互對抗),也可以探索一些人類和智能體在室內程序環境中一起玩的游戲。
交互式的 CTF 游戲探索器,具有程序生成的室內和室外兩種環境。室外地圖上的游戲在 FTW 智能體之間開展,而室內地圖上的游戲則是人類和 FTW 智能體玩家的混合游戲。
我們進行了一場包括 40 名人類玩家的游戲比賽,在比賽中人類玩家和智能體隨機配對,既有可能成為對手,也可能成為隊友。
早先的一場測試比賽,對戰雙方是人類 CTF 玩家和受過訓練的其他人類玩家和智能體。
FTW 智能體通過學習變得比強基線方法強大得多,并且超過了人類玩家的勝率。事實上,在一份針對游戲參與者的調查中,它們比人類參與者表現出了更高的協作性。
我們的智能體在訓練時的性能。我們的新 FTW 智能體,獲得了比人類玩家和基線方法(Self-play + RS 和 Self-play)高得多的 Elo 等級分(對應獲勝概率)。
除了對模型性能進行評估,理解這些智能體的行為及內部表征的復雜度也非常重要。
為了理解智能體如何表示游戲狀態,我們對智能體神經網絡的激活模式進行了研究,并且將其繪制在一個平面上。在下圖中,一群群的點代表在游戲中的各種情景,相鄰的點則代表相似的激活模式。我們根據高水平的 CTF 游戲狀態來對這些點進行著色,這些狀態包括:智能體在哪個房間中?旗幟的狀態如何?可以看到哪些隊友和對手?我們觀察到的顏色相同的點簇,這代表的是智能體以相似的方式表示相似的高水平游戲狀態。
我們的智能體是如何表征游戲世界的?在上圖中,我們根據每個代表神經激活模式的點與其它點的相似程度繪制出了某時刻的神經激活模式示意圖:在空間中距離越近的兩個點的激活模式越相似。接著,我們會根據它們在該時刻的情景對其進行著色——相同的顏色代表相同的情景。我們可以看到,這些神經元激活模式被組織了起來,形成了不同顏色的簇,這意味著智能體確實以一種有規則的、有組織的方式表示游戲玩法的某些有意義的因素。這些訓練后的智能體甚至展示出了一些直接對特定情況編碼的人工神經元。
智能體從未被告知任何有關游戲規則的信息,它們需要學習 CTF 的基本游戲概念并發展出自己有效的直覺。事實上,我們可以發現,某些特定的神經元會直接對最重要的游戲狀態進行編碼(例如,當智能體的旗幟被奪走時或智能體的隊友奪到旗幟時,某個神經元就會被激活)。我們的論文針對智能體對內存的利用和視覺注意力機制的使用進行了進一步的分析。
我們的智能體在游戲中的表現如何,又是如何采取行動的呢?
首先,我們注意到智能體的反應時間非常短,并且攻擊十分精準,這或許就解釋了他們為什么會有如此出色的表現(「攻擊」是一種戰術行為,能夠將對手送回到他們的出發點)。人類對于這些感官輸入的處理和反應速度相對來說要慢一些,這是因為我們的生物信號比智能體的電子信號要慢一些。這里有一個反應時間測試的例子,鏈接乳腺,你可以自己動手試試:
https://faculty.washington.edu/chudler/java/redgreen.html
因此,我們智能體的卓越表現可能要歸功于它們更快的視覺處理和運動控制能力。然而,通過人為地降低它們攻擊的準確率、增加其反應時間,我們發現這只是它們取得成功的眾多因素中的一個。在更加深入的研究中,我們訓練了內置 1/4 秒(267 毫秒)延遲的智能體。也就是說,這些智能體在觀察世界之前會有 267 毫秒的滯后,這與統計出的人類電子游戲玩家的反應時間相當。盡管如此,這些帶有反應延遲的智能體仍然比人類玩家的表現要好:人類玩家中的強者在智能體面前只有 21% 的勝率。
人類玩家在反應延遲的智能體面前,其勝率也很低,這說明即使反應延遲的時間與人類相當,智能體也比人類玩家表現好。除此之外,通過觀察人類玩家和反應延遲的智能體的玩游戲情況,我們可以看到二者發生攻擊事件的數目相當,說明這些智能體在這個方面與人類相比并不具有優勢。
通過無監督學習,我們構建了智能體和人類的原型行為模式,發現智能體實際上是學習到了人類相類似的行為,例如跟隨隊友以及在對手的基地蹲點。
示例中,經過訓練的三個智能體可以自動發現行為。
通過強化學習和種群水平的演進,這些行為逐漸出現在訓練過程中。而隨著智能體學會通過更加復雜的方式進行協作,就會逐漸淘汰掉像跟隨隊友這樣的簡單行為。
FTW 智能體種群的訓練過程。左上角:30 個智能體在訓練和相互演化的過程中得到的 Elo 等級評分。右上角:這些演化事件的遺傳樹。底部的圖片顯示了在智能體的訓練過程中知識、內部獎勵以及行為概率的變化情況。
盡管本論文重點關注的是 CTF,但我們的工作對于科學研究的貢獻是通用的,我們非常樂見其他研究者基于我們的技術在各不相同的復雜環境中開發相關技術。自從最初發布這些實驗結果以來,我們看到了許多人成功地將這些方法擴展到了「Quake III Arena」的完整游戲中,包括專業的游戲地圖、更多 CTF 之外的多玩家游戲模式,以及更多的道具拾撿和使用動作。初步的結果表明,智能體可以在多種游戲模式和多張地圖中表現出很強的競爭力,并且在測試比賽中開始逐漸對我們人類研究者的技能提出了挑戰。實際上,這項工作中提出的一些概念(如基于種群的多智能體強化學習),構成了我們針對「星際爭霸 2」設計的「AlphaStar agent」智能體(https://deepmind.com/blog/alphastar-mastering-real-time-strategy-game-starcraft-ii/)的基石。
在另外兩個「Quake III Arena」多人游戲模式下的完整版錦標賽地圖上進行游戲的智能體:「Future Crossing」地圖上的收割者模式,以及「Ironwood」地圖上的單旗奪旗模式
總的來說,這項工作強調了多智能體訓練在推動人工智能發展上顯示的潛力:利用多智能體訓練所提供的自然學習信息,同時也能促使我們開發出甚至可以與人類合作的魯棒的智能體。
論文下載地址:https://arxiv.org/abs/1807.01281
完整的補充講解視頻:https://youtu.be/dltN4MxV1RI
via https://deepmind.com/blog/capture-the-flag-science/雷鋒網
境可持續性正在成為驅動包裝水產品差異化的關鍵因素。傳統的塑料瓶被認為是全球塑料污染的象征,需要面對公眾日益高漲的反塑料情緒。盡管塑料倡導者指出,糟糕的塑料管理基礎設施和一次性文化是根本問題。
隨著減少碳排放的措施日益緊迫,這鼓勵了包裝水行業向可回收PET (rPET)的轉變,輕量化、顛覆性解決方案(包括在紙盒和鋁罐中包裝水)、可重復利用的創新和更節能的處理。
SIG的combidome紙盒包裝
SIG最近與聯合利華旗下初創品牌B-Better合作,推出一系列用SIG的combidome紙盒包裝的水飲料。這些紙盒由75%的紙板制成,并通過了森林管理委員會(FSC)的認證,這正成為行業標準。
輕量化
值得注意的是,西得樂(Sidel)選擇用更少的塑料而不是更多的認證木纖維來詮釋“環保水瓶任務”。如果rPET的質量合適的話,該公司最新的500ml PET不加壓靜水包裝解決方案X-LITE Still是與rPET兼容的。
作為世界上最輕的PET瓶,西得樂的X-LITE仍然可以顯著減少PET樹脂的消耗,與12克的瓶子相比,新方案每年可節省1485噸PET,同時每年可節省高達335,000 kWh的能源。
說到節能,西得樂表示其生產線上“大量的創新”,“擁護承諾”來幫助生產者減少他們的環境足跡。該公司的亮點包括其Matrix鼓風機,它在生產過程中使用最少的能源、空氣、化學品和水。
今年,西得樂還推出了下一代的Super Combi緊湊型產品,用于生產無水瓶裝產品,與之前的型號相比,該產品的碳足跡減少了30%,在每小時54,000瓶的情況下,其性能提高了30%。
金屬回收
對于Ball公司來說,使用基于金屬的材料來裝水是可行的,因為鋁可以在不損失質量的情況下無限循環利用。“許多其他材料在開始降解之前只能回收幾次,最后它們可能會被扔進垃圾填埋場。”
最近,Ball公司為Legend水品牌提供了鋁制易拉罐和鋁蓋。棄用塑料瓶是為了吸引更年輕的消費者,他們正越來越多地尋找既方便又實用環保的包裝。
鋁罐回收率很高(在歐洲為75%),幾周內就可以作為新罐重新上架。此外,回收鋁比初級生產要少消耗95%的能源。隨著回收率的增加,鋁的碳密度比其他包裝類型要低。
用鋁罐灌水還能帶來更多的市場效益。易拉罐有各種大小和形狀,幫助品牌脫穎而出,值得補充的是,顏色和設計不會影響可回收性。
從理論到實踐:可重復使用的包裝
可重用性是一個相對較新的討論對象。2019年4月,Alpla公司委托的一項生命周期評估研究顯示,從理論上講,完全由回收材料制成的可重復使用PET瓶在對環境的影響方面超過了所有的替代包裝,包括塑料、玻璃、金屬和紙箱。
在不到一年的時間里,德國KHS集團合作開發了1升可重復使用和可再填充的PET瓶。即使瓶子不再適合重復使用,它可以回收,材料可以變成新的PET瓶。
Alpla開發的可重用解決方案已經存在于許多市場中,但是,奧地利消費者對可重復使用的PET瓶裝水和軟飲料缺乏接受度,導致其從市場上撤出。額外成本與環境效益的比例確實需要研究。
COVID-19影響
在COVID-19大流行的背景下,就銷售或消費放緩而言,水是受影響較小的飲料領域之一。
認識到資源管理的壓力,行業需要可持續生產過程和提高對材料收集和再利用的認識,這是許多倡議和行業發展的重要課題。因此,針對水的解決方案越來越多樣化。
業內認為,在疫情對食品和包裝行業造成損害之前,水包裝的環境可持續性就已經是品牌和消費者的高度優先事項,越來越多的消費者在尋找可持續的解決方案。
參考來源:Packaged water industry welcomes eco-centric
https://m.packaginginsights.com/news/packaged-water-industry-welcomes-eco-centric-innovation-as-consumers-go-green.html
端訓練營:1v1私教,終身輔導計劃,幫你拿到滿意的 offer。 已幫助數百位同學拿到了中大廠 offer。歡迎來撩~~~~~~~~
Hello,大家好,我是 Sunday。
說起 HTML 很多同學都會認為,這不就是小菜一碟嗎?這玩意有啥難度?你也太瞧不起我了吧!
不過看似越簡單的東西,我們越會忽略,同時它們還可以提供出令人驚艷的效果!
過去,我們經常使用本機瀏覽器窗口作為彈出框元素來顯示頂層內容(例如:常見的 dialog)。
可是這些默認的彈窗并不友好。所以后來,我們使用外部庫(Element、AntD 等)構建了頁面內的、經過CSS樣式化的彈出框,以好看的UI方式方式顯示此類內容。
不過現在,你可以使用純HTML創建彈出框,而無需編寫任何JavaScript代碼。現代Web標準通過Popover API提供了內置的彈出框支持。
看下面的源代碼:
<style>
div[popover]::backdrop {
background-color: rgba(0, 0, 0, 0.4);
}
div[popover] {
padding: 12px;
border: none;
}
</style>
<div id="pop" popover>
我是彈出的內容
</div>
<button popovertarget="pop">展示 popover</button>
上述HTML使用了 popover 屬性來實現一個簡單的彈出框元素。
它使用 popovertarget 屬性來在不使用JavaScript的情況下顯示彈出框元素。此外,我們使用了 ::backdrop 偽元素來樣式化彈出框的背景:
你可以使用 @starting-style 為原生彈出框添加動畫,正如 MDN 文檔(https://developer.mozilla.org/en-US/docs/Web/CSS/@starting-style)中所解釋的那樣。
HTML標準提供了 autofocus 屬性,用于在頁面加載和對話框/彈出框顯示狀態下自動聚焦表單元素。
看下面的示例模態框,它在第一個輸入已經預填充的情況下自動將焦點設置到第二個文本輸入框上:
<dialog id="dlg">
<form method="dialog">
<input type="text" placeholder="Firstname" value="張" />
<div style="height: 8px"></div>
<input type="text" placeholder="Lastname" autofocus />
<div style="height: 8px"></div>
<button>保存</button>
</form>
</dialog>
<button onclick="document.getElementById('dlg').showModal()" autofocus>點我</button>
上面的HTML在兩個地方使用了 autofocus 屬性:
此外,我們還使用了 method="dialog" 屬性來設置關閉對話框而無需使用JavaScript代碼。
表單校驗是日常開發的常見需求。不過當我們脫離了 Element、AntD 這些組件庫之后,你還知道如何實現表單校驗嗎?
其實對于 HTML的 input 元素來說,它是有 pattern 屬性的
假設我們需要驗證一個產品標識符,它包含兩個英文字母和六個數字,用連字符連接,即 GR-100200。
以下HTML片段實現了上述要求的驗證功能的文本輸入框:
<form>
<label for="productID"> ID:</label>
<input type="text" id="productID" name="productID" pattern="[A-Za-z]{2}-\d{6}" title="Please enter a valid product identifier (e.g., GR-100200)" required>
<button type="submit">Submit</button>
</form>
在上面的示例中,我們使用 pattern 屬性設置了一個正則表達式,用于驗證產品標識符。此正則表達式要求兩個英文字母(不區分大小寫)后跟一個連字符,然后是六個數字。另外,我們還添加了 title 屬性,以提供關于輸入格式的說明。最后,我們將 required 屬性添加到輸入元素上,以確保用戶輸入有效的產品標識符。
這里,pattern 屬性通過顯示瀏覽器特定的驗證消息來阻止表單提交無效輸入。但是他必須要在點擊了 提交 按鈕之后才可以進行校驗。
如果我們想要進行實時校驗(根據輸入內容實時校驗)怎么辦呢?
我們可以使用 :valid 和 :invalid CSS 偽類來實現 pattern 的實時驗證,如下所示的 HTML 代碼片段所示:
<style>
input[type=text] {
border: #000 1px solid;
border-radius: 4px;
outline: none;
padding: 6px;
}
input[type=text]:invalid {
border: red 1px solid;
+span::before {
content: '?';
display: inline;
color: red;
}
}
input[type=text]:valid {
border: green 1px solid;
+span::before {
content: '?';
display: inline;
color: green;
}
}
</style>
<input type="text" placeholder="i.e., GR-100200" pattern="[A-Z]{2}-[0-9]{6}" required />
<span></span>
上面的HTML片段使用CSS代碼根據驗證狀態設置樣式。無效輸入會將輸入框邊框設置為紅色,并顯示紅色的叉號。與此同時,有效輸入會呈現綠色邊框和綠色的勾號符號:
手機通過虛擬鍵盤進行輸入,這個鍵盤有幾種模式。
例如,它可能僅顯示數字鍵用于數字輸入元素,對于一般的字符串輸入則顯示完整的鍵盤界面。移動瀏覽器會根據輸入類型自動更改虛擬鍵盤模式,但開發人員也可以使用 input 元素的 inputmode 屬性進行自定義。
<input type="text" pattern="[0-9]{6}" inputmode="numeric" maxlength="6">
在上面的示例中,我們使用了 inputmode 屬性來指定虛擬鍵盤的模式為 numeric,以便在移動設備上只顯示數字鍵盤。同時,我們還使用了 pattern 屬性來限制輸入只能是六位數字。maxlength 屬性限制輸入的最大長度為六位。
圖片懶加載是日常開發中的常見需求。我們在實現懶加載時大多數會使用一些現成的庫或者基于 Intersection Observer API 進行處理
不過很多同學不知道的是:img 標簽的 loading 屬性可以讓你在不編寫JavaScript代碼或使用第三方庫的情況下啟用瀏覽器級別的圖片懶加載。
看下面的源代碼:
<div style="height: 2000px"></div>
<img src="https://gips3.baidu.com/it/u=45328832,131546734&fm=3039&app=3039&f=JPEG?w=1024&h=1024
" loading="lazy" />
以這種方式實現圖片懶加載的功能,當頁面往下滾動的時候,圖片動態加載:
*請認真填寫需求信息,我們會在24小時內與您取得聯系。