I was implementing my own progress monitor by appending loss of each step into a List and Dynamically ListPlot it. However, this method will cause memory insufficiency and significant laggy of frontend.
I would like to know how the very new Neural Network package monitors its training progress.

Appendis a common performance pitfall because Mathematica's lists are not linked lists but rather arrays. If you use a linked list then it will be a lot faster. I don't know anything about the Neural Networks package but I do wonder how it determines that training will require 5346 rounds in this case. From the plot it looks like it is already close to converging having done only a tenth of this many rounds. – Oleksandr R. Mar 26 '17 at 14:29