Aqui está o que eu aprendi recentemente.
Obviamente, ao falar sobre RNNs de geração de texto, estamos falando sobre modelos de linguagem RNN. Ao perguntar sobre RNNs de geração de texto com base em palavras / caracteres , estamos perguntando sobre modelos de linguagem RNN (LM) baseados em palavras / caracteres .
Os LMs baseados em palavras exibem maior precisão e menor custo computacional que os LMs baseados em caracteres.
Essa queda no desempenho é improvável devido à dificuldade do modelo de nível de caractere capturar mais memória de curto prazo, pois também as redes recorrentes de Longer Short Term Memory (LSTM) funcionam melhor com entrada baseada em palavras.
Isso ocorre porque os LNs RNN baseados em char exigem uma camada oculta muito maior para modelar com sucesso dependências de longo prazo, o que significa custos computacionais mais altos.
Portanto, podemos dizer que
Uma das diferenças fundamentais entre os modelos de nível de palavra e nível de caractere está no número de parâmetros que a RNN deve acessar durante o treinamento e o teste. Quanto menor for a camada de entrada e saída da RNN, maior será a camada oculta totalmente conectada, o que torna o treinamento do modelo caro.
No entanto, os RNM LMs baseados em chars melhoram os idiomas de modelo com uma morfologia rica, como acabamento, turco, russo etc. O uso de LNs RNN baseados em palavras para modelar esses idiomas é difícil, se possível, e não é recomendado.
A análise acima faz sentido, especialmente quando você olha para o texto de saída, gerado por RNNs baseados em caracteres:
Os surpresos dos investidores não estavam arrecadando dinheiro. Eu não sou a empresa com o tempo em que tudo é interessante rapidamente, não preciso sair dos mesmos programadores.
Embora o simples LM de máxima verossimilhança com base em caracteres e uma janela de 13 caracteres forneça o seguinte:
E quando ela fez muitos tijolos sólidos. Ele as empilhou em pilhas e bateu os pés dela. O médico o diagnosticou com um morcego. A garota e o namorado a convidaram para sair.
É claro que escolhi o exemplo (na verdade, a maioria dos exemplos de ML LM parecia melhor do que qualquer texto gerado pela RNN que eu li até agora) e esse minúsculo ML LM foi treinado em um corpus mais simples, mas você entendeu: a probabilidade condicional direta gera melhor textos do que RNN baseado em char muito mais complexo .
Os LMs RNN baseados em char podem imitar seqüências gramaticalmente corretas para uma ampla variedade de idiomas, exigem uma camada oculta maior e computacionalmente mais cara, enquanto os LMs RNN baseados em palavras treinam mais rápido e geram textos mais coerentes, e mesmo esses textos gerados estão longe de fazer sentido. .