干貨!淺談AlphaGo背后所涉及的深度學習技術
尹相志 | 2016-03-14 11:44
【數(shù)據(jù)猿導讀】 現(xiàn)在計算機在圍棋這個號稱人類最后的堡壘中勝過了人類,那我們是不是要擔心人工智能統(tǒng)治人類的一天到來,其實不必杞人憂天,因為在人工智能的分類上來說,區(qū)分為弱人工智能與強人工智能。其中最大的差別在于弱人工智能不具備自我意識、不具備理解問題、也不具備思考、計劃解決問題的能力

導讀:關于Alfa Go的評論文章很多,但真正能夠與開發(fā)團隊交流的卻不多,感謝Alfa Go開發(fā)團隊DeepMind的朋友對我這篇文章內(nèi)容的關注與探討,指出我在之前那一版文章中用字上的不夠精確,所以在此又作調(diào)整。我之前文章提到的「全局」指的是跨時間點的整場賽局,很容易被誤認為是某個特定時點整個棋盤的棋局,所以后面全部都修改為「整體棋局」。此外,關于整體棋局評估,除了透過脫機數(shù)據(jù)學習的評價網(wǎng)絡之外,還可以透過根據(jù)目前狀態(tài)實時計算的不同策略評價差異(這項技術稱之為Rollouts),它透過將計算結果進行快取,也能做到局部考慮整體棋局的效果。再次感謝DeepMind朋友的斧正。
在人類連輸AlphaGo三局后的今天,正好是一個好時機,可以讓大家對于AlphaGo所涉及的深度學習技術能夠有更多的理解(而不是想象復仇者聯(lián)盟中奧創(chuàng)將到來的恐慌)。在說明Alpha Go的深度學習技術之前,我先用幾個簡單的事實總結來厘清大家最常誤解的問題:
●AlphaGo這次使用的技術本質(zhì)上與深藍截然不同,不再是使用暴力解題法來贏過人類。
●沒錯,AlphaGo是透過深度學習能夠掌握更抽象的概念,但是計算機還是沒有自我意識與思考。
●AlphaGo并沒有理解圍棋的美學與策略,他只不過是找出了2個美麗且強大的函數(shù)來決定他的落子。
什么是類神經(jīng)網(wǎng)絡?
其實類神經(jīng)網(wǎng)絡是很古老的技術了,在1943年,Warren McCulloch以及Walter Pitts首次提出神經(jīng)元的數(shù)學模型,之后到了1958年,心理學家Rosenblatt提出了感知器(Perceptron)的概念,在前者神經(jīng)元的結構中加入了訓練修正參數(shù)的機制(也是我們俗稱的學習),這時類神經(jīng)網(wǎng)絡的基本學理架構算是完成。類神經(jīng)網(wǎng)絡的神經(jīng)元其實是從前端收集到各種訊號(類似神經(jīng)的樹突),然后將各個訊號根據(jù)權重加權后加總,然后透過活化函數(shù)轉換成新訊號傳送出去(類似神經(jīng)元的軸突)。
至于類神經(jīng)網(wǎng)絡則是將神經(jīng)元串接起來,我們可以區(qū)分為輸入層(表示輸入變量),輸出層(表示要預測的變量),而中間的隱藏層是用來增加神經(jīng)元的復雜度,以便讓它能夠仿真更復雜的函數(shù)轉換結構。每個神經(jīng)元之間都有連結,其中都各自擁有權重,來處理訊號的加權。
傳統(tǒng)的類神經(jīng)網(wǎng)絡技術,就是透過隨機指派權重,然后透過遞歸計算的方式,根據(jù)輸入的訓練數(shù)據(jù),逐一修正權重,來讓整體的錯誤率可以降到最低。隨著倒傳導網(wǎng)絡、無監(jiān)督式學習等技術的發(fā)展,那時一度類神經(jīng)網(wǎng)絡蔚為顯學,不過人類很快就遇到了困難,那就是計算能力的不足。因為當隱藏層只有一層的時候,其實大多數(shù)的狀況,類神經(jīng)網(wǎng)絡的分類預測效果其實并不會比傳統(tǒng)統(tǒng)計的羅吉斯回歸差太多,但是卻要耗費更龐大的計算能力,但是隨著隱藏層神經(jīng)元的增加,或者是隱藏層的增加,那么所需要計算權重數(shù)量就會嚴重暴增。所以到了八十年代后期,整個類神經(jīng)網(wǎng)絡的研究就進入了寒冬,各位可能只能在洗衣機里體會到它小小威力(現(xiàn)在洗衣機里根據(jù)倒入衣物評估水量與運行時間很多都是用類神經(jīng)網(wǎng)絡作的),說真的,類神經(jīng)網(wǎng)絡一點都沒有被認為強大。
這個寒冬一直持續(xù)到2006年,在Hinton以及Lecun小組提出了「A fast learning algorithm for deep belief nets」論文之后,終于有了復蘇的希望,它們提出的觀點是如果類神經(jīng)網(wǎng)絡神經(jīng)元權重不是以隨機方式指派,那么應該可以大幅縮短神經(jīng)網(wǎng)絡的計算時間,它們提出的方法是利用神經(jīng)網(wǎng)絡的非監(jiān)督式學習來做為神經(jīng)網(wǎng)絡初始權重的指派,那時由于各家的論文期刊只要看到類神經(jīng)網(wǎng)絡字眼基本上就視為垃圾不刊登,所以他們才提出深度學習這個新的字眼突圍。除了Hinton的努力之外,得力于摩爾定律的效應,我們可以用有更快的計算能力,Hinton后來在2010年使用了這套方法搭配GPU的計算,讓語音識別的計算速度提升了70倍以上。深度學習的新一波高潮來自于2012年,那年的ImageNet大賽(有120萬張照片作為訓練組,5萬張當測試組,要進行1000個類別分組)深度學習首次參賽,把過去好幾年只有微幅變動的錯誤率,一下由26%降低到15%。而同年微軟團隊發(fā)布的論文中顯示,他們透過深度學習將ImageNet 2012數(shù)據(jù)集的錯誤率降到了4.94%,比人類的錯誤率5.1%還低。而去年(2015年)微軟再度拿下ImageNet 2015冠軍,此時錯誤率已經(jīng)降到了3.57%的超低水平,而微軟用的是152層深度學習網(wǎng)絡(我當初看到這個數(shù)字,嚇都嚇死了)....
卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network)
在圖像識別的問題上,我們處理的是一個二維的神經(jīng)網(wǎng)絡結構,以100*100像素的圖片來說,其實輸入數(shù)據(jù)就是這10000像素的向量(這還是指灰階圖片,如果是彩色則是30000),那如果隱藏層的神經(jīng)元與輸入層相當,我們等于要計算10的8次方的權重,這個數(shù)量想到就頭疼,即使是透過并行計算或者是分布式計算都恐怕很難達成。因此卷積神經(jīng)網(wǎng)絡提出了兩個很重要的觀點:
1.局部感知域:從人類的角度來看,當我們視覺聚焦在圖片的某個角落時,距離較遠的像素應該是不會影響到我們視覺的,因此局部感知域的概念就是,像素指需要與鄰近的像素產(chǎn)生連結,如此一來,我們要計算的神經(jīng)連結數(shù)量就能夠大幅降低。舉例來說,一個神經(jīng)元指需要與鄰近的10*10的像素發(fā)生連結,那么我們的計算就可以從10的8次方降低至100*100*(10*10)=10的6次方了。
2.權重共享:但是10的6次方還是很多,所以這時要引入第二個觀念就是權重共享。因為人類的視覺并不會去認像素在圖片上的絕對位置,當圖片發(fā)生了平移或者是位置的變化,我們都還是可以理解這個圖片,這表示我從一個局部所訓練出來的權重(例如10*10的卷積核)應該是可以適用于照片的各個位置的。也就是說在這個10*10范圍所學習到的特征可以變成一個篩選器,套用到整個圖片的范圍。而權重共享造成這10*10的卷積核內(nèi)就共享了相同的權重。一個卷積核可以理解為一個特征,所以神經(jīng)網(wǎng)絡中可以設計多個卷積核來提取更多的特征。下圖是一個3*3的卷積核在5*5的照片中提取特征的示意圖。
卷積層找出了特征后,就可以做為輸入變量到一般的類神經(jīng)網(wǎng)絡進行分類模型的訓練。不過當網(wǎng)絡結構越來越復雜,樣本數(shù)如果不是極為龐大,很容易會發(fā)生過度學習的問題(over-fitting,神經(jīng)網(wǎng)絡記憶的建模數(shù)據(jù)的結構,而非找到規(guī)則)。因此我們后來引入池化 (pooling)或是局部取樣(subsampling)的概念,就是在卷積核中再透過n*n的小區(qū)域進行匯總,來凸顯這個區(qū)域的最顯著特征,以避免過度學習的問題。
所以常見的圖像識別技術(例如ImageNet)就是透過多階段的卷積層+池化層的組合,最后在接入一般的類神經(jīng)網(wǎng)絡架構來進行分類預測。下圖是一個圖像識別的范例。其中的C2、C4、C6都是卷積層,而S3與S5則是池化層。卷積神經(jīng)網(wǎng)絡建構了一個透過二維矩陣來解決抽象問題的神經(jīng)網(wǎng)絡技術。而圖像識別不再需要像過去一樣透過人工先找出圖像特征給神經(jīng)網(wǎng)絡學習,而是透過卷積網(wǎng)絡結構,它們可以自己從數(shù)據(jù)中找出特征,而且卷積層越多,能夠辨識的特征就越高階越抽象。所以你要訓練神經(jīng)網(wǎng)絡從照片中辨識貓或狗,你不再需要自己找出貓或狗的特征注記,而是只要把大量的貓或狗的照片交給神經(jīng)網(wǎng)絡,它自己會找出貓或狗的抽象定義。
講到這里有沒有發(fā)現(xiàn)卷積神經(jīng)網(wǎng)絡作圖像識別與圍棋有甚么相似性?沒錯,圍棋是一個19*19的方陣,而圍棋也是一個規(guī)則不像象棋或西洋棋般的明確,而且具備了很高的需要透過直覺才能判斷落子的特性。這個時候,深度學習就能發(fā)揮極佳的作用,因為程序設計師不需要自己把圍棋的游戲規(guī)則輸入給計算機,它可以透過大量的棋譜自己找出對應的邏輯與抽象概念。
為什么圍棋比較困難?
為什么深藍可以在西洋棋贏過人類但是卻無法贏圍棋,這是因為深藍透過強大的計算能力,將未來局勢的樹狀架構,推導出后面勝負的可能性。但是各位要知道,以西洋棋或中國象棋來說,它的分支因子大概是40左右,這表示預測之后20步的動作需要計算40的20次方(這是多大,就算是1GHz的處理器,也要計算3486528500050735年,請注意,這還是比較簡單的西洋棋),所以他利用了像是MinMax搜索算法以及Alpha-Beta修剪法來縮減可能的計算范圍,基本上是根據(jù)上層的勝率,可能勝的部分多算幾層、輸?shù)纳偎?,無關勝負不算,利用暴力解題法來找出最佳策略。但是很不幸的是,圍棋的分支因子是250,以圍棋19*19的方陣,共有361個落子點,所以整個圍棋棋局的總排列組合數(shù)高達10的171次方,有不少報導說這比全宇宙的原子數(shù)還多,這是采用了之前的一個古老的研究說全宇宙原子數(shù)是10的75次方,不過我對此只是笑笑,我覺得這也是低估了宇宙之大吧。
AlphaGo的主要機制
在架構上,AlphaGo可以說是擁有兩個大腦,兩個神經(jīng)網(wǎng)絡結構幾乎相同的兩個獨立網(wǎng)絡:策略網(wǎng)絡與評價網(wǎng)絡,這兩個網(wǎng)絡基本上是個13層的卷積神經(jīng)網(wǎng)絡所構成,卷積核大小為5*5,所以基本上與存取固定長寬像素的圖像識別神經(jīng)網(wǎng)絡一樣,只不過我們將矩陣的輸入值換成了棋盤上各個坐標點的落子狀況。
第一個大腦「策略網(wǎng)絡」基本上就是一個單純的監(jiān)督式學習,用來判斷對手最可能的落子位置。他的做法是大量的輸入這個世界上職業(yè)棋手的棋譜,用來預測對手最有可能的落子位置。在這個網(wǎng)絡中,完全不用去思考「贏」這件事,只需要能夠預測對手的落子即可。目前AlphaGo預測對手落子位置的正確率是57%(這是刊登在Nature文章時的數(shù)據(jù),現(xiàn)在想必更高了)。那各位可能認為AlphaGo的弱點是否應該就在策略網(wǎng)絡,一方面是預測準確率不高,再者是如果下了之前他沒看過的棋局是不是就有機會可以贏過他。可惜并不是,因為AlphaGo的策略網(wǎng)絡有做了兩個層面增強,第一個層面是利用了名為增強策略網(wǎng)絡(reinforced-learning (RL) policy network)的技術,他先使用部分樣本訓練出一個基礎版本的策略網(wǎng)絡,以及使用完整樣本建立出來的進階版策略網(wǎng)絡,然后讓兩個網(wǎng)絡對弈,后者進階版策略網(wǎng)絡等于是站在基礎版前的「高手」,因此可以讓基礎網(wǎng)絡可以快速的熟即到高手可能落子的位置數(shù)據(jù),進而又產(chǎn)生一個增強版,這個增強版又變成原有進階版的「高手」,以此循環(huán)修正,就可以不斷的提升對于對手(高手)落子的預測。第二個層面則是現(xiàn)在的策略網(wǎng)絡不再需要在19*19的方格中找出最可能落子位置,改良過的策略網(wǎng)絡可以先透過卷積核排除掉一些區(qū)域不去進行計算,然后再根據(jù)剩余區(qū)域找出最可能位置,雖然這可能降低AlphaGo策略網(wǎng)絡的威力,但是這種機制卻能讓AlphaGo計算速度提升1000倍以上。也正因為Alpha Go一直是根據(jù)整體局勢來猜測對手的可能落子選擇,也因此人類耍的小心機像是刻意下幾步希望擾亂計算機的落子位置,其實都是沒有意義的。
第二個大腦是評價網(wǎng)絡。在評價網(wǎng)絡中則是關注在目前局勢的狀況下,每個落子位置的「最后」勝率(這也是我所謂的整體棋局),而非是短期的攻城略地。也就是說策略網(wǎng)絡是分類問題(對方會下在哪),評價網(wǎng)絡是評估問題(我下在這的勝率是多少)。評價網(wǎng)絡并不是一個精確解的評價機制,因為如果要算出精確解可能會耗費極大量的計算能力,因此它只是一個近似解的網(wǎng)絡,而且透過卷積神經(jīng)網(wǎng)絡的方式來計算出卷積核范圍的平均勝率(這個做法的目的主要是要將評價函數(shù)平滑化,同時避免過度學習的問題),最終答案他會留到最后的蒙利卡羅搜索樹中解決。當然,這里提到的勝率會跟向下預測的步數(shù)會有關,向下預測的步數(shù)越多,計算就越龐大,AlphaGo目前有能力自己判斷需要展開的預測步數(shù)。但是如何能確保過去的樣本能夠正確反映勝率,而且不受到對弈雙方實力的事前判斷(可能下在某處會贏不是因為下在這該贏,而是這個人比較厲害),因此。這個部分它們是透過兩臺AlphaGo對弈的方式來解決,因為兩臺AlphaGo的實力可以當作是相同的,那么最后的輸贏一定跟原來的兩人實力無關,而是跟下的位置有關。也因此評價網(wǎng)絡并不是透過這世界上已知的棋譜作為訓練,因為人類對奕會受到雙方實力的影響,透過兩臺對一的方式,他在與歐洲棋王對弈時,所使用的訓練組樣本只有3000萬個棋譜,但是在與李世石比賽時卻已經(jīng)增加到1億。由于人類對奕動則數(shù)小時,但是AlphaGo間對奕可能就一秒完成數(shù)局,這種方式可以快速地累積出正確的評價樣本。所以先前提到機器下圍棋最大困難點評價機制的部分就是這樣透過卷積神經(jīng)網(wǎng)絡來解決掉。
AlphaGo技術的最后環(huán)節(jié)就是蒙地卡羅搜索樹,相較于以前深藍所使用的搜索(搭配MinMax搜索算法以及Alpha-Beta修剪法,這里就不再贅述),由于我們并非具有無限大的計算能力(請注意,如果是有限的排列組合,蒙地卡羅搜索樹的確有可能針對所有組合進行通盤評估,但是在圍棋的場景下是沒有辦法的,就算這樣做,恐怕也會造成計算時間的大幅增加),因此不可能是適用于舊的方法,不過在前面策略網(wǎng)絡以及評價網(wǎng)絡中,AlphaGo已經(jīng)可以針對接下來的落子(包括對方)可能性縮小到一個可控的范圍,接下來他就可以快速地運用蒙地卡羅搜索樹來有限的組合中計算最佳解。一般來說蒙地卡羅搜索樹包括4個步驟:
1.選取:首先根據(jù)目前的狀態(tài),選擇幾種可能的對手落子模式。
2.展開:根據(jù)對手的落子,展開至我們勝率最大的落子模式(我們稱之為一階蒙地卡羅樹)。所以在AlphaGo的搜索樹中并不會真的展開所有組合。
3.評估:如何評估最佳行動(AlphaGo該下在哪?),一種方式是將行動后的棋局丟到評價網(wǎng)絡來評估勝率,第二種方式則是做更深度的蒙地卡羅樹(多預測幾階可能的結果)。這兩種方法所評估的結果可能截然不同,AlphaGo使用了混合系數(shù)(mixing coefficient)來將兩種評估結果整合,目前在Nature刊出的混合系數(shù)是50%-50%(但是我猜實際一定不是)
4.倒傳導:在決定我們最佳行動位置后,很快地根據(jù)這個位置向下透過策略網(wǎng)絡評估對手可能的下一步,以及對應的搜索評估。所以AlphaGo其實最恐怖的是,李世石在思考自己該下哪里的時候,不但AlphaGo可能早就猜出了他可能下的位置,而且正利用他在思考的時間繼續(xù)向下計算后面的棋路。
根據(jù)AlphaGo團隊的實測,如果單獨使用一個大腦或是蒙利卡羅搜索樹技術,都能達到業(yè)余(段)的等級(歐洲棋王樊摩強度等級大概是在2500~2600,而李世石是在3500以上)。但是當這些技術整合就能呈現(xiàn)更強大的力量。但是在刊登Nature論文時他的預估強度大概也只有職業(yè)3~4段(李世石是9段),不過剛剛提到他透過增強技術強化策略網(wǎng)絡、透過兩臺AlphaGo來優(yōu)化評價網(wǎng)絡,這都可以讓他可以在短時間變得更加強大。而且計算機沒有情感也不怕壓力,更不會因為對手表現(xiàn)而輕敵(AlphaGo的策略網(wǎng)絡一向只預測強者),所以人類就算有更強大的實力也未必能夠承受輸贏壓力而做最好的發(fā)揮。
李世石有沒有贏的機會?
在很多評論中,我覺得對于AlphaGo都有很多不正確的猜測,首先是AlphaGo有沒有「整體棋局」評估的能力,必須說的是以整臺AlphaGo來說是有的,這主要是來自于評價網(wǎng)絡的計算結果(因為它計算的是最后勝率),但是獲得的是個池化區(qū)域的平滑化后平均勝率。在AlphaGo的策略網(wǎng)絡主要是針對對手接下來的落子進行評估,至于蒙地卡羅搜索樹則是使用了評價網(wǎng)絡的參數(shù)(脫機訓練的結果)以及根據(jù)目前狀態(tài)實時計算價值差異的Rollouts技術,所以可以做出具有整體棋局考慮的模擬試算。但是人類對于「整體棋局」的掌控是透過直覺,這一點應該還是比計算機強大,而且如果利用目前AlphaGo是透過卷積核池化過后結果評估平均勝率(主要是為了平滑化以及避免過度學習),如果李世石有辦法利用AlphaGo會預測他的行為做后面決策,作出陷阱,來制造勝率評估的誤區(qū)(在池化范圍內(nèi)平均是高勝率,但是某個位子下錯就造成「整體棋局」翻覆的狀況,這就是勝率預測的誤區(qū)),那么人類就有可能獲勝(當然啦,我這里只是提出可能性,但是知易行難,這樣的行動的實際執(zhí)行可能性是偏低的)?,F(xiàn)在李世石必輸?shù)脑蛟谟谒恢痹诓聹yAlphaGo的棋路,但是事實上反而是AlphaGo一直在靠猜測李世石的下一步來做決策,所以他應該改變思路,透過自己的假動作來誘騙AlphaGo,這才有可能有勝利的可能性。
弱人工智能與強人工智能
現(xiàn)在計算機在圍棋這個號稱人類最后的堡壘中勝過了人類,那我們是不是要擔心人工智能統(tǒng)治人類的一天到來,其實不必杞人憂天,因為在人工智能的分類上來說,區(qū)分為弱人工智能(Artificial Narrow Intelligence)與強人工智能(Artificial General Intelligence)(事實上還有人提出高人工智能Artificial Super Intelligence,認為是比人類智力更強大,具備創(chuàng)造創(chuàng)新與社交技能的人工智能,但我覺得這太科幻了,不再討論范圍內(nèi)),其中最大的差別在于弱人工智能不具備自我意識、不具備理解問題、也不具備思考、計劃解決問題的能力。各位可能要質(zhì)疑AlphaGo如果不能理解圍棋他是如何可以下的那么好?請注意,AlphaGo本質(zhì)上就是一個深度學習的神經(jīng)網(wǎng)絡,他只是透過網(wǎng)絡架構與大量樣本找到了可以預測對手落子(策略網(wǎng)絡)、計算勝率(評價網(wǎng)絡)以及根據(jù)有限選項中計算最佳解的蒙地卡羅搜索樹,也就是說,他是根據(jù)這三個函數(shù)來找出最佳動作,而不是真的理解了什么是圍棋。所以AlphaGo在本質(zhì)上與微軟的Cortana或iPhone的Siri其實差別只是專精在下圍棋罷了,并沒有多出什么思考機制。我也看到一些報導亂說AlphaGo是個通用性的網(wǎng)絡,所以之后叫他學打魔獸或是學醫(yī)都能夠快速上手,那這也是很大的謬誤,如果各位看完了上面的說明,就會知道AlphaGo根本就是為了下圍棋所設計出來的人工智能,如果要拿它來解決其他問題,勢必神經(jīng)結構以及算法都必須要重新設計。所以李世石與其說是輸給了AlphaGo,還不如說是輸給了數(shù)學,證明其實直覺還是不如數(shù)學的理性判斷。有人覺得人類輸?shù)袅俗詈蟮谋?,圍棋這項藝術也要毀滅了...其實各位真的不用太擔心。人類跑不過汽車的時候為何沒有那么恐慌呢?跑步這項運動到現(xiàn)在也好好的,奧運金牌也不是都被法拉利拿走了...所以真的不必太過緊張。
那么會有強人工智能出現(xiàn)的一天嗎?在2013年Bostrom對全球數(shù)百位最前沿的人工智能專家做了問卷,問了到底他們預期強人工智能什么時候會出現(xiàn),他根據(jù)問卷結果推導出了三個答案:樂觀估計(有10%的問卷中位數(shù))是2022年,正常估計(50%的問卷中位數(shù))是2040年,悲觀估計(90%的問卷中位數(shù))是2075年。所以離我們還久的呢。不過當弱人工智能的發(fā)展進入到成本降低可商業(yè)化的時候,大家與其關心人工智能會不會統(tǒng)治地球,還不如先關心自己的工作技能會不會被計算機取代來實際些吧。
來源:華院數(shù)據(jù)
刷新相關文章
我要評論
活動推薦more >
- 2018 上海國際大數(shù)據(jù)產(chǎn)業(yè)高2018-12-03
- 2018上海國際計算機網(wǎng)絡及信2018-12-03
- 中國國際信息通信展覽會將于2018-09-26
- 第五屆FEA消費金融國際峰會62018-06-21
- 第五屆FEA消費金融國際峰會2018-06-21
- “無界區(qū)塊鏈技術峰會2018”2018-06-14
不容錯過的資訊
-
1#后疫情時代的新思考#疫情之下,關于醫(yī)
-
2眾盟科技獲ADMIC 2020金粲獎“年度汽車
-
3數(shù)據(jù)智能 無限未來—2020世界人工智能大
-
4#2020非凡大賞:數(shù)字化風起云涌時,共尋
-
5#榜樣的力量#天璣數(shù)據(jù)大腦疫情風險感知
-
6#榜樣的力量#內(nèi)蒙古自治區(qū)互聯(lián)網(wǎng)醫(yī)療服
-
7#榜樣的力量#實時新型肺炎疫情數(shù)據(jù)小程
-
8#榜樣的力量#華佗疫情防控平臺丨數(shù)據(jù)猿
-
9#后疫情時代的新思考#構建工業(yè)互聯(lián)網(wǎng)新
-
102020可信云大會丨《云MSP發(fā)展白皮書》重