我正在尝试训练一个模型来预测网页中的设计模式。给定一堆元素分组,我正在使用边界矩形的坐标。模式如下:
[[elementId, width, height, x, y]]
所以我的目标是给定[[x,y]]
的{{1}}。
具体:
[[elementId, width, height]]
样式的大小各不相同,因此我用 [[5, 1.0, 1.0], [4, 1.0, 1.0], [2, 175.0, 65.0], [2, 1.0, 1.0], [4, 1.0, 1.0]]
->
[[0.0, 0.0], [0.0, 10.0], [3.0, 0.0], [0.0, 68.0], [0.0, 10.0]]
[[2, 14.0, 14.0], [2, 14.0, 14.0], [2, 14.0, 14.0]]
->
[[0.0, 3.0], [0.0, 3.0], [0.0, 3.0]]
填充了样式。我目前大约有1万5千,但可以得到更多。
有人告诉我,注意seq2seq是适合此工作的模型。我从https://machinelearningmastery.com/develop-encoder-decoder-model-sequence-sequence-prediction-keras/开始,取得了惊人的成绩。
我可以找到的每个seq2seq示例(搜索keras或pytorch)都用于分类翻译,而我正在努力寻找一个基于回归的良好示例。
所以我的问题是:
1)这是我想要做的正确的模型(编码器/解码器LSTM)吗?
2)是否有示例?
非常感谢。我不希望有人能解决我的问题,但是任何帮助将不胜感激!
答案 0 :(得分:3)
Seq2Seq / LSTM。
您的输入大小为3,输出大小为2(至少对于给定的示例)。因此,您可以使用具有L2 / L1损耗(用于回归)的简单的一/二隐藏层前馈模型。任何选择(SGD / Adam)都可以,但是Adam在实践中效果很好。
此外,我认为您不应该按原样使用坐标,而是可以缩放坐标,以使最高坐标为1,因此输入/输出范围将在0到1之间。附加的优点是,这将有助于您直观地归纳为不同的屏幕尺寸。