본문 바로가기
스터디/딥러닝

CNN-based Approaches For Cross-Subject Classification in Motor Imagery: From The State-of-The-Art to DynamicNet

by ag_zero 2022. 3. 12.
728x90

https://github.com/jesus-333/Dynamic-PyTorch-Net

 

GitHub - jesus-333/Dynamic-PyTorch-Net: Class to automatic create Convolutional Neural Network in PyTorch

Class to automatic create Convolutional Neural Network in PyTorch - GitHub - jesus-333/Dynamic-PyTorch-Net: Class to automatic create Convolutional Neural Network in PyTorch

github.com

convolutional neural network (CNN)-based DL models

DynamicNet

DynamicNet은 다양한 DL 모델을 신속하게 구현할 수있는 Pytorch를 기반으로하는 새로운 오픈 소스로 CNN 아키텍처의 일반적인 파라미터를 포함하는 컨벌루션 레이어의 수, 활성화 함수 목록 및 pooling layer 목록을 정의함으로써 모델을 생성 할 수 있다.

 

DL 모델의 디자인 3 단계

  1. 컨볼 루션 섹션의 디자인. 이 단계에서 DynamicNet은 컨볼 루션 섹션의 매개 변수를 반복하고 각 반복에서 컨벌루션 레이어가 빌드됩니다. 각각의 컨볼 루션 층은 동일한 구조를 가지며 컨볼 루션의 순서, 정규화, 활성화, 풀링 및 확대로 구성됩니다. 각각의 각각에 대해 매개 변수는 해당 목록 (예 : activation_list, dropout_list 등)에 포함됩니다. i-th 반복에서 DynamicNet은 각 목록에서 I-Th 매개 변수를 가져 와서 사용하여 I-Th 레이어를 빌드합니다.
  2. 평평한 층의 디자인. 이 단계에서 DynamicNet은 Flatten Layer가 자동으로 피드 포워드 섹션의 첫 번째 레이어에 연결되도록 자동으로 빌드합니다. 평평한 레이어의 뉴런의 수는 컨볼 루션 레이어 (이전 단계)의 설계 중에 자동으로 정의됩니다. 사용자는 입력의 차원 만 지정해야합니다. 이 정보는 컨벌루션 레이어를 통해 전파되는 "더미 입력"을 만드는 데 사용됩니다. 그런 다음 컨볼 루션 층의 출력을 평평하게하고 그 치수가 입력 뉴런의 수로 사용됩니다.
  3. 피드 포워드 섹션의 디자인. 이 프로세스는 매개 변수가 피드 포워드 섹션과 관련되어있는 주요 차이점과 함께 첫 번째 단계와 유사합니다. 간단한 피드 포워드 아키텍처가 설계된 경우 (DynamicNet이이 간단한 경우) 단계 1 및 2가 건너 뜁니다.

DynamicNet을 사용한 EEGNet 구현

4-class classification accuracy and standard deviation

CSP: common spatial patterns

FBCSP : filter bank common spatial patterns

 

결론

DynamicNet은 아직 예비 버전에 있지만 간단한 깊은 학습 모델의 빠른 구현을 위한 효과적인 도구로 보여진다.