본문 바로가기
Learning-driven Methodology/DL (Deep Learning)

[Deep Learning] 1D CNN

by goatlab 2023. 9. 27.
728x90
반응형
SMALL

1D CNN

 

 

1D CNN은 1차원 데이터를 처리하는 CNN의 한 종류이다. 컴퓨터 비전 작업에서 CNN에 대한 입력은 일반적으로 각 픽셀이 행렬의 값으로 표시되는 2차원 이미지이다. 이와 대조적으로 숫자 데이터는 일반적으로 1차원 값 시퀀스로 표시된다.

 

일반적으로 CNN은 이미지 처리에서 주로 쓰이며 2D convolution을 사용하지만, 수치나 텍스트 처리에서는 filter가 위아래 한 방향으로만 이동하는 1D Convolution을 사용한다.


1D CNN은 입력 데이터 위에 작은 창을 슬라이딩하고 창과 학습 가능한 필터 세트 사이의 내적을 계산하는 컨볼루션 작업을 입력 데이터에 적용한다. 이 작업의 결과는 피처 맵이며, 이는 비선형 활성화 함수와 풀링 레이어를 통해 전달되어 출력의 차원을 줄인다. 

 

완전 연결 신경망과 같은 기존 신경망은 수치 데이터에 사용할 수 있지만 몇 가지 제한 사항이 있다. 주요 제한 사항 중 하나는 완전히 연결된 신경망에는 고정된 입력 크기가 필요하며, 이는 길이가 다양한 수치 데이터의 경우 문제가 될 수 있다는 것이다. 또한, 완전히 연결된 신경망은 데이터의 로컬 구조를 고려하지 않는다.

반면에 1D CNN은 가변 길이 입력을 처리하고 데이터의 로컬 구조를 캡처할 수 있다. 따라서, 시계열 분석 및 오디오 신호 처리와 같은 작업에 매우 적합하다.

 

Conv1D layer in Keras

 

tf.keras.layers.Conv1D(
    filters,
    kernel_size,
    strides=1,
    padding="valid",
    data_format="channels_last",
    dilation_rate=1,
    groups=1,
    activation=None,
    use_bias=True,
    kernel_initializer="glorot_uniform",
    bias_initializer="zeros",
    kernel_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=None,
    kernel_constraint=None,
    bias_constraint=None,
    **kwargs
)

 

이 레이어는 출력 텐서를 생성하기 위해 단일 공간 (또는 시간) 차원에 대해 레이어 입력과 컨볼루션되는 컨볼루션 커널을 생성한다. use_bias가 True이면 바이어스 벡터가 생성되어 출력에 추가된다. 마지막으로 활성화가 None이 아니면 출력에도 적용된다.

 

input_shape = (4, 10, 128)
x = tf.random.normal(input_shape)
y = tf.keras.layers.Conv1D(32, 3, activation='relu',input_shape=input_shape[1:])(x)
print(y.shape)
(4, 8, 32)

 

https://saturncloud.io/blog/how-to-properly-implement-1d-cnn-for-numerical-data-in-pytorch/

 

How to Properly Implement 1D CNN for Numerical Data in PyTorch | Saturn Cloud Blog

Convolutional Neural Networks (CNNs) are a type of neural network commonly used in computer vision tasks such as image classification and object detection. However, CNNs can also be used for non-image data, such as numerical data. In this article, we will

saturncloud.io

728x90
반응형
LIST