Zubnet AI學習Wiki › Tensor
基礎

Tensor

別名:多維陣列
多維數字陣列——深度學習中的基本資料結構。純量是 0 維張量(單個數字)。向量是 1 維張量。矩陣是 2 維張量。影像是 3 維張量(高度 × 寬度 × 通道)。一批影像是 4 維張量。模型權重、激活值、梯度——神經網路中的一切都是張量。

為什麼重要

張量是深度學習的語言。PyTorch、TensorFlow 和 JAX 本質上都是張量計算函式庫。理解張量形狀和運算對於閱讀模型程式碼、除錯形狀不匹配(ML 程式碼中最常見的錯誤),以及理解神經網路內部發生的事情至關重要。如果你能跟隨張量形狀,你就能跟隨架構。

深度解析

NLP 中常見的張量形狀:輸入 token 是 (batch_size, sequence_length) 的整數。嵌入是 (batch_size, seq_len, model_dim) 的浮點數。注意力權重是 (batch_size, num_heads, seq_len, seq_len)。輸出 logits 是 (batch_size, seq_len, vocab_size)。理解這些形狀告訴你究竟發生了什麼:注意力張量是 N×N 的,因為每個 token 都關注其他每個 token。

運算

關鍵張量運算:matmul(矩陣乘法——神經網路中的核心計算)、reshape(不改變資料的情況下改變維度)、transpose(交換維度)、concat(沿某個維度連接張量)、slice(擷取子張量),以及 broadcast(使不同形狀的張量相容以進行逐元素運算)。深度學習實際上就是一系列這些運算應用於張量。

GPU 加速

張量在 GPU 上計算,因為張量運算是大規模並行的:兩個矩陣相乘涉及數百萬個獨立的乘加運算,可以同時執行。這就是為什麼 GPU VRAM 很重要——所有參與計算的張量必須駐留在 GPU 記憶體中。當你的 VRAM 用完時,是因為所有張量大小的總和(模型權重 + 激活值 + 梯度 + 最佳化器狀態)超過了容量。梯度檢查點、混合精度和模型分片等技術都是關於管理張量記憶體。

相關概念

← 所有術語
ESC
Start typing to search...