Home Deeper Layer의 문제점
Post
Cancel

Deeper Layer의 문제점

deeper Network

  • Alexnet거쳐 VGGNet으로 발전하며 네트워크가 깊을수록 좋은 성능을 가진다는 것을 알게되었다.
  • 네트워크가 깊을수록 receptive fields가 커지므로 더 성능이 좋아진다고 생각할 수 있다.

Hadr to optimize

  • 너무 깊게 쌓게되면 Gradient vanishing/exploding 현상이 발생한다.
  • 또한 용량이 커져 더 많은 컴퓨팅 파워, 리소스가 필요하게된다.
  • 파라미터가 매우 많아져 표현력이 과하게 좋아 overfitting에 취약할것이라 생각했지만 Degradation problem이라는 것이 밝혀졌다.
    • train err도 같이 줄지 않음

GoogLeNet

  • Inception module 제안
    • 하나의 Layer에서 다양한 크기의 conv filter를 사용해 여러 측면으로 관찰하려 했다.(width)

    problem0

    • 위처럼 하나의 Layer에 width를 늘렸다. 하지만 이렇게 Network를 구성할 경우 계산량이 많아지는 문제가 발생한다. 이를 해결하기위해 1 x 1 conv를 사용한다.

    problem1

ResNet

  • Image Net에서 처음으로 인간의 성는을 뛰어넘은 Model
  • Network의 깊이가 커질 때 발생하는 문제는 overfitting문제가 아닌 최적화 문제로 깊은 네트워크가 학습이 잘 되지 않았다고 주장.

problem2

  • Skip connection(Shortcut connection)을 제안
    • gradient vanishing 문제 해결 가능
  • Resudual network는 $2^n$수의 path가 존재한다.
    • 이런 path들은 gradient가 지나갈 수 있는 input, output path이다.
  • He initialization를 사용
    • 일반적인 init을 사용할 경우 identity 가 더해져야 하기 때문에 값이 계속 커지는것을 해결하기위해 He init사용

DenseNet

  • 바로 직전의 입력 뿐만 아니라 훨씬 이전 Layer에 대한 정보도 같이 고려한다.
  • RESnet과 다르게 concatenate한다.

SENet

  • attention across channels
  • 현재 주어진 activation관의 관계가 채널 관계를 파악해 Attention을 생성
  • Squeeze
    • Global avgPool을 통해 각 채널의 평균 정보만 포함하도록 한다.
  • Excitation
    • FC Layer하나를 사용해 채널의 연관성을 고려해 Attention Score를 생성한다.

problem3

EfficientNet

  • compound scaling
    • width scaling, depth scaling, resolution scaling를 적절한 비율로 조정하여 학습

Deformable convolution

problem4

  • 2D offset을 생성하기 위한 branch를 추가로 생성한다.
  • offset에 따라 퍼진 conv로 연산한다.

Semantic segmetation

  • 하나의 픽셀 단위로 classification

FCN(Fully convolutional networks)

  • 기존 full connected Layer를 사용하는 network의 경우 입력 해상도가 바뀌게 되면 Fully connected Layer와 호환이 안되는 문제가 발생하였지만 FCN에서는 문제가 발생하지 않는다.
  • 기존 Fully connected Layer를 위해 flatten을 사용하였다.
  • FCN에서는 1 * 1 conv 를 m filter만큼 적용하여 최종 output을 얻음FCN에서는 1 * 1 conv 를 m filter만큼 적용하여 최종 output을 얻음
  • stride, pooling layer로 receptive field size를 키워서 학습하기 때문에 최종 output의 해상도는 매우 작아지게된다. 이러한 저해상도 문제를 해결하기 위해 upsampling을 도입한다.

Upsampling

  • Transposed convolution

    problem5

    • 중첩된 부분은 더해져서 나간다.
    • conv filter size와 stride를 잘 조정해 중첩이 생기지 않도록 조정해줘야한다.

problem6

U-Net

problem7

  • Fully convolutional
  • Contracting Path, Expanding Path가 존재한다.
  • Expanding Path에서 upsampling하며 기존 Contracting Path에서의 정보를 skip connection을 통해 concat하여 계산한다.

DeepLab

  • Conditional Random Fields(CRFs)
  • Dilated convolution
    • weight 사이에 특정 사이즈만큼 공간을 두어 conv 연산 수행

    problem8

  • Depthwise Separable convolution
    • 기존 conv 연산은 input feature와 같은 채널의 filter를 사용해 채널축 전체에 대해서 계산을 수행한다.
    • Depthwise Separable convolution은 2개의 과정을 통해 연산을 수행한다.
      • 각 채널 기준으로
      • 위의 결과

    problem9

This post is licensed under CC BY 4.0 by the author.