📜 [專欄新文章] 區塊鏈管線化的效能增進與瓶頸
✍️ Ping Chen
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
使用管線化(Pipeline)技術可以提升區塊鏈的處理效能,但也可能會產生相應的代價。
Photo by tian kuan on Unsplash
區塊鏈的擴容方案
說到區塊鏈的效能問題,目前討論度最高的應該是分片(sharding)技術,藉由將驗證者分成多組的方式,可以同時分別處理鏈上的交易需求,即使單分片效能不變,總交易量可以隨著分片/驗證者集的數量線性增加。
除了分片,另一個常用來提升程式效能的方案是將計算步驟拆解,以流水線的方式將複雜的運算攤平,降低系統的閒置時間,並大幅提升工作效率。為了達到管線化預期的目的,會需要先知道系統的瓶頸在哪。
區塊鏈的效能瓶頸
熟悉工作量證明設計哲學的人應該會知道,區塊鏈之所以需要挖礦,並不是為了驗證交易的正確性,而是要決定交易的先後順序,從而避免雙花和帳本分裂的發生。可以說,區塊鏈使用低效率的單線程設計,並付給礦工高額的成本,都只為了一件事,就是對交易的全局排序產生共識。
在這樣的基礎之上,區塊鏈在一段時間內可以處理的交易數量是有限的,這之中包含許多方面的限制,包括 CPU 效能、硬碟空間、網路速度等。其中,關於 TPS(每秒交易數) 提升和對硬體的要求大致上是線性增加的,但在設計共識演算法時,通訊複雜度常是平方甚至三次方的關係。
以現在的目標 TPS 來說,處理交易和生成一個合法的區塊並不困難,只是因為區塊鏈的特性,新區塊需要透過洪水法的方式擴散到全網路,每個節點在收到更新請求的時候都要先執行/驗證過區塊內的交易,等於整個廣播的延時會是「驗證區塊時間×經過的 hop 數量」這麼多。似乎網路越分散、節點越多,我們反而會需要降低計算量,以免讓共識不穩定。
管線化的共識機制
使用權益證明取代工作量證明算是行業發展的趨勢,除了環保或安全這些比較顯然的好處之外,權益證明對產生共識的穩定性也很有幫助。首先,權益證明在同一時間參與共識的節點數是已知的,比較容易控制數量級的邊界;其次,權益證明的出塊時間相較工作量證明固定很多,可以降低計算資源不足或閒置的機率。
相較於工作量證明是單一節點出塊,其餘節點驗證,權益證明的出塊本身就需要很多節點共同參與,瓶頸很像是從驗證轉移到通訊上。
以 PBFT 為例,每次產新區塊都需要經過 pre-prepare, prepare, commit 三個階段,你要對同意驗證的區塊簽名,還要對「你有收到某人的簽名」這件事簽名,再對「你有收到 A 說他有收到 B 的簽名」這件事簽名,過程中會有很多簽名飛來飛去,最後才能把一個區塊敲定。
為了降低每兩個區塊間都需要三輪簽名造成的延遲,後來的共識演算法包括 HotStuff 和 Casper FFG 採用了管線化的區塊驗證過程。也就是對區塊 T 的 pre-prepare 同時是對 T-1 的 prepare 和對 T-2 的 commit。再加上簽名聚合技術,出塊的開銷在複雜度等級和係數等級都降低許多。
然而,要保持管線化的區塊生產順利,需要驗證者集合固定不變,且網路通訊狀況良好。如果會經常更動驗證者集合或變換出塊的領導者,前後區塊間的相依性會是個大問題,也就是 T 的驗證者集合取決於 T-1 裡有沒有會導致刪除或新增驗證者的交易,T-1 的合法性又相依於 T-2,以此類推。
當激烈的分叉出現的時候,出塊跟共識的流水線式耦合就從優雅變成災難了。為了避免這種災難,更新的共識演算法會限制驗證者變更的時機,有些叫 epoch 有些叫 checkpoint,每隔一段時間會把前面的區塊徹底敲定,才統一讓驗證者加入或退出。到這些檢查點的時候,出塊的作業流程就會退化成原本的三階段驗證,但在大部分時候還是有加速的效果。
管線化的狀態更新
另一個可以用管線化加速的是區塊鏈的狀態更新。如前所述,現在公鏈的瓶頸在於提高 TPS 會讓區塊廣播變慢,進而導致共識不穩定,這點在區塊時間短的以太坊上尤其明顯。可是如果單看執行一個區塊內的交易所花的時間的話,實際上是遠遠低於區塊間隔的。
只有在收到新區塊的時候,節點才會執行狀態轉移函數,並根據執行結果是否合法來決定要不要把區塊資訊再廣播出去。不過其實只要給定了交易集合,新的狀態 s’ = STF(s, tx) 應該是確定性的。
於是我們有了一個大膽的想法:何不乾脆將交易執行結果移出共識外呢?反正只要大家有對這個區塊要打包哪些交易有共識,計算的結果完全可以當作業留給大家自己算吧。如果真的不放心,我們也可以晚點再一起對個答案,也就是把這個區塊執行後的新狀態根包在下個區塊頭裡面。
這就是對狀態更新的管線化,在區塊 T 中敲定交易順序但暫不執行,區塊 T+1 的時候才更新狀態(以及下一批交易)。這麼做的好處十分顯而易見,就是將原本最緊繃的狀態計算時間攤平了,從原本毫秒必爭的廣播期移出來,變成只要在下個塊出來之前算完就好,有好幾秒的時間可以慢慢來。新區塊在廣播的每個 hop 之間只要驗證交易格式合法(簽名正確,有足夠的錢付手續費)就可以放行了,甚至有些更激進的方案連驗簽名都省略了,如果真的有不合法交易混進去就在下個區塊處罰礦工/提案者便是。
把負擔最重的交易執行移出共識,光用想的就覺得效能要飛天,那代價呢?代價是區塊的使用程度會變得不穩定。因為我們省略了執行,所以對於一筆交易實際用掉多少 gas 是未知的。本來礦工會完整的執行所有交易,並盡可能的塞滿區塊空間,然而在沒有執行的情況下,只能以使用者設定的 gas limit 當作它的用量,能打包的交易會比實際的上限少。
緊接著,下一個問題是退費困難。如果我們仍然將沒用完的手續費退還給使用者,惡意的攻擊者可以透過發送 gas limit 超大,實際用量很小的交易,以接近零的成本「霸佔」區塊空間。所以像已故區塊鏈 DEXON 就直接取消 gas refund,杜絕濫用的可能。但顯然這在使用者體驗和區塊空間效率上都是次優的。
而最近推出的 smartBCH 嘗試擬了一套複雜的退款規則:交易執行後剩餘的 gas 如果小於 gas limit 的一半(代表不是故意的)就退款;如果剩餘量介於 50%-75% 可以退一半;超過 75% 推斷為惡意,不退款。乍看是個合理的方案,仔細一想會發現製造的問題似乎比解決的還多。無論如何,沒用掉的空間終究是浪費了,而根據殘氣比例決定是否退款也不會是個好政策,對於有條件判斷的程式,可能要實際執行才知道走哪條路,gas limit 一定是以高的情況去設定,萬一進到 gas 用量少的分支,反而會噴更多錢,怎麼想都不太合理。
安全考量,退費大概是沒希望了。不過呢,最近以太坊剛上線的 EIP1559 似乎給了一點方向,如果區塊的使用程度能以某種回授控制的方式調節,即使偶爾挖出比較空的區塊似乎也無傷大雅,也許能研究看怎麼把兩者融合吧。
管線化方案的發展性
考慮到以太坊已經堅定地選擇了分片的路線,比較激進的單鏈高 TPS 管線化改造方案應該不太有機會出線,不過管線化畢竟是種歷史悠久的軟體最佳化技巧,還是很有機會被使用在其他地方的,也許是 VDF 之於信標鏈,也許是 rollup 的狀態轉換證明,可以坐等開發者們表演。
倒是那些比較中心化的 EVM fork/sidechain,尤其是專門只 for DeFi 的鏈,管線化加速可以在不破壞交易原子性的前提下擴容,確實是有一些比分片優秀的地方可以說嘴,值得研究研究,但這就要看那些機房鏈們有沒有上進心,願不願意在分叉之餘也投資發展自己的新技術了。
給我錢
ping.eth
區塊鏈管線化的效能增進與瓶頸 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
同時也有2217部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,Excel高階函數與VBA設計2020第1次上課 上課內容: 01_填寫課前問卷與下載檔案 02_問卷結果與文字與資料函數 03_REPT函數說明 04_LEN與IF邏輯判斷與MID函數 05_綜合練習 06_錄製巨集預告與改用TEXT函數 完整影音 https://www.youtube.c...
「一次函數判斷」的推薦目錄:
- 關於一次函數判斷 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於一次函數判斷 在 大詩人的寂寞投資筆記 Facebook 的最讚貼文
- 關於一次函數判斷 在 台灣物聯網實驗室 IOT Labs Facebook 的最佳解答
- 關於一次函數判斷 在 吳老師教學部落格 Youtube 的最佳貼文
- 關於一次函數判斷 在 吳老師教學部落格 Youtube 的最佳解答
- 關於一次函數判斷 在 吳老師教學部落格 Youtube 的最佳解答
- 關於一次函數判斷 在 判斷y 是否為x 的函數 - YouTube 的評價
- 關於一次函數判斷 在 最新課綱九下數學~ 一次函數複習(2) - Facebook 的評價
一次函數判斷 在 大詩人的寂寞投資筆記 Facebook 的最讚貼文
「利潤」究竟是什麼
這一講不是要講經商,我們小小地梳理一個大大的話題:從經濟學角度看,人生應該追求什麼。
簡單地說,最值得追求的東西是「利潤」。
我不信你會不想要利潤。利潤是收入減去成本剩下的那一部分,是收穫比付出多出來的部分。利潤是正的,說明你的一切努力都沒有白費,說明瞭社會對你的肯定。利潤要是負的,就說明你創造的價值配不上你的一番折騰。
但你要是細想,利潤是一個神秘的東西。
*
你必須直接去市場上買賣點什麼東西才談得上利潤。上班拿固定工資是沒有利潤的。哪怕你工資再高,那也只是你的勞動所得,都是根據你這個水平,你應該得的,是市場認為正好等於你的付出的回報 —— 這表現在你要是不上班就沒有收入。
而利潤則是「不該得」的東西,可以說是躺著賺的錢。這個性質曾經使得有些思想家認為拿利潤是不道德的。
馬克思譴責利潤。你開個工廠,買了機器和廠房,雇了工人,進了一批原材料,工人生產出產品,你把產品賣掉。然後你一算賬,賣產品的收入減去工人工資、機器廠房和原材料的花費,還多出來了一筆錢,這就是利潤。你欣然把這筆錢放入自己口袋。馬克思說且慢!工人累死累活工作才拿那麼一點工資,你幹什麼了就拿這麼多錢,你那叫剩餘價值!你無償佔有了別人創造的價值。
你當然不服氣。你說不是啊,我管理工人,我組織生產,我聯繫了進貨和銷售,我安排廠裡的大事小情,這怎麼不是創造價值呢?
馬克思會告訴你,你做的這些事兒的確也是勞動,你可以拿一份高工資,但你的工資不會像利潤那麼高。你完全可以雇一個職業經理人替你管理工廠。你把職業經理人的工資發了,還會剩下一筆錢,這筆錢才是真正的利潤。
這個計算讓馬克思深感憤怒,產生了深遠的影響……咱們還是單說資本主義這邊對此是怎麼想的。崇尚市場的經濟學家也算了這個賬,但結果是利潤好像不應該存在。
我們假設老張開工廠賺了一萬塊錢的「淨」利潤。這個是把老張本人付出的管理勞動該拿的那部分報酬去掉之後剩下的錢,是老張「躺賺」的錢。那如果是這樣的話,市場上就應該出來一個老李:老李說既然是躺賺,我不用那麼高的利潤,我躺賺五千元就行,我願意把商品賣便宜點,給工人工資高點。那你說老張能幹過老李嗎?
你很容易想到老張繼續存在的理由。比如老張有資本而老李沒有。或者老張跟政府關係好,壟斷了這塊業務。或者老張掌握一個技術護城河,老李學不會。但是對經濟學家來說這些都不是本質問題:資本可以貸款,跟政府的關係可以用一個更好的條件重新談,技術可以請人研發。事實上,經濟學家的推理是,哪怕現在還沒有一個具體的老李,只要市場存在老李出現的可能性,老張就不敢壓榨太高的利潤,他必須用比較低的價格和比較高的工資預防老李的出現。
要這麼算的話,市場充分競爭的結果一定會把利潤變成 0。總會有一個老王出來,說我就當自己是個職業經理人跟大家交朋友算了,我拿個應得的工資就行,利潤我不要。
那真實世界里的利潤是從哪來的呢?當然市場不可能是充分競爭的,總會有些老張偶爾能享受到利潤……但市場力量應該讓利潤越來越薄才對。經濟學家必須找到一個產生利潤的過硬的機制,否則解釋不了為什麼總有人拿那麼高的利潤……甚至解釋不了為什麼有人願意開公司。
*
利潤從哪裡來這個問題的解決,在經濟學史上是一個里程碑。1921年,美國經濟學家弗蘭克·奈特(Frank Knight, 1885-1972)出版了《風險、不確定性與利潤》(Risk, Uncertainty, and Profit)一書 [1],提出了一個傳世的洞見:利潤來自不確定性。
組織生產、採購和營銷、日常的管理,企業中一切常規的操作都可以由拿固定工資的人做,只有一件事必須由企業家本人做,那就是風險決策。
比如說,為了在今年秋季上市一批新女裝,我們必須在夏天就定下來款式,備工備料,展開生產。可是秋天還沒到,現在誰也不知道到時候流行哪個款式,那我們生產什麼呢?這個決策,必須由企業家本人做出。為什麼?因為他是承擔決策風險的人。
如果你賭對了,秋季正好流行這款女裝,因為別的服裝廠沒生產只有你生產出來了,你就佔據了稀缺,你就可以要一個高價,利潤歸你。你要是賭錯了,到時候服裝賣不出去,工人和經理們還是會拿同樣的工資,損失也歸你。
生產、日常管理、冒險,是三種不同的能力。為什麼企業家要開公司?因為他敢冒險。為什麼工人和經理人選擇拿固定工資?因為他們不想冒險。
這個道理聽著挺簡單,但是其中有個大學問。奈特之前的經濟學家也想到了企業家承擔風險,但是他們沒搞清楚到底什麼是風險。
*
如果女裝只有比如粉色和綠色兩個選擇,而且你明確知道它們流行的可能性都是 50% —— 那這個風險其實不用企業家承擔。因為你可以買保險!概率已知的風險都是可以管理的。銀行可以給生產兩款女裝的工廠都提供貸款,到時候肯定一個賠錢一個賺錢,只要利息和保險合適,銀行和企業雙贏。有這個保險機制在,大家誰都不用冒險,可以各自拿一份固定工資,根本不需要企業家。
奈特的真正貢獻在於,他把風險給分成了兩種。
第一種就叫「風險(risk)」,但是特指那些已知概率大小的風險。這種可以用保險解決,不需要企業家。
第二種叫「不確定性(uncertainty)」,是指那些無法評估概率大小,可能是從來沒出現過的新事物,甚至是現在人們根本無法想象的東西。這個不確定性,才是企業家存在的理由,才是利潤的來源。
現代經濟學家把這個不確定性特別稱為「奈特不確定性(Knightian uncertainty)」。我們專欄講過 [2],統計學家有個更科學的說法。已知概率大小的,叫做「偶然不確定性(Aleatoric uncertainty)」, 也叫統計不確定性。不知道概率大小的,叫做「認知不確定性(Epistemic uncertainty)」,也叫系統不確定性。前者發生的事情都是你事先能想到的,後者則是你想不到的。比如「黑天鵝」事件,就是一種認知不確定性。
你開一個賭場。賭場每天都在跟賭徒們賭博,但是因為輸贏的概率是固定的而且有利於你,所以你的日常經營本身並不是冒險。真正的冒險是要不要開這個賭場:你能預測客流量足夠讓你收回投資嗎?你能擺平當地黑社會嗎?你能確保政府發展博彩業的政策不會變嗎?這些事兒沒法計算概率。
搞定這些不確定性,才是企業家該乾的事兒,也是企業家的回報所在。
流行趨勢通常不能用以往的經驗判斷。有個企業家認准了一個全新的款式,說我非得生產這個,銀行能給他擔保嗎?這個不確定性沒法系統化管理,他自己必須承擔 —— 這才是企業家存在的意義。你要是願意給這樣的項目投資、分擔不確定性 —— 而不是把錢交給銀行拿固定的利息 —— 你也是企業家。
要做服裝這一行的企業家,你肯定得對流行趨勢有個很好的感覺才行。不過企業家本人不一定非得特別懂女裝 —— 他完全可以請人來給他設計,只是設計師不承擔不確定性,人家拿固定的設計費,風險還是要由企業家承擔。
簡單說,企業家,是市場上的 player。他拒絕聽別人的安排,非得按照自己的想法決定做什麼,然後他安排別人也按照這個想法去做,最後他獨自承擔後果。
*
奈特找到了公司存在的最根本理由。市場競爭再充分也不可能是絕對可預測的,未來總會有各種各樣的不確定性,需要企業家在各個方向上大膽探索。奈特後來成為經濟學的大宗師,他本人沒得過諾貝爾獎但是他有五個弟子得了諾貝爾經濟學獎,他是「芝加哥學派」的祖師爺。
奈特之後,別的經濟學家又找到了公司存在的其他理由。比如科斯說公司減少了交易成本能起到協調作用。張五常說公司提供了合約。還有人說公司解決了監督、提供了資源獨特性……等等等 [3],但是奈特這個「不確定性」的說法,是最根本的。
如果從某一天開始,世界上再也沒有不確定性了,那麼市場的力量就會迅速把公司利潤變成 0:企業家就不需要存在,大家都應該拿固定工資。
其實現在企業家的日子也不好過。我們看街上那些餐館,開了關關了開,真正能長期賺錢的沒有幾家,可能大部分老闆都是賠錢。沒有稀缺是不可能賺到錢的,但是利潤只發生在你剛剛掌握某種稀缺、而別人還沒有跟上的那個時間段。別人跟上了,模仿了,你就必須再去尋找新的不確定性。
一切賺錢的生意都有不確定性。你把一大筆錢放銀行裡拿利息,那叫躺著花錢不叫躺著賺錢。哪怕是買幾套房子收租金,你都得面對房產市場的不確定性。
世界上沒有一勞永逸的利潤,也沒有真正躺著賺錢的企業家。
那你說平均而言,企業家的收益是正的還是負的呢?我到底該不該去做個企業家呢?沒有答案。有答案就不叫不確定性了。
*
不確定性都是從哪來的呢?一個有意思的不確定性是中國經濟學家張維迎在 2008 年的一次演講中說的 [4]。他說中國改革開放這麼多年之中,商業活動最大的不確定性,是「體制的不確定性,政策的不確定性,政府行為的不確定性。」這體現在政府對資源的調配非常隨意。
張維迎當時說,正是這個不確定性加劇了中國的貧富差距。在中國市場化程度高,體制不確定性低的地區,比如浙江省,人們更富裕,收入差距反而更低:因為利潤分布更均勻。
這個規律是不確定性越大,利潤就越高 —— 企業家為利潤而奮鬥,但是市場看不見的手恰恰在降低總利潤。是那些看得見的手,提供了額外的不確定性,才給人帶來不合理的利潤。
那你說如果我們把體制給理順,讓競爭越來越公平,未來的不確定性會不會越來越少呢?不一定。
*
奈特列舉了不確定性的好幾種來源,比如未來人口的變化、資源的供給等等。其中我們現代人最關注的肯定是創新。創新本質上是不可預測的,你不知道未來會有什麼新技術出來,你也不知道一個新技術出來會不會被市場接受。一切創新都有強烈的冒險成分,關於這一點已經有太多經濟學家討論了。
而奈特更厲害的一個洞見,則是「價值」的不確定性。說白了就是人的慾望的不確定性,你不知道未來的人喜歡什麼。奈特 1924 年發表了一篇文章叫《經濟學中科學方法的局限性》,說經濟學不僅僅是什麼資源的有效調配,把一個什麼價值函數最大化的問題,因為人的價值觀是會變的 ——
「人生在根本上是對價值的探索,是努力發現新價值,而不是照著現有的價值觀把生產和享受最大化。」[5]
一百多年前整天坐馬車的人沒有想要一輛汽車。2006 年以前的人並不期待智能手機。今天的多數人不能理解馬斯克為什麼非得讓人去火星。人生的終極任務不是滿足某種價值,而是發現和創造新價值。
因為這個見識,奈特後來被認為是個道德哲學家,而不僅僅是個經濟學家。
也因為這一點,你不需要非得是個企業家,也不一定非得拿金錢利潤。藝術家、教育家、每個工人和管理者、包括每個消費者,都可以是價值的發現者和不確定性的製造者。
只要把周圍的世界往你想的那個方向上推動一小步,就算是你的成功。
注釋
[1] 弗蘭克·奈特,《風險、不確定性和利潤》,中文有郭武軍、劉亮翻譯版,華夏出版社 2013。
[2] 精英日課第三季,哪種不確定性?什麼黑天鵝?
[3] 關於公司為什麼存在的理論發展總結,可參考向松祚,《新經濟學》第二卷,新經濟範式。
[4] 張維迎的這次演講首次發表於《經濟觀察報》2008年1月20日,修改後的文章曾收入作者主編的《中國改革30年:10位經濟學家的思考》。
[5] Frank Knight (1924), "The limitations of scientific method in economics」, 原文是「Now this, we shall contend, is not very far; the scientific view of life is a limited and partial view; life is at bottom an exploration in the field of values, an attempt to discover values, rather than on the basis of knowledge of them to produce and enjoy them to the greatest possible extent. We strive to "know ourselves," to find out our real wants, more than to get what we want. This fact sets a first and most sweeping limitation to the conception of economics as a science.」
一次函數判斷 在 台灣物聯網實驗室 IOT Labs Facebook 的最佳解答
為了讓 AI 不斷打怪升級,DeepMind 打造「宇宙」
作者 雷鋒網 | 發布日期 2021 年 07 月 30 日 8:15 |
DeepMind 又給我們小驚喜。我們都知道,強化學習苦於類化能力差,經常只能針對單個任務從頭學習。
DeepMind之前開發的AlphaZero,儘管可以玩圍棋、西洋棋和日本將棋,但每種棋牌遊戲都只能從頭訓練。類化能力差也是AI一直被詬病為人工智障的一大原因。人類智慧的厲害之處,就在藉鑑之前經驗迅速適應新環境。
但類化能力不是一蹴而就,就像玩遊戲,也是先做簡單任務,逐步升級到複雜任務。《空洞騎士》(Hollow Knight)一開始只需要隨意走動揮刀砍怪,但噩夢級難度的「苦痛之路」關,沒有前面累積的技巧,只能玩寂寞。
多任務宇宙
DeepMind此次採用「課程學習」,讓智慧體於不斷擴展升級的開放世界學習。也就是說,AI新任務(訓練資料)是基於舊任務不斷生成。智慧體可盡情鍛鍊自己,簡單的如「靠近紫色立方體」,複雜點的如「靠近紫色立方體或將黃色球體放在紅色地板」,甚至和其他智慧體玩耍,如捉迷藏──「找到對方,且不要被對方發現」。
每個小遊戲存在世界小角落,千千萬萬個小角落拼成龐大的物理模擬世界,如下圖的幾何「地球」。總體來說這個世界的任務由三個要素構成,即任務=遊戲+世界+玩家,並根據三要素關係,決定任務的複雜度。
複雜度的判斷有四個維度:競爭性、平衡性、可選項、探索難度。
比如「搶方塊」遊戲,藍色智慧體需要把黃色方塊放到白色區域,紅色智慧體需要把黃色方塊放到藍色區域。這兩個目標矛盾,因此競爭性較強;同時雙方條件對等,平衡性比較高;因目標簡單,所以可選項少;DeepMind把探索難度評為中上,可能是因定位區域算較複雜的場景。
再如「球球喜歡和方塊一起玩」遊戲,藍色和紅色智慧體有共同目標,讓相同顏色的球體和方塊放在相近位置。
這時競爭性自然很低,平衡性毋庸置疑很高的;可選項比上面遊戲高很多;探索難度沒有定位區域,智慧體隨便把球體和方塊放哪都行,難度就變小了。
基於這四個維度,DeepMind打造超大規模「宇宙」任務空間,幾何「地球」也只是這宇宙的小角落,是四維任務空間的一點。DeepMind將「宇宙」命名為XLand,包含數十億個任務。
來看XLand的全貌,由一系列遊戲組成,每個遊戲在許多模擬世界進行,這些世界的拓樸和特徵平滑變化。
終生學習
數據有了,接下來得找到合適的算法。 DeepMind發現,目標注意代理(GOAT)可學習更通用的策略。
具體來說,智慧體輸入包括第一視角的RGB圖像、本體感覺以及目標。經過初步處理後,生成中間輸出,傳遞給GOAT模組,會根據智慧體目前目標處理中間輸出的特定部分,邏輯分析目標。
邏輯分析是指,每個遊戲可藉由一些方法,構建另一個遊戲,並限制策略的價值函數的最優值上限或下限。
DeepMind提出一個問題:對每個智慧體,什麼樣的任務是最好的?換句話說,打怪升級時,什麼樣的關卡設置才讓玩家順利升級為「真」高手,而不是一刀9999?
DeepMind的答案是,每個新任務都基於舊任務生成,「不會太難,也不會太容易」。其實恰好是讓人類學習時感覺「爽」的興奮點。
訓練開始時,太難或太容易的任務可能會鼓勵早期學習,但會導致訓練後期的學習飽和或停滯。不要求智慧體某任務非常優秀,而是鼓勵終身學習,即不斷適應新任務。所謂太難、太容易是較模糊的描述。需要量化方法,在新任務和舊任務之間彈性連接。
怎麼不讓智慧體做新任務時不適應而「暴死」?進化學習就提供很好的靈活性。總體來說,新任務和舊任務同時進行,且每個任務有多智慧體參與「競爭」。舊任務適應好的智慧體,會選拔到新任務繼續學習。
新任務中,舊任務的優秀智慧體權重、瞬間任務分佈、超參數都會複製,參與新一輪「競爭」。除了舊任務的優秀智慧體,還有很多新人參與,這就引進隨機性、創新性、靈活性,不用擔心「暴死」問題。
當然,因任務不斷生成、動態變化,一個任務可訓練不同長處的智慧體,並往不同方向演化(隨著智慧體相對性能和強健性進行)。最終每個智慧體都會形成擅長任務的集合,就像春秋戰國時期「百家爭鳴」。說打怪升級顯得格局小,簡直是模擬地球。
DeepMind表示,「這種組合學習系統的特性是,不最佳化有界性能指標,而是更新定義的通用能力範圍,這使智慧體開放式學習,僅受環境空間和智慧體的神經網路表達能力的限制。」
智慧初現
最終這複雜「宇宙」升級、進化、分流的智慧體長成了什麼優秀物種?DeepMind說,智慧體有很明顯的零樣本學習能力,比如使用工具、合圍、數數、合作+競爭等。
來看具體例子。首先智慧體學會臨機應變。目標有三個:
黑色金字塔放到黃色球體旁邊
紫色球體放到黃色金字塔旁邊
黑色金字塔放到橙色地板
AI一開始找到一個黑色金字塔,想拿到橙色地板(目標3),但搬運過程瞄見黃色球體,瞬間改變主意,「我可以實現目標1啦」,將黑色金字塔放到黃色球體旁邊。
第二個例子是,不會跳高,怎麼拿到高台上的紫色金字塔?智慧體需要想辦法突破障礙,取得高台上的紫色金字塔,高台周邊並沒有類似階梯、斜坡的路。
因不會跳高,所以智慧體「掀桌子」,把周邊幾塊豎起來的板子弄倒。然後一塊黑色石板剛好倒在高台邊,「等等,這不就是我要的階梯嗎?」這過程是否體現了慧體的智慧,還無法肯定,可能只是一時幸運。關鍵還是,要看統計數據。
經過5代訓練,智慧體在XLand的4千個獨立世界玩了約70萬個獨立遊戲,涉及340萬個獨立任務,最後一代每個智慧體都經歷2千億次訓練步驟。智慧體已能順利參與幾乎每個評估任務,除了少數即使人類也無法完成的任務。
DeepMind的研究,或許一定程度體現「密集學習」重要性。也就是說,不僅資料量要大,任務量也要大。這也使得智慧體在類化能力有很好表現,如資料顯示,只需對一些新複雜任務進行30分鐘集中訓練,智慧體就可快速適應,而從頭開始用強化學習訓練的智慧體根本無法學習這些任務。
往後我們也期待這「宇宙」更複雜和生機勃勃,AI經過不斷演化,不斷給我們帶來驚喜(細思極恐)的體驗。
資料來源:https://technews.tw/2021/07/30/deepmind_xland/
一次函數判斷 在 吳老師教學部落格 Youtube 的最佳貼文
Excel高階函數與VBA設計2020第1次上課
上課內容:
01_填寫課前問卷與下載檔案
02_問卷結果與文字與資料函數
03_REPT函數說明
04_LEN與IF邏輯判斷與MID函數
05_綜合練習
06_錄製巨集預告與改用TEXT函數
完整影音
https://www.youtube.com/playlist?list=PLYDN7SApJ3Pj1QYalDCQsKpVWCz2uO7tR
教學論壇:
https://groups.google.com/forum/#!forum/excel2vba2020
請先完成課前問卷:
gg.gg/excel2vbaform2
與下載範例檔案:
gg.gg/excel2vba
請先下載範例檔案,一邊觀看,一邊練習,
有問題請在討論區或YOUTUBE下方發問,
東吳遠距教學選課學生,請在觀看完,在MOODLE回覆看完影片。
若練習完成請存檔,之後會再講如何繳交作業方式。
成績核算分別為期中+期末+平時成績+作業成績
課程理念:
1.以循序漸進的方式, 透過詳細的說明和實用的50個Excel VBA範例,
帶領您輕鬆進入 Excel VBA 設計的領域, 並逐步了解整個 VBA 的架構與輪廓,進而學習 VBA 變數、常數、函式及邏輯的觀念, 即使沒有任何程式設計基礎,也能自己親手撰寫 VBA 程序來提昇工作效率, 晉身職場 Excel 高手!
2.進而解說EXCEL與資料庫的結合,甚至將EXCEL當成資料庫來使用,
結合函數、VBA等更深入的功能,讓資料處理和分析的應用更上層樓。
五大類函數與自訂函數
一、文字和資料函數
二、邏輯函數
三、日期和時間函數
四、數學和三角函數
五、檢視和參照函數
上課用書:
Excel VBA一點都不難:一鍵搞定所有報表
超圖解 Excel VBA 基礎講座
吳老師 110/9/27
函數,元智大學,程式設計,線上教學excel vba教學電子書,excel vba範例,vba語法,vba教學網站,vba教學講義,vba範例教學,excel vba教學視頻
一次函數判斷 在 吳老師教學部落格 Youtube 的最佳解答
Excel高階函數與VBA設計2020第1次上課
上課內容:
01_填寫課前問卷與下載檔案
02_問卷結果與文字與資料函數
03_REPT函數說明
04_LEN與IF邏輯判斷與MID函數
05_綜合練習
06_錄製巨集預告與改用TEXT函數
完整影音
https://www.youtube.com/playlist?list=PLYDN7SApJ3Pj1QYalDCQsKpVWCz2uO7tR
教學論壇:
https://groups.google.com/forum/#!forum/excel2vba2020
請先完成課前問卷:
gg.gg/excel2vbaform2
與下載範例檔案:
gg.gg/excel2vba
請先下載範例檔案,一邊觀看,一邊練習,
有問題請在討論區或YOUTUBE下方發問,
東吳遠距教學選課學生,請在觀看完,在MOODLE回覆看完影片。
若練習完成請存檔,之後會再講如何繳交作業方式。
成績核算分別為期中+期末+平時成績+作業成績
課程理念:
1.以循序漸進的方式, 透過詳細的說明和實用的50個Excel VBA範例,
帶領您輕鬆進入 Excel VBA 設計的領域, 並逐步了解整個 VBA 的架構與輪廓,進而學習 VBA 變數、常數、函式及邏輯的觀念, 即使沒有任何程式設計基礎,也能自己親手撰寫 VBA 程序來提昇工作效率, 晉身職場 Excel 高手!
2.進而解說EXCEL與資料庫的結合,甚至將EXCEL當成資料庫來使用,
結合函數、VBA等更深入的功能,讓資料處理和分析的應用更上層樓。
五大類函數與自訂函數
一、文字和資料函數
二、邏輯函數
三、日期和時間函數
四、數學和三角函數
五、檢視和參照函數
上課用書:
Excel VBA一點都不難:一鍵搞定所有報表
超圖解 Excel VBA 基礎講座
吳老師 110/9/27
函數,元智大學,程式設計,線上教學excel vba教學電子書,excel vba範例,vba語法,vba教學網站,vba教學講義,vba範例教學,excel vba教學視頻
一次函數判斷 在 吳老師教學部落格 Youtube 的最佳解答
Excel高階函數與VBA設計2020第1次上課
上課內容:
01_填寫課前問卷與下載檔案
02_問卷結果與文字與資料函數
03_REPT函數說明
04_LEN與IF邏輯判斷與MID函數
05_綜合練習
06_錄製巨集預告與改用TEXT函數
完整影音
https://www.youtube.com/playlist?list=PLYDN7SApJ3Pj1QYalDCQsKpVWCz2uO7tR
教學論壇:
https://groups.google.com/forum/#!forum/excel2vba2020
請先完成課前問卷:
gg.gg/excel2vbaform2
與下載範例檔案:
gg.gg/excel2vba
請先下載範例檔案,一邊觀看,一邊練習,
有問題請在討論區或YOUTUBE下方發問,
東吳遠距教學選課學生,請在觀看完,在MOODLE回覆看完影片。
若練習完成請存檔,之後會再講如何繳交作業方式。
成績核算分別為期中+期末+平時成績+作業成績
課程理念:
1.以循序漸進的方式, 透過詳細的說明和實用的50個Excel VBA範例,
帶領您輕鬆進入 Excel VBA 設計的領域, 並逐步了解整個 VBA 的架構與輪廓,進而學習 VBA 變數、常數、函式及邏輯的觀念, 即使沒有任何程式設計基礎,也能自己親手撰寫 VBA 程序來提昇工作效率, 晉身職場 Excel 高手!
2.進而解說EXCEL與資料庫的結合,甚至將EXCEL當成資料庫來使用,
結合函數、VBA等更深入的功能,讓資料處理和分析的應用更上層樓。
五大類函數與自訂函數
一、文字和資料函數
二、邏輯函數
三、日期和時間函數
四、數學和三角函數
五、檢視和參照函數
上課用書:
Excel VBA一點都不難:一鍵搞定所有報表
超圖解 Excel VBA 基礎講座
吳老師 110/9/27
函數,元智大學,程式設計,線上教學excel vba教學電子書,excel vba範例,vba語法,vba教學網站,vba教學講義,vba範例教學,excel vba教學視頻
一次函數判斷 在 最新課綱九下數學~ 一次函數複習(2) - Facebook 的推薦與評價
最新課綱🔯 九下數學~ 一次函數 複習(2) ⭐講義第3~4頁⭐函數圖形的 判斷 ⭐ 一次函數 圖形的畫法⭐線型函數與兩軸圍成面積的問題⭐適用現在就讀國三學生⭐ ... ... <看更多>
一次函數判斷 在 判斷y 是否為x 的函數 - YouTube 的推薦與評價
【均一x 酷課雲】【八年級數學】 函數 ... 1-2 函數 的概念(內容: 函數 、 函數 符號、合成 函數 、 判斷 y是否為x 函數 、隱 ... 7年級數學| 一次 弄懂 函數 關係. ... <看更多>