為什么人工智能tensorflow運(yùn)算是以矩陣運(yùn)算作為基礎(chǔ)的?tensorflow作為深度學(xué)習(xí)框架,背后的理論以矩陣運(yùn)算為基礎(chǔ)矩陣運(yùn)算,能極大加速計(jì)算過程,如果不用矩陣運(yùn)算,模型訓(xùn)練時(shí)間太長(zhǎng)理論基礎(chǔ)和對(duì)速度的要求,使得以矩陣運(yùn)算成為必然 。深度學(xué)習(xí)的理論基礎(chǔ)以矩陣為基礎(chǔ)tensorflow是Google開發(fā)的深度學(xué)習(xí)框架,而深度學(xué)習(xí),作為一種數(shù)學(xué)模型,是以數(shù)學(xué)為基礎(chǔ)的,具體來講是以線性代數(shù)和概率論為基礎(chǔ) 。而矩陣和張量 (Tensor, 對(duì),就是Tensorflow中的Tensor)是線性代數(shù)的基本數(shù)學(xué)概念 。優(yōu)化算法中的最速下降法離不開對(duì)矩陣求導(dǎo)深度學(xué)習(xí)絕大多數(shù)都是監(jiān)督學(xué)習(xí),或者想辦法轉(zhuǎn)為監(jiān)督學(xué)習(xí),比如貓狗分類、銷量預(yù)測(cè)等等 。深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一種,優(yōu)化算法本質(zhì)上是梯度下降法,對(duì)應(yīng)數(shù)學(xué)的最速下降法 。看看回歸中的求導(dǎo)算法:背后求導(dǎo)都是基于矩陣的,會(huì)涉及矩陣的求逆、懲罰運(yùn)算等 。深度學(xué)習(xí)中的基本模塊離不開矩陣運(yùn)算以近兩年自然語言處理中火熱的BERT模型為例,里面的模型架構(gòu)都已 Transformer為基礎(chǔ),看看這個(gè)模型的內(nèi)部結(jié)構(gòu):里面的線性層(Linear)本質(zhì)上就是兩個(gè)矩陣的相乘, 注意力機(jī)制模型 (Attention)見下面兩幅圖,明顯也是矩陣相乘(MatMul)緊密相關(guān) 。矩陣(張量)運(yùn)算可以加速訓(xùn)練計(jì)算機(jī)硬件本質(zhì)上是對(duì)應(yīng)的都是電路,背后都是數(shù)字的加減乘除基本運(yùn)算,最底層是信號(hào)的與或非等基本電路 。理論上而言,也不可以用矩陣,直接用標(biāo)量寫個(gè)多重For循環(huán)計(jì)算,但是這樣速度太慢 。而利用向量化能明顯加速計(jì)算過程,python中常用numpy背后都是以向量化為基礎(chǔ)的矩陣運(yùn)算 。再進(jìn)一步到英偉達(dá)的GPU或者Google的TPU, 用專門的芯片來專門做矩陣運(yùn)算 。見下圖,是16年某論文的截圖,可以看到對(duì)GPU而言,在k=[0, 128]區(qū)間范圍內(nèi),對(duì)上千維的矩陣相乘(2560×2048, 2048×k),時(shí)間是恒定不變的,可見 GPU對(duì)矩陣運(yùn)算的加速能力 。rr這是與目前人工智能領(lǐng)域的理論基礎(chǔ)有很大關(guān)系 。目前的人工智能是基于數(shù)學(xué)模型現(xiàn)時(shí)的人工智能已經(jīng)往多方面發(fā)展,但基礎(chǔ)的理論還是基于機(jī)器學(xué)習(xí)的 。而機(jī)器學(xué)習(xí)是以統(tǒng)計(jì)數(shù)學(xué)為基礎(chǔ),本質(zhì)上是大量的數(shù)學(xué)運(yùn)算 。其中矩陣運(yùn)算是被大量用于表達(dá)數(shù)學(xué)模型 。比如你去看斯坦福大學(xué)的相關(guān)公開課你都可以看到許多的數(shù)學(xué)論證不會(huì)像一般編程語言那樣使用for循環(huán),取而代之是用數(shù)學(xué)符合表達(dá) 。有效提升計(jì)算性能在計(jì)算機(jī)的角度上看,矩陣運(yùn)算很容易被分割成獨(dú)立的運(yùn)算模塊,互相之間不影響 。因此非常適合做并行運(yùn)算 。矩陣運(yùn)算不是新技術(shù)在深度學(xué)習(xí)興起之前,其實(shí)計(jì)算機(jī)業(yè)界一直都有使用矩陣運(yùn)算 。在游戲開發(fā)中,關(guān)于畫面顯示的部分,顯卡會(huì)承擔(dān)著大量的矩陣運(yùn)算 。因此,在深度學(xué)習(xí)流行起來后,TensorFlow作為支持一個(gè)做數(shù)學(xué)計(jì)算流圖的軟件庫(kù),無可爭(zhēng)議地選擇以矩陣運(yùn)算作為計(jì)算基礎(chǔ) 。未來的可能通過上述幾點(diǎn)可以看出來,TensorFlow選擇矩陣運(yùn)算作為基礎(chǔ),可以說是適應(yīng)當(dāng)前的環(huán)境 。但計(jì)算機(jī)在未來這些年有大量的新技術(shù)出現(xiàn),比如量子計(jì)算機(jī) 。加上目前人工智能技術(shù)遠(yuǎn)遠(yuǎn)未達(dá)到成熟,在未來的時(shí)間里,其底層基礎(chǔ)也是有可能被推翻 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- 娘道隆延宗為什么離家出走
- 凌云徹為什么被海蘭賜死
- 馬一龍
- 許你浮生若夢(mèng)段天賜為什么黑化
- 好碼齊
- 泰山為什么是五岳之首
- 隆慶開關(guān)
- 2019年屬鼠人會(huì)因?yàn)槭裁炊曝?cái)
- 女生喜歡說反話嗎 為什么女生喜歡說反話
- 為什么愛情會(huì)過期 如何感應(yīng)到戀愛開始變質(zhì)
