I use a very simple neural network to make classification between classes. Once my ANN is trained I'm able to present new and unknown data, and get a good classification.

Is there a simple way to reverse the process and create an artificial data, knowing at which class it should belong ?

What would be the method name ?

Thanks a lot !

  • 1
    $\begingroup$ Have you checked out Generative adversarial networks? $\endgroup$ – Pål GD Aug 19 '17 at 9:35
  • 1
    $\begingroup$ There is a TED talk called How computers are learning to be creative $\endgroup$ – Pål GD Aug 19 '17 at 9:37
  • 2
    $\begingroup$ So you want to tell from which class artificial data should be generated or is it enough to generate and then classify? Do you see the difference between "assigned to" and "should belong to"? The first is the result of ANN and the second is the true class (these are always the same only if the classifier is perfect). Could you write explicitly your goal (what exactly reverse process means)? $\endgroup$ – Evil Aug 20 '17 at 0:05
  • $\begingroup$ If I have two class A and B, I would like to be able to create, using the trained (and now fixed) network, a new sample (just one) that belong, for example, to the class A. $\endgroup$ – Dadep Aug 21 '17 at 11:21

Of course you can create artificial data. Simply pick the inputs to the neural network randomly; that's an artificial instance. You can run it through the neural network and tell what class the neural network will assign to it. That doesn't mean you know what class it should be given, or what is the correct class; there's no way to get that (you can't get something from nothing).

  • $\begingroup$ I don't think this answers the question. There are known techniques for what the OP wants. $\endgroup$ – Pål GD Aug 19 '17 at 9:36
  • $\begingroup$ @PålGD, I stand by my answer. Feel free to write an answer of your own if you have a different conclusion. I disagree that generative adversarial networks are sufficient; they can generate a new instance and a proposed class but you won't know whether that is actually the correct class (it might be, or it might not). Or maybe we're interpreting the question differently. I freely admit that the question could be clearer. Perhaps it would improve the question if it were edited to pick one interpretation and articulate it. $\endgroup$ – D.W. Aug 19 '17 at 17:57
  • $\begingroup$ Thanks for your answer, I understand that I can randomly create sample and then check if it belong to a class. but what I would like to do is creating a new sample not in a fully randomly way, but using my network weights to be sure that the created sample belong to the wanted class. $\endgroup$ – Dadep Aug 21 '17 at 14:21
  • $\begingroup$ @Dadep, You can't. That's not possible. There's no way to generate a new sample and be sure that you know what its correct class is. $\endgroup$ – D.W. Aug 21 '17 at 16:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.