I'm a grad student from EE.

So, basically, there's an electrical circuit that is supposed to output "0" or "1" by exactly 50 to 50 chance. It generates a number of big arrays of 0s and 1s, each of which amounts to more than 4,000 of the numbers.

But because these arrays are physically generated in a fab, I assume it might develop some dependencies among numbers and some output could be predicted by more than 50% chance. For example, due to some variations in the process, "1" can be more likely to come than "0" after a sequence of "001100".

Then let's say I make a simple deep neural network which takes 7 inputs and gives 1 output. I simply slice my array by 8 numbers, 7 of which are given to the input and the last one is used as a label (the true answer). I train my simple DNN using all these sliced numbers and it will learn some sequences. Finally, I apply my NN to a test set, and if it predicts the next number with an accuracy of more than 50%, that proves my assumption, and if it doesn't that is also good for me because it says my circuits are good.

Would it work?

  • $\begingroup$ It could work yes but given the described problem an RNN (Recurrent Neural Network) would probably be a better option since you would be able to process sequences with arbitrary length. $\endgroup$ – Daniel Oliveira May 10 '19 at 4:30
  • $\begingroup$ I'm afraid my desktop can't take too much load. Would it be lighter than a simple 3-layer NN? $\endgroup$ – Hoon May 10 '19 at 4:49
  • 1
    $\begingroup$ So if I understand correctly then you are testing the randomness of a RNG on circuit via NN's? No this would not work, in strict cryptographic sense there is very strict considerations of exactness of randomness and also the reason (through various tests). Using NN might give you 50% results due to different reasons, also it might give you lesser than 50%, what'll be the interpretation of that? $\endgroup$ – DuttaA May 10 '19 at 5:11
  • $\begingroup$ @DuttaA if the system is purely random he will get around 50% accuracy in a big enough test set, this is independent of the NN predictions. If he gets much higher or much lesser accuracy values he can infer that the system is biased. $\endgroup$ – Daniel Oliveira May 10 '19 at 6:03
  • $\begingroup$ @Hoon predicting with an RNN is not much heavier than predicting with simple Feedforward neural network. Only the training part will be heavier for the RNN due to backpropagation through time. I recommend that you start by training a simple NN and check how it performs. If it does not work then try a more complex model. If it still does work maybe your system is purely random and there are no patters no learn. $\endgroup$ – Daniel Oliveira May 10 '19 at 6:06

Your Answer

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

Browse other questions tagged or ask your own question.