Имеет ли смысл обучать CNN как автоэнкодер?

9

Я работаю с анализом данных ЭЭГ, которые в конечном итоге необходимо будет классифицировать. Тем не менее, получение ярлыков для записей несколько дорого, что заставило меня рассмотреть неконтролируемые подходы, чтобы лучше использовать наши довольно большие объемы немаркированных данных.

Это, естественно, приводит к рассмотрению сложенных автоэнкодеров, что может быть хорошей идеей. Однако также имеет смысл использовать сверточные нейронные сети, поскольку некоторая фильтрация обычно является очень полезным подходом к ЭЭГ, и вполне вероятно, что рассматриваемые эпохи должны анализироваться локально, а не в целом.

Есть ли хороший способ объединить два подхода? Кажется, что когда люди используют CNN, они обычно используют контролируемое обучение, или что? Два основных преимущества изучения нейронных сетей для моей проблемы - это неконтролируемый аспект и точная настройка (было бы интересно создать сеть на основе данных о населении, а затем, например, выполнить точную настройку для отдельного человека).

Итак, кто-нибудь знает, могу ли я просто предварительно подготовить CNN, как если бы он был «поврежденным» автоэнкодером, или это было бы бессмысленно?

Должен ли я рассматривать какую-то другую архитектуру, например, сеть глубоких убеждений?

Kaare
источник

Ответы:

8

Да, имеет смысл использовать CNN с автоэнкодерами или другими неконтролируемыми методами. Действительно, для ЭЭГ-данных были опробованы различные способы объединения CNN с обучением без надзора, в том числе с использованием (сверточных и / или суммированных) автоэнкодеров.

Примеры:

Глубокая функция обучения для записей ЭЭГ используются сверточные автоэнкодеры с пользовательскими ограничениями для улучшения обобщения по предметам и испытаниям.

ЭЭГ-прогнозирование когнитивных функций водителя с помощью глубоко сверточной нейронной сети использует сверточные глубокого убеждения на отдельных электродах и объединяет их с полностью связанными слоями.

В новом подходе глубокого обучения для классификации сигналов моторных изображений ЭЭГ используются полностью соединенные друг с другом суммированные автоэнкодеры на выходе обученной (довольно поверхностной) CNN.

Но также чисто контролируемые CNN имели успех на данных ЭЭГ, см. Например:

EEGNet: компактная сверточная сеть для интерфейсов мозг-компьютер на основе ЭЭГ

Глубокое обучение с помощью сверточных нейронных сетей для картирования мозга и декодирования связанной с движением информации от человеческой ЭЭГ (раскрытие: я первый автор этой работы, больше связанной работы см. Стр. 44)

Обратите внимание, что документ EEGNet показывает, что даже при меньшем количестве испытаний чисто контролируемое обучение их CNN может превзойти их базовые показатели (см. Рисунок 3). Кроме того, в нашем опыте с набором данных, состоящим всего из 288 тренировочных испытаний, чисто контролируемые CNN работают нормально, немного превосходя базовый уровень общих пространственных моделей традиционного банка фильтров.

robintibor
источник
3

Да, вы можете использовать сверточную сеть в настройке автоэнкодера. В этом нет ничего странного. У людей есть проблемы с определением слоев деконволюции .

Здесь вы можете найти пример сверточного автоэнкодера, использующего инфраструктуру Keras: https://blog.keras.io/building-autoencoders-in-keras.html

ncasas
источник