欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

為什么人工智能tensorflow運算是以矩陣運算作為基礎的

劉姿婷2年前14瀏覽0評論

為什么人工智能tensorflow運算是以矩陣運算作為基礎的?

tensorflow作為深度學習框架,背后的理論以矩陣運算為基礎

矩陣運算,能極大加速計算過程,如果不用矩陣運算,模型訓練時間太長

理論基礎和對速度的要求,使得以矩陣運算成為必然。深度學習的理論基礎以矩陣為基礎

tensorflow是Google開發的深度學習框架,而深度學習,作為一種數學模型,是以數學為基礎的,具體來講是以線性代數和概率論為基礎。而矩陣和張量 (Tensor, 對,就是Tensorflow中的Tensor)是線性代數的基本數學概念。

優化算法中的最速下降法離不開對矩陣求導

深度學習絕大多數都是監督學習,或者想辦法轉為監督學習,比如貓狗分類、銷量預測等等。深度學習作為機器學習的一種,優化算法本質上是梯度下降法,對應數學的最速下降法。

看看回歸中的求導算法:

背后求導都是基于矩陣的,會涉及矩陣的求逆、懲罰運算等。

深度學習中的基本模塊離不開矩陣運算

以近兩年自然語言處理中火熱的BERT模型為例,里面的模型架構都已 Transformer為基礎,看看這個模型的內部結構:

里面的線性層(Linear)本質上就是兩個矩陣的相乘, 注意力機制模型 (Attention)見下面兩幅圖,明顯也是矩陣相乘(MatMul)緊密相關。

矩陣(張量)運算可以加速訓練

計算機硬件本質上是對應的都是電路,背后都是數字的加減乘除基本運算,最底層是信號的與或非等基本電路。

理論上而言,也不可以用矩陣,直接用標量寫個多重For循環計算,但是這樣速度太慢。

而利用向量化能明顯加速計算過程,python中常用numpy背后都是以向量化為基礎的矩陣運算。

再進一步到英偉達的GPU或者Google的TPU, 用專門的芯片來專門做矩陣運算。見下圖,是16年某論文的截圖,可以看到對GPU而言,在k=[0, 128]區間范圍內,對上千維的矩陣相乘(2560×2048, 2048×k),時間是恒定不變的,可見 GPU對矩陣運算的加速能力。