So I trained an AI to generate shakespeare, which it did somewhat well. I used this 10,000 character sample.

Next I tried to get it to generate limericks using these 100,000 limericks. It generated garbage output.

When I limited it to 10,000 characters, it then started giving reasonable limerick output.

How could this happen? I thought more data was always better.

The AI was a neural network with some LSTM layers, implemented in keras.

  • $\begingroup$ Maybe give the architecture of your LSTM, plus short samples of what you consider "garbage" and "reasonable limerick output". Also the losses or learning curves or other training logs might be useful to help with analysis. $\endgroup$ Commented Sep 23, 2018 at 6:18

1 Answer 1


Why would giving my AI more data make it perform worse?

A lot of possible reasons:

  1. In forecasting, you could have a seasonality. If you have it exactly 3 times, then it is good. If you have it 3.5 times, it becomes worse because it overfits on the months which occur more often than the others.
  2. Data quality: In practice, improving the quality of data often yields better results (see Analysis and Optimization of Convolutional Neural Network Architectures, page 15 (Analysis Techniques) for 7 approaches to improve your results)
  3. Instable training / bad luck: some architectures / problems are super instable. You can execute the randomly initialized training 5 times and get vastly different results.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .