Augmentation is a technique that we use in deep learning for expanding the training dataset. It includes different ways of modifying an image and adding it to the training dataset. My question is if we are using augmentation for EEG classification and say we generate spectrograms and feed them as images to a CNN can we use Augmentation to increase the training dataset?
...if we are using augmentation for EEG classification and say we generate spectrograms and feed them as images to a CNN
If you are approaching this as an image based problem, it could possibly work. There are not enough details about the problem to provide a more accurate answer on this.
In any case, EEG records brain activity typically as a set of signals. Later, each one of those signals would lead to a time-frequency spectrogram representation. This means, one "image" per EEG channel which does not seem very practical from an augmentation point of view.
...can we use Augmentation to increase the training dataset?
A better approach to "augmentation" would be to generate surrogate data via suitable models.
This is closer to "augmentation" but still does not solve all of the problems you might be facing.
Jansen's model (for example) will generate realistic EEG waveforms with similar dynamics but only on a per channel basis (out of the box). If you are interested in replicating an EEG recording as a whole (that is, not only the dynamics of each channel but also their correlations), you would need to couple instances of Jansen's model and at that point you are still left with the question of "which coefficients are supposed to be associated with this task"?
So, if you are interested in creating a classifier that discriminates between "This is most likely an EEG signal rather than an electrode just dangling in the air", augmenting your dataset will work as expected. But if you are interested in creating a classifier that discriminates between "The subject is now more likely day dreaming rather than sleeping", then you need either very complex models or a large amount of data (under a similar condition) to infer some kind of a rule to exploit it later.
Hope this helps.
If you treat CNNs just as an end-to-end classifier, there are no reasons that you can't do augmentation for your input. Because in this way you are only concerned with the features in your images.
The spectro-temporal feature generation part will be one of your key part. Intuitively speaking, the features of your spectrogram must be represntative enough, and friendly to CNNs. If you do augmentation, you need to make sure you are augmenting the distinguish and diminishing the common features.
For fancy spectrogram generation of bio-signals for CNNs, here are some paper suggested for you: