神经网络的核心:张量运算与梯度优化
1. 高维张量的点积运算
在神经网络中,张量运算十分重要。对于高维张量的点积运算,遵循与二维情况类似的形状兼容规则,如:
- (a, b, c, d) • (d,) →(a, b, c)
- (a, b, c, d) • (d, e) →(a, b, c, e)
2. 张量重塑
张量重塑也是关键的张量运算之一。例如在处理数字数据时,我们会对数据进行重塑操作:
train_images = train_images.reshape((60000, 28 * 28))
重塑张量意味着重新排列其行和列以匹配目标形状,重塑后的张量与初始张量的系数总数相同。以下是简单示例:
import numpy as np
x = np.array([[0., 1.],
[2., 3.],
[4., 5.]])
print(x.shape) # 输出 (3, 2)
x = x.reshape((6, 1))
print(x)
# 输出
# array([[ 0.],
# [ 1.],
# [ 2.],
# [ 3.],
# [ 4.],
# [ 5.]])
x = x.reshape((2, 3))
print(x)
# 输出
# array([[ 0.,
超级会员免费看
订阅专栏 解锁全文
2935

被折叠的 条评论
为什么被折叠?



