【发布时间】:2020-03-11 09:53:12
【问题描述】:
假设我有一个 keras 模型(例如)
layers_NE<-keras_model_sequential()
layers_NE %>% layer_dense(units=Height,
activation = "relu",
trainable=TRUE,
input_shape = 4,
bias_initializer = "random_normal")
%>% layer_dense(units = (d^2),
activation = "linear",
trainable = TRUE,
bias_initializer = "random_normal")
我想将最后一层重塑为 斜对称矩阵 输出,例如像这样c(a,b,c)-> c(c(a,b),c(b,c)) (这里 c(a,b,c) 是输出的符号我的网络)
到目前为止,我已经尝试过:
layers_NE %>%layer_reshape(input_shape = (d^2),
target_shape = c(d,d)
)
输出的形状正确,但不对称。我怎样才能做到这一点?
【问题讨论】:
-
对称矩阵是什么意思?方阵根据其值是对称的,因此它取决于密集层的输出。我猜你无法控制你的网络是对称的。如果您正在处理的问题的目标是找到一个对称矩阵,您可以定义您的损失函数来惩罚非对称输出。
-
基本上我想使用这些条目在 R^(d(d-1)/2) 矩阵的上三角部分和下三角部分映射一个向量。
标签: r keras deep-learning