La estructura multidimensional que impulsa el deep learning moderno
Un tensor es una generalización de escalares, vectores y matrices a múltiples dimensiones. Es la estructura de datos principal en redes neuronales modernas y la base sobre la que operan frameworks como PyTorch y TensorFlow.
Si:
- un escalar es un número,
- un vector es una lista,
- una matriz es una tabla,
👉 entonces un tensor es una estructura de datos de cualquier número de dimensiones.
Definición corta
Un tensor es una estructura multidimensional que contiene valores numéricos organizados en uno o más ejes.
Definición detallada
Un tensor puede tener cualquier número de dimensiones (también llamadas ejes o dimensiones).
Ejemplos:
- 0D → escalar
- 1D → vector
- 2D → matriz
- 3D+ → tensor
Formalmente:Tensor∈Rd1×d2×⋯×dn
👉 Donde cada di representa el tamaño en una dimensión.
🧠 Intuición
Piensa en un tensor como una «caja de datos» con múltiples dimensiones.
Ejemplo simple
Una imagen en color:
- Alto
- Ancho
- Canales (RGB)
👉 Esto forma un tensor 3D:
[alto, ancho, canales]
Ejemplo en deep learning
Un batch de imágenes:
[batch_size, alto, ancho, canales]
👉 Esto es un tensor 4D.
📏 Dimensiones (Shape)
El shape describe la estructura del tensor.
Ejemplo:
(32, 3, 224, 224)
👉 Interpretación:
- 32 imágenes
- 3 canales
- 224×224 píxeles
🔢 Orden del tensor (Rank)
El rank es el número de dimensiones.
- Escalar → rank 0
- Vector → rank 1
- Matriz → rank 2
- Tensor → rank ≥ 3
🔄 Operaciones clave
🔹 Indexación
Acceder a elementos:
tensor[0][1][2]
🔹 Broadcasting
Permite operar tensores de diferentes shapes.
👉 Muy importante en deep learning.
🔹 Reshape
Cambiar la forma sin cambiar los datos.
🔹 Transposición
Reordenar dimensiones.
🔹 Reducción
Reducir dimensiones (sum, mean, etc.).
🧠 Tensores en redes neuronales
Los tensores son omnipresentes:
1. Entrada de datos
- Imágenes → tensor 3D
- Texto → secuencias → tensor 2D o 3D
2. Batch de datos
Procesamiento en paralelo:
[batch_size, features]
3. Pesos del modelo
Matrices y tensores de pesos.
4. Activaciones
Cada capa produce tensores.
5. Gradientes
También son tensores.
📐 Interpretación geométrica
Un tensor representa datos en espacios de múltiples dimensiones.
👉 Aunque no siempre visualizable, mantiene:
- estructura
- relaciones
- transformaciones
🔗 Relación con otros conceptos
- Escalar → tensor de dimensión 0
- Vector → tensor 1D
- Matriz → tensor 2D
👉 Tensor = generalización total
Ejemplo en Python
# Lista anidada como tensor simpletensor = [ [[1, 2], [3, 4]], [[5, 6], [7, 8]]]print("Tensor:", tensor)
Ejemplo en NumPy
import torchtensor = torch.tensor([ [[1.0, 2.0], [3.0, 4.0]], [[5.0, 6.0], [7.0, 8.0]]])print("Tensor:\n", tensor)print("Shape:", tensor.shape)print("Rank:", tensor.dim())
Ejemplo en PyTorch
import torchtensor = torch.tensor([ [[1.0, 2.0], [3.0, 4.0]], [[5.0, 6.0], [7.0, 8.0]]])print("Tensor:\n", tensor)print("Shape:", tensor.shape)print("Rank:", tensor.dim())
Ejemplo con operación en red neuronal
import torch# Batch de datos (2 muestras, 3 features)x = torch.tensor([ [1.0, 2.0, 3.0], [4.0, 5.0, 6.0]], requires_grad=True)# Pesos (3 → 2)W = torch.tensor([ [0.5, -0.3, 0.8], [0.2, 0.7, -0.5]], requires_grad=True)b = torch.tensor([0.1, 0.2], requires_grad=True)# Forward passz = torch.matmul(x, W.T) + b# Lossloss = torch.sum((z - 1.0) ** 2)loss.backward()print("Salida z:\n", z)print("Loss:", loss.item())print("Grad W:\n", W.grad)
Qué muestra este ejemplo
xes un tensor 2D (batch)Wes una matriz (tensor 2D)zes un tensor resultadolosses escalar- Gradientes → tensores
👉 Esto es deep learning real.
Errores comunes
Confundir dimensión con tamaño
Dimensión ≠ número de elementos.
Ignorar el shape
Errores de shape son los más comunes en ML.
Pensar en tensores solo como matrices
Los tensores van mucho más allá.
Ejemplo conceptual
Entrada:
[batch, features]
Transformación:
→ [batch, hidden_units]
👉 Todo ocurre mediante tensores.
Interpretación profunda
Los tensores permiten:
- representar datos complejos
- procesar múltiples muestras
- escalar modelos
- aprovechar GPUs
👉 Son el núcleo computacional del deep learning.
Conclusión
El tensor es la estructura más importante del deep learning moderno. Permite representar datos en múltiples dimensiones, procesarlos de forma eficiente y construir modelos escalables.
Si entiendes tensores, entiendes cómo funcionan los modelos por dentro.