Если первая категория - то она отдаст вектор [1, 0, 0] (точнее отдаст она что-то наподобе [0.44543543, 0.0043242, 0.465655], ну а я возьму самое большое число и буду думать, что на его месте стояла бы 1)
RNN здесь только мешается. Она же подразумевает, что между соседними элементами есть причинно следственная связь. А в том кодировании, что ты сделал связи нет и для неё вход - это чистый рандом, вот она и падает в первый попавшийся класс.