【发布时间】:2018-05-04 19:27:50
【问题描述】:
在执行线性代数运算时,深度学习如何改变每一层的神经元数量并保持正确的代数运算?
此代码生成各种维度的矩阵并计算点积,我试图只专注于通过网络移动值的核心操作。
将 numpy 导入为 np
def gm(m , n):
return np.random.uniform(1 , 1 , (m , n))
x = gm(4,2)
print('x' , x)
m1 = gm(2,3)
print('m1' , m1)
d1 = np.dot(x , m1)
print('d1' , d1)
打印:
x [[1. 1.]
[1. 1.]
[1. 1.]
[1. 1.]]
m1 [[1. 1. 1.]
[1. 1. 1.]]
d1 [[2. 2. 2.]
[2. 2. 2.]
[2. 2. 2.]
[2. 2. 2.]]
如果输出矩阵是 2x1,这是如何产生的?换句话说,如何从矩阵 d1 产生一个 2x1 矩阵?
keras 等框架抽象了 this ,但是抽象是如何发生的呢?
【问题讨论】:
标签: numpy deep-learning keras linear-algebra matrix-multiplication