11
$\begingroup$

I'm wondering how to interpret a recurrent architecture in an EEG context. Specifically I'm thinking of this as a Recurrent CNN (as opposed to architectures like LSTM), but maybe it applies to other types of recurrent networks as well

When I read about R-CNNs, they're usually explained in image classification contexts. Theyre typically described as "learning over time" or "including the effect of time-1 on the current input"

This interpretation/explanation gets really confusing when working with EEG data. An example of an R-CNN being used on EEG data can be found here

Imagine I have training examples each consisting of a 1x512 array. This array captures a voltage reading for 1 electrode at 512 consecutive time points. If I use this as input to a Recurrent CNN (using 1D convolutions), the recurrent part of the model isn't actually capturing "time", right? (as would be implied by the descriptions/explanations discussed earlier) Because in this context time is already captured by the second dimension of the array

So with a setup like this, what does the recurrent part of the network actually allow us to model that a regular CNN can't (if not time)?

It seems to me that recurrent just means doing a convolution, adding the result to the original input, and convolving again. This gets repeated for x number of recurrent steps. What advantage does this process actually give?

$\endgroup$
1
  • $\begingroup$ I think keeping the original input at each step is useful because learning the identity can be hard, that is why residual network or just copying the input to bypass most of the hidden layers can be useful. For the special case of RCNN applied to eeg, you can imagine that the convolution tags time t=50ms because some feature appears at that time. Then your network can look at the original input at that particular time for further analysis. $\endgroup$
    – agemO
    Commented Mar 5, 2017 at 17:38

3 Answers 3

1
$\begingroup$

The recurrent part of a network allows you, generally speaking, to model long and short term dependencies. So your model can have some sense of state.

This is typically advantageous if you're using timeseries. For example, if you have data from a heart rate monitor and like to like to classify between resting, stress and recovering. If your datapoint says your heart rate is at 130, it depends on whether you are recovering from high loads or something else.

Edit: I forgotten your second question.

It seems to me that recurrent just means doing a convolution, adding the result to the original input, and convolving again. This gets repeated for x number of recurrent steps. What advantage does this process actually give?

I could think off a few possible answers. By convoluting the recurrent part you kind of filtering it. So you get a cleaner signal and errors won't stack as much. Vanilla rnn suffer from exploding vanishing gradients, so this could be his approach to overcome it. Furthermore, you are embedding your features within the rcnn, which can lead, as he stated, to more paths to exploit. Which makes it less prone to overfitting, thus more generalizable.

$\endgroup$
0
$\begingroup$
  • 1x512 input array means: recurrent network processes electrode voltage 512 times, in other words you have single feature to process.
  • CNN with one feature is useless.
$\endgroup$
-1
$\begingroup$

Remember that CNNs are feature detectors. The output of a convolutional layer is a matrix that signals where certain feature was detected.

Therefore, recurrent CNNs are recurrent neural networks that learn sequences of features, where those features are also learnt during the training.

$\endgroup$
3
  • 2
    $\begingroup$ This is a misleading answer, CNNs are not feature detectors, they are a transformation of a feature space and then a function estimator which map the transformed features to an output. Also, not at all what the OP asked for. Please use the comments instead for comments. This makes the question look answered and deters others from clicking. $\endgroup$
    – JahKnows
    Commented Jun 23, 2017 at 18:46
  • $\begingroup$ @JahKnows It depends on the interpretation, they are both aren't they? take a look at (yosinski.com/deepvis). It may help you. $\endgroup$ Commented Jan 25, 2018 at 18:09
  • $\begingroup$ @ncasas would you please provide a link for your paragraph? $\endgroup$ Commented Jan 25, 2018 at 18:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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