我正在研究用于音乐可视化的预测性TensorFlow RNN,类似于字符所见的here。例如,在标准字符RNN中,我的理解是每个字符被编码为稀疏的26长矢量。如果我要用80x80灰度图像做类似的事情,我会倾向于将其转换为6400宽的矢量。
然而,在我的情况下,在每个时间步长中,网络必须决定对象的坐标及其颜色(分类)以及具有不同数量的选项的一些其他分类属性。
例如,单个数据点可能如下所示:
[257 (1-500), 97 (1-400), 6 (1-9), 1 (0-1)]
我可以想象将这些数据转换为单个向量(4个单热矢量连接),然后在不同的时间间隔内运行softmax,但这似乎效率低下,我需要实现自定义softmax(不是世界末日) ...)。
我还可能将坐标编码为浮点数而不是稀疏矢量,并在计算整个集合的交叉熵之前将它们连接到其他稀疏矢量。
[0.514, .97, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1]
但是,我担心这会低估坐标的重要性,因为它们只代表两个数据点而不是11个分类段。
是否有更好的(内置?)方式来表示这样的数据?