[Tensorflow Keras] MaxPooling 과 Average Pooling 을 살펴보자.

Robert Lee·2021년 10월 5일
2

Deep Learning

목록 보기
3/5

🔊 목차

  • 레이어 개념을 비교 설명하며 활용에 대해 이야기한다.
    • Max Pooling 과 Average Pooling
    • Flatten 과 Global Pooling

😊 레이어 개념 비교 설명

우리는 앞서 이미지 분류를 위한 기본적인 레이어에 대해 살펴보았다.

여기서 우리는 더 깊은 이해를 위해 자료를 찾을 것이고

폴링 Pool Layer 에는 적어도 두가지 존재하는 것을 알게 된다.

❝ Max Pooling 과 Average Pooling 을 볼 수 있다. ❞


여기서 찾아보면

❝ Global Average Pooling 을 볼 수 있을 거다. ❞


같은 레이어 Layer 지만 개념과 목적이 다른

다소 혼란스러운 개념에 대해 이야기 해보고자 한다.


🔨 Max Pooling vs Average Pooling

먼저 폴링 Pooling Layer 의 목적은 최적화 파라미터 개수를 줄이기 위함이다.

그러나 우리는 목적에 따라 폴링을 두가지 형태로 구현할 수 있다.

  • Max Pooling

  • Average Pooling


최대값 Max 을 활용하면 가장 두드러지는 특징을 찾을 수 있다고 했다.

❝ 그렇다. 최대값이라는 개념을 활용한다면 특징을 잘 찾아낼 수 있다. ❞


반대로 평균 Average 은 덜 중요한 요소를 포함할 수 있다.

❝ 그럼에도 왜 사용하는 것일까 ? 왜냐하면 분산을 사용할 수 있기 때문이다. ❞


평균과 분산 개념을 활용하여 물체 위치를 보다 쉽게 파악할 수 있기 때문이다.

따라서 우리는 객체 탐지 Object Detection 분야에서 Average Pooling 을 효과적으로 활용할 수 있다.


🔧 Flatten vs Global Pooling

Flatten 은 다차원 데이터를 1 차원 데이터로 변경하는 역할을 한다고 했다.

❝ 그렇다면 Global Pooling 과 Flatten 어떤 연관성이 있을까 ? ❞


우선 Global PoolingPooling 과 달리 사진 한장을 하나의 숫자로 출력할 수 있다.

따라서 Flatten 의 출력과 Global Pooling 출력은 비슷하다.

다만 Max 또는 Average 개념을 포함시킬 수 있으며 출력 길이가 다른 특징이 있다.


출처 - www.researchgate.net/globalmaxpooling

또한 Global Average Pooling 은 이미지 설명에도 활용되며

Flatten 에 비해 성능이 좋다고 알려져있다.


한줄로 정리하자면

❝ Global Average Pooling 과 Flatten 은 같은 일을 하며 GAP 를 적용하면 성능 향상을 기대할 수 있다. ❞


이제 우리는 해당 개념에 대해 간단히 알아보았다.

추후 포스트에서 구현과 함께 보다 자세히 알아보도록 하자.


다음 포스트에서는 본격적으로 이미지 분류를 살펴볼 것이다.

profile
Hi. Hello World.

0개의 댓글