人工智能深度學習神經網絡與Soc芯片的關係算法
在運算能力方面,CPU是不如GPU的,FPGA也不合適。谷歌研發出的TPU芯片,就是專門針對人工智能神經網絡的運算。服務器
人工智能的算法在往下走,在逐漸下降要求;嵌入式的芯片在往上走,在逐漸提高性能,這兩個很快會會師,會結合在一塊兒,誕生出一個在嵌入式系統裏面能跑的東西,這就意味着落地了。網絡
這是一個比較深度的問題。人工智能是須要一個強大的計算能力的,要多強大呢?如今人工智能的實現原理主要是進行計算,以前所說的學習也是進行計算的過程,也是須要大量的運算。運算能力直接決定學習的速度,若是運算能力不好,可能兩年都學不完;若是計算能力很好,可能一天就學完了。就跟人類大腦思考能力決定了學習能力同樣,有的人十歲就已經上大學了,有的人二十都還考不上,這就是看大腦的運算能力有多強。人工智能神經網絡的運算主要是卷積運算。什麼是卷積運算?就是線性代數的一些矩陣運算,這些矩陣運算還會涉及到一些浮點數,因此須要海量的運算性能。是呈指數級的增加的,如今的CPU根本算不動,在運算能力方面,CPU是不如GPU的,FPGA也不合適。FPGA適合要求實時性,要求並行運算方面的,CPU適合作控制,GPU才適合作運算,因此目前人工智能的研究大多數都是用GPU加速運算的。構建一我的工智能的研究平臺的時候,顯卡的重要性比CPU還重要,買個顯卡就須要七八千,甚至一萬多,而買個CPU,最多也就兩三千塊,CPU已經慢慢的不如GPU了。目前總的來講,CPU,GPU,FPGA都不是特別適合人工智能,真正適合人工智能的下一代芯片目前還在研發當中,譬如谷歌研發出的TPU芯片,就是專門針對人工智能神經網絡的運算,針對卷積運算的特徵推出的,它天生適合作人工智能的運算。未來會有愈來愈多的新的芯片推出,那跟學習嵌入式的同窗有什麼關係呢?想一下,若是出了一個新的芯片,是否是須要移植,是否是須要開發各類底層軟件,是否是須要移植開發各類底層的開發系統,是否是要作各類底層的工做,這就是嵌入式領域須要作的一些事情。ide
芯片廠商也會有很大的變更。你們可能沒關注到,其實有發生不少故事的,如今老牌芯片巨頭Intel壓力就很是大,前兩年他們搞物聯網,推出了安騰那一套,折騰了好幾年,結果什麼都沒有折騰出來。移動領域也完全被arm壓下去了。人工智能開始發展以後,Intel就很是着急,去年仍是今年就花了好幾十億收購人工智能方面的公司。Intel跟微軟都面臨很大的壓力。如今跟人工智能最接近的芯片領域的是nVidia(英偉達,作顯卡的)。他成了領軍人物,人工智能方面最好的顯卡就是他們家出的。就是由於GPU比CPU更重要了,他們作的是GPU,他們就異軍突起成爲了領軍人物,這是一個有意思的事情,前幾年的時候仍是個名不見經傳的小公司。還有高通這幾年也成長的很是快,前後收購了freescale,NXP,CSR等,也成了一個芯片巨頭,但高通的這些更加趨向於工業級的,若是是作的工業,作的汽車裏面的控制等等這些東西,可能用這幾家芯片更加合適一點。還有一些國產的芯片廠商,像華爲海思,瑞芯微,MTK等也有不少積累,也有了突破機會,未來也有可能綻開異彩。國產芯片這幾年也不錯,不要以爲只有外國的才厲害,中國這些年其實也有作不少厲害的東西。性能
人工智能發展路徑未來是怎麼一個路徑?大概是怎麼一回事,怎麼去弄,是怎麼樣的一個構成?現階段更多的人工智能主要是在服務器級的一個計算機上,所謂服務器級的計算機是指什麼呢?CPU就不用說了,確定至少是I7,要麼就是E開頭的,比I開頭的還厲害的那些。都是最厲害的芯片,最厲害的CPU。顯卡呢,入門級的都是五六千塊的,通常都是一兩萬的,還有好多技術都是雙顯卡,四顯卡,八顯卡。還有幾百個顯卡集成在一塊兒,串並聯在一塊兒,構成一個超級顯卡矩陣。顯卡上面的顯存都是好幾十個GB,整個電腦配內存都是32G,64G,這種級別的就叫服務器級計算機(用來打遊戲超爽,呵呵)。如今都是在這種計算機上學習和測試研究,更多的是一種研究狀態,還只是在科研領域,離落地還有一段距離。現階段的人工智能還在玩這些,爲何人工智能從下圍棋開始玩呢?由於下圍棋是純理論的,不須要落地。像AlphaGo下棋的時候,旁邊都是有人的,當他運算出一個結果的時候,還須要有人替他落子,他本身是沒有手的,他沒有落地,他只有一個大腦。現階段在服務器級別裏面去運算的人工智能很顯然是沒法落地的,把這類的人工智能裝在一個車上面怎麼可能裝得下呢,光他的耗電量車都扛不住。因此說若是想要人工智能落地,就須要優化算法,減小資源消耗。原來的內存須要12G,如今爭取看6G能不能,可能再過兩年,爭取4G就能夠了,2G就能夠了。算法優化了,能源消耗就會變少;能源消耗變少以後,就能夠部署到嵌入式當中了,也就能夠落地了。這都是慢慢來的,要先在服務器裏面玩清楚了,而後纔會去優化算法,把它部署到嵌入式系統當中。嵌入式系統也在快速發展,譬如說nVidia,在今年三月份推出的JetsonTX2,它是一個開發板,它是一個芯片,是一個GPU。GPU是目前惟一一個能解決人工智能領域的嵌入式芯片的方案。TX2很是厲害,它比目前現有的跑人工智能的芯片的算法都要快。之後相似於這種的芯片也會愈來愈多,也就是說人工智能的算法在往下走,在逐漸下降要求;嵌入式的芯片在往上走,在逐漸提高性能,這兩個很快會會師,會結合在一塊兒,誕生出一個在嵌入式系統裏面能跑的東西,這就意味着落地了。那麼這個過程須要多久呢?也就是一兩年,兩三年的事兒,如今已經開始在慢慢的落地了。nVidia的TX2就有跟沃爾沃合做開發自動駕駛方面的東西,可能沃爾沃以後開發出的新一代的高端車型就具備自動駕駛功能。其實已經開始在落地了,只是目前還只有一些巨頭在作,大部分的公司尚未這個資格去玩那些。國外也有一些***,一些愛好者,技術比較厲害的一些人在樹莓派3等的一些典型的嵌入式系統上面去玩人工智能,例如在弄自動駕駛的一些demo。樹莓派3的性能很通常,這種性能想去跑人工智能的東西就須要算法極其簡化,離使用還差很遠,但也是一些能夠用來玩的東西。以後朱老師也會推出這麼一些能夠玩的東西,在資源受限的開發板上去玩一些人工智能方面的應用,這些東西是無法真的上路的,但能夠學到基本的原理,把整個流程能夠弄清楚。國外有少部分人在玩這個,資源都是英文的,國內尚未。微軟有一個小組試圖在單片機上實現人工智能,連嵌入式系統都沒搞明白,就想在單片機上面搞事情,我以爲這是不靠譜的,是不看好的。在一些高性能的嵌入式設備上去跑一跑還有可能,在樹莓派3上都壓力山大,在單片機上就更不靠譜了。總結下來就是人工智能的發展對芯片相關開發人員是一大利好,只要是跟芯片底層開發相關的,對於他們來講,迎來了一個春天。嵌入式也是面臨一波行情的,朱老師本身也產生了不少想法,也有想作跟人工智能有關的,固然,是結合嵌入式領域去發揮的一些東西。學習嵌入式的同窗其實有不少事能夠去作的,像自動駕駛就能夠作,老師會在以後推出的專題再詳細說明。學習