딥러닝(텐서플로우)

DeConv (DCNN), ConvTranspose

Dean83 2023. 4. 5. 08:21


1. Deconvolutional Networks

     - CNN은 이미지를 압축하는 역할을 했다면, DCNN은 그 반대되는 역할을 수행한다. 

     - 이미지를 팽창, 확대하는 역할을 한다



2. keras.layers.Conv2DTranspose
   
     - 원본과 동일한 형태로 복원 해주는 함수. (Upsampling)

     - Deconv 의 경우 원본값으로 되돌려 주지만, Transpose 는 그 형식만 원본으로 맞춰줄 뿐, 실제 데이터를 원본으로

       돌리는 것은 아니다. 
     - 엄밀히 말하면 Transpose 는 Deconv 가 아니지만, 해당 작업을 위해 사용된다.

     - 즉, 이미지 처리 과정에서 사이즈를 줄인 후 학습한 경우, 그 값을 원본 크기로 다시 복원 할때 사용된다. 
     - 인자값
         - 1번째 인자값 filter : 출력되는 결과물의 사이즈

         - 2번째 인자값 kernel_size : 필터 사이즈 (튜플, 리스트)

         - strid : 계산시 이동할 step

         - padding : valid 나 same 의 문자열을 입력값으로 한다.
                           valid : 패딩 없음
                           same : 아웃풋이 동일한 크기가 될 만큼의 패딩을 넣는다.
         - use_bias : true 또는 false 로, bias 벡터 사용유무.
                             bias란, 뉴런에 입력된 가중합에 값을 더 하는 상수로서, 최종적으로 출력되는 결과값을 조절하는 역할.
                             성향에 따라 값을 더하고 빼는 역할임.