2
$\begingroup$

I have a dataset consisting of a set of samples. Each sample consists of two distinct desctized signals S1(t), S2(t). Both signals are synchronous; however, they show different aspects of a phenomena.

I want to train a Convolutional Neural Network, but I don't know which architecture is appropriate for this kind of data.

I can consider two channels for input, each corresponding to one of the signals. But, I don't think convolving two signals can produce appropriate features.

I believe the best way is to process each signal separately in the first layers, then join them in the classification layers in the final step. How can I achieve this? What architecture should I use?

$\endgroup$
1
$\begingroup$

I don't know what you mean by desctized signals but if I understand your question correctly, separating two signal and passing them through same architecture of CNN (even with different parameters) is not a good idea. Because when they are together (as different channels) they will be treated differently by the CNN (each channel has its own parameters) and even this way the network is able to combine these two signals and get better results by information extracted from this combination.

$\endgroup$
1
  • $\begingroup$ I meant it is not analog, and the analog signal is sampled using some algorithm (which is always the case in computers), thanks for the answer. $\endgroup$
    – Reza_va
    Dec 24 '20 at 2:24
0
$\begingroup$

You can safely give both signals as input in different channels. Actually, it's the best way. This way, the network is able to find low-degree patterns that involve both signals early in training. This will therefore enable the early discovery of more complex patterns, too.

Differently from what one might understand from your question, the two signals will not be convolved against eachother, as it's typically done in signal processing. The convolution taking place is that of the first layer kernels with a two-component signal (the one you give as input). It can happen that there's a first order pattern that can only be recognised by looking at both signals at the same time. If that's not the case, the kernels will ignore one signal or the other (having the corresponding weights a value of zero).

$\endgroup$
2
  • $\begingroup$ "Differently from what one ..." your right, this part may be written poorly. I meant each application of a kernel is performed on both channels at the same time, which mixes them together in the output... $\endgroup$
    – Reza_va
    Dec 24 '20 at 2:28
  • $\begingroup$ It's ok. It would be good if you edit your question to fix that. However, the important bit is that performing the convolution on both channels at the same time is what allows recognizing patterns like "both signals high" or "A is high and B is low", which is very convenient. $\endgroup$
    – David
    Dec 24 '20 at 12:49

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.