我正在尝试创建一个RNN(可以是LSTM或GRU)来处理这种模式:
"(1221)(4554)(xyyx)(8998)"
即使以字符开头,它也从未像“(ab”)一样出现过,但它知道如何继续。
换句话说,序列为“(“ + x + y +(char-1)+(char-3)+”)“
因此,我的第一个想法是使用特殊字符对序列进行预处理,例如“ @”表示重复最后一个字符,“#”表示重复第3个字符。因此训练数据变为:
"(12@#)(45@#)(xy@#)(89@#)"
我认为RNN将很容易学习。我想知道是否还有另一种我想念的方式?还是最好的方法?如果这是一个空间问题,我认为CNN可以在不进行预处理的情况下进行处理,因为它可以确定差异(就像边缘检测一样)。
我的想法是人脑可能具有识别重复的特殊机制。我想尝试解决这个问题。