[DL] CNN

Sunguk·2023년 1월 25일
0

1. CNN

CNN(Convolutional Neural Network)는 이미지 인식, 음성 인식, 자연어 처리 등 다양한 응용 분야에서 사용되는 딥러닝 모델입니다.

2. CNN 의 동작과정

  1. 입력 데이터: CNN은 이미지, 음성, 텍스트 등 다양한 형태의 입력 데이터를 처리할 수 있습니다. 이미지를 예로 들면, 입력 데이터는 픽셀 값으로 구성되어 있습니다.
  2. 컨볼루션 계층: 입력 데이터는 컨볼루션 계층으로 전달됩니다. 컨볼루션 계층은 필터를 사용하여 이미지의 특징을 추출합니다. 필터는 이미지의 일부 영역에 대해 가중치를 곱한 후 합하는 연산을 수행하며, 이를 통해 이미지에서 특정 패턴을 찾아낼 수 있습니다. 예를 들면 필터는 수평 라인을 찾는 필터, 수직 라인을 찾는 필터, 지역적으로합니다. 이렇게 추출된 특징을 이미지의 다른 부분에 적용하면, 이미지 전체에서 특정 패턴을 찾아낼 수 있습니다. 이러한 컨볼루션 연산을 여러번 수행하면 이미지에서 여러 가지 특징을 추출할 수 있습니다.
  3. 풀링 계층: 컨볼루션 계층에서 추출한 특징을 풀링 계층으로 전달합니다. 풀링 계층은 이미지의 크기를 축소하고, 이미지의 일부 특징을 더 강조합니다. 일반적으로 풀링은 최대 풀링(max pooling) 혹은 평균 풀링(average pooling) 이라는 두가지 방법을 사용합니다. 이는 풀링 영역안에서 가장 큰 값 혹은 평균 값을 선택하는 방법입니다. 이렇게 풀링을 통해 이미지의 크기를 축소하면 이미지의 고수준 특징을 추출할 수 있습니다.
  4. 완전 연결 계층: 이미지의 특징을 추출하는 과정을 여러 개의 컨볼루션 계층과 풀링 계층을 거친 후, 이를 완전 연결 계층으로 전달합니다. 완전 연결 계층은 이미지의 특징을 분류하기 위한 최종 결과를 출력합니다. 완전 연결 계층에서는 일반적인 신경망과 동일하게 가중치 값을 곱한 후 활성화 함수를 적용하며, 이를 통해 이미지의 클래스를 예측할 수 있습니다.

3. 컨볼루션

컨볼루션 계층(Convolutional Layer)은 CNN 모델의 핵심 구성 요소 중 하나로, 이미지나 음성, 텍스트 등의 입력 데이터에서 특징을 추출하는데 사용됩니다. 컨볼루션 계층의 작동 방식은 다음과 같습니다

  1. 필터(Filter) 사용: 컨볼루션 계층은 필터라는 가중치 행렬을 사용합니다. 필터는 입력 데이터의 일부 영역에 대해 가중치를 곱한 후 합하는 연산을 수행하며, 이를 통해 입력 데이터에서 특정 패턴을 찾아낼 수 있습니다.

  2. 슬라이딩 윈도우(Sliding Window): 컨볼루션 계층에서는 필터를 입력 데이터에 슬라이딩 윈도우(Sliding Window) 방식으로 적용합니다. 이는 필터를 입력 데이터에서 일정 간격으로 이동시켜 각 위치에 대해 필터를 적용하는 것을 의미합니다. 이렇게 필터를 적용하면 입력 데이터에서 여러 가지 특징을 추출할 수 있습니다. 슬라이딩 윈도우를 이동시키면서 필터를 적용하면, 입력 데이터의 전체 영역에 대해 특징을 추출할 수 있습니다.

    https://user-images.githubusercontent.com/15958325/58780750-defb7480-8614-11e9-943c-4d44a9d1efc4.gif

  3. 출력 계층 : 컨볼루션 계층에서는 이러한 필터 적용 과정을 통해 출력 계층(Output Layer)을 생성합니다. 출력 계층은 입력 데이터에서 추출한 특징을 담고 있는 행렬입니다. 이 행렬은 입력 데이터의 특징을 더 잘 나타내는 표현으로, 다음 계층에서 이를 사용하여 이미지를 분류하거나, 다른 특징을 추출하는데 사용합니다.

  4. 패딩(Padding)과 스트라이드(Stride) : 컨볼루션 계층에서는 패딩과 스트라이드라는 개념을 사용할 수 있습니다. 패딩은 입력 데이터의 외곽에 임의의 값을 추가하여 계산 결과를 보정하는 것을 의미합니다. 스트라이드는 슬라이딩 윈도우를 이동시키는 간격을 의미합니다. 이들을 적절히 설정하면 컨볼루션 계층에서 특징을 더 잘 추출할 수 있습니다.

요약

요약하면, CNN은 입력 데이터를 컨볼루션 계층, 풀링 계층, 완전 연결 계층을 거치면서 이미지의 특징을 추출하고 분류하는 과정입니다.

profile
안녕하세요

0개의 댓글