23. 딥러닝 레이어의 이해(1)

j_hyun11·2022년 2월 9일
0

FUNDAMENTAL

목록 보기
7/11

데이터의 형태

이미지 데이터

  • Red 채널, Green 채널, 그리고 Blue 채널까지 총 3개의 채널을 가짐
  • 표기 방법 : Channel, Width, Height의 이니셜로 (C, W, H), (W, H, C)

레이어

  • 하나의 물체가 여러 개의 논리적인 객체들로 구성되어 있는 경우, 이러한 각각의 객체를 하나의 레이어라 한다.

    Linear 레이어

  • Fully Connected Layer, Feedforward Neural Network, Multilayer Perceptrons, Dense Layer... 등

  • 선형 변환(Linear Transform)을 활용해 데이터를 특정 차원으로 변환하는 레이어

  • (입력의 차원, 출력의 차원)에 해당하는 Weight를 가지는 특성을 가짐

  • 입력 피처 전체가 매 출력에 미치는 영향의 가중치를 모든 입력 피처 사이에 전부 고려

  • 이미지처럼 지역성(Locality) 그 자체가 엄청나게 중요한 정보가 되는 경우, Linear 레이어는 그 중요한 정보가 모두 소실된 채 엄청나게 큰 파라미터 속에서 입력과 출력 사이의 관계 가중치를 찾아내야 하는 어려운 문제가 발생

Convolution 레이어

  • 목적에 도움이 되는 정보는 선명하게, 그렇지 않은 정보는 흐리게 만드는 수십 개의 중첩된 필터를 훈련을 통해 찾아주는 것
  • 필터 구조 안에 Locality 정보가 온전히 보존됨
  • 인접한 픽셀들 사이에서의 패턴만 추출할 수 있다는 것 자체만으로도 불필요한 파라미터 및 연산량을 제거하고 훨씬 정확하고 효율적으로 정보를 집약시킬 수 있게 됨

Receptive Field

  • Neural Network의 출력부가 충분한 정보를 얻기 위해 커버하는 입력 데이터의 Receptive Field가 충분히 커서 그 안에 detect해야 할 object의 특성이 충분히 포함되어 있어야 정확한 detection이 가능하게 됨

Pooling 레이어

1. Receptive Field

  • Neural Network의 출력부가 충분한 정보를 얻기 위해 커버하는 입력 데이터의 Receptive Field가 충분히 커서 그 안에 detect해야 할 object의 특성이 충분히 포함되어 있어야 정확한 detection이 가능하게 됨

2. Max Pooling 레이어

  • 영역 안에서 가장 값이 큰 대표 선수 하나를 뽑고 나머지는 무시하는 역할

장점

  • translational invariance 효과
    • 동일한 특징을 안정적으로 잡아낼 수 있는 긍정적 효과
    • object 위치에 대한 오버피팅을 방지하고 안정적인 특징 추출 효과를 가져옴
  • Non-linear 함수와 동일한 피처 추출 효과
    • 중요한 피처만을 상위 레이어로 추출해서 올려줌으로써 결과적으로 분류기의 성능을 증진시키는 효과를 가짐
  • Receptive Field 극대화 효과
    • Convolutional 레이어를 아주 많이 쌓아서 Receptive Field를 크게 한다면 오버피팅, 연산량 증가, Gradient Vanishing 등의 문제가 발생
    • 이를 해결하는 방법으로 Max Pooling 레이어, Dilated Convolution가 있음

Deconvolution 레이어

1. Auto Encoder

  • Convolution의 결과를 역재생해서 원본 이미지와 최대한 유사한 정보를 복원해냄

2. Decoder 레이어

  • Convolution 레이어를 거쳐 정보가 집약되는 것이 아니라 오히려 정보량이 많아지고 있음
  • 우리의 AutoEncoder 구조가 얼마나 정보손실 없이 원본 데이터를 잘 압축하고 있느냐에 따라 Decoder가 뽑아낼 수 있는 최종적인 이미지의 퀄리티가 결정됨
  • Convolution의 수학적 역연산으로서의 Deconvolution과는 다름

3. Upsampling 레이어

  • Max pooling 레이어를 통해 Downsampling의 반대 작업을 수행

복원 방법
Nearest Neighbor : 복원해야 할 값을 가까운 값으로 복제
Bed of Nails : 복원해야 할 값을 0으로 처리
Max Unpooling : Max Pooling 때 버린 값을 실은 따로 기억해 두었다가 그 값으로 복원

4. Transposed Convolution

  • Upsampling 기법의 일종
  • Transposed Convolution을 계산하는 과정이 마치 convolution 연산을 거꾸로 계산하는 것과 비슷

참고 : https://realblack0.github.io/2020/05/11/transpose-convolution.html

0개의 댓글