Scientists at Berkeley National Laboratory are using artificial intelligence to create dark matter simulations. In this system, one neural network learns the training data, while a second neural network tries to fool the first by generating inputs that appear to be from the training set. What is this type of network called?