Eu sou um graduado em CS (mas não sei muito sobre IA, mas não fiz nenhum curso sobre ela, e definitivamente nada sobre NN até recentemente), que está prestes a fazer um projeto escolar em AI, então escolho alguns tópicos sobre indução gramatical (da linguagem livre de contexto e talvez de algum subconjunto da linguagem sensível ao contexto) usando o aprendizado por reforço em uma rede neural. Comecei a estudar a abordagem bem-sucedida anterior primeiro para ver se elas podem ser aprimoradas e agora estou tentando entender a abordagem usando o aprendizado supervisionado com a Memória de Longo Prazo. Estou lendo "Aprendendo a esquecer: previsão contínua com LSTM". Também estou lendo o jornal no olho mágico, mas parece ainda mais complicado e estou apenas tentando algo mais simples primeiro. Acho que entendi corretamente como a célula de memória e a topologia de rede funcionam. O que não entendo agora é o algoritmo de treinamento. Então, eu tenho algumas perguntas a fazer:
Como exatamente diferentes entradas são distinguidas? Aparentemente, a rede não é redefinida após cada entrada e não há símbolo especial para delimitar entradas diferentes. A rede apenas recebe um fluxo contínuo de strings sem nenhuma pista sobre onde a entrada termina e a próxima começa?
Qual é o intervalo de tempo entre a entrada e a saída alvo correspondente? Certamente, é necessária alguma quantidade de tempo decorrido e, portanto, a rede nunca pode ser treinada para obter uma saída de destino de uma entrada que ela não tem tempo suficiente para processar. Se não foi usada a gramática Reber, mas algo mais complicado que poderia exigir muito mais informações para serem armazenadas e recuperadas, a quantidade de tempo necessária para acessar as informações variava dependendo da entrada, algo que provavelmente não pode ser previsto enquanto decidimos o tempo para fazer o treinamento.
Existe uma explicação mais intuitiva do algoritmo de treinamento? Acho difícil descobrir o que está acontecendo por trás de todas as fórmulas complicadas e preciso entender porque preciso ajustá-lo em um algoritmo de aprendizado reforçado posteriormente.
Além disso, o artigo não mencionou nada sobre dados de treinamento barulhentos . Li em outro lugar que a rede pode lidar com dados de teste muito barulhentos. Você sabe se o LSTM pode lidar com situações em que os dados de treinamento têm algumas chances de serem corrompidos / sobrecarregados com informações supérfluas?