상세 컨텐츠

본문 제목

Convolution Neural Network

ML

by LYShin 2022. 12. 14. 23:33

본문

- 본 글에서는 CV에 지대한 영향을 끼친 Convolution Neural Network에 대해 간단히 소개합니다.

 

 

1. Concept

 

ConvNet이라는 별칭을 가지고 있는 Convolution Neural Network의 등장 이전에는 사진의 특징을 추출하고 추출한 특징을 기반으로 알고리즘을 만들었습니다. 하지만 ConvNet의 등장 이후 사진의 특징을 알고리즘 내에서 자동으로 추출하여 사용하기 시작했습니다. 특히, 직접 특징을 찾아서 추출하는 방식보다 더 좋은 성능을 발휘했기 때문에 연구자들은 특징을 추출하기보다는 딥러닝 알고리즘이 알아서 하는 방식을 더 선호하기 시작했습니다.

 

 

 

2. How it works

ConvNet의 작동방식은 위의 그림과 같습니다. 작은 Filter을 순환시켜 특징들을 추출합니다. 만약 사진이 고양이라면 고양이의 귀, 눈, 코 등의 특징을 추출하여 연산을 통해 고양이라고 확정짓습니다. 

 

 

 

3. Algorithms

 

ConvNet이 작동하는 방식에 대해 좀 더 자세히 살펴보도록 하겠습니다. 먼저, 하나의 필터를 고릅니다. 선택한 필터와 동일한 크기의 범위에서 연산을 통해 필터의 가운데 위치에 연산해서 나온 값을 저장합니다.

 

 

위의 방식으로 모든 위치에 대해 연산을 하여 하나의 Map을 만듭니다. 이것을 Activation Map이라고 합니다.

 

 

여러가지 필터를 사용하여 다양한 Activation Map을 만듭니다. Activaition Map에 담긴 의미는 각 Filter의 패턴이 얼마나 크게 나타났는지를 알려주는 지표입니다.

 

 

만들어진 Activation Map에 4개의 노드로 하나의 묶음을 만들어 Poling과정을 거칩니다. 4개의 노드 중 가장 큰 노드의 수치를 저장하는 Max Pooling과정입니다. 이 과정을 거쳐 가까운 픽셀간의 약간의 차이는 무시하게 됩니다.

 

이로써 기본적인 ConvNet의 작동방식을 알아보았습니다. 2012년 AlexNet이 처음으로 등장한 이후 이러한 기본 방식 아래에서 다양한 시도가 있었습니다.

 

단순히 층을 늘려 성능을 향상시키거나, 여러개의 Conv층을 묶어 하나의 Conv층으로 사용하고, Conv 이전 층을 그대로 더해 활성화함수를 통과시키는 등의 방식으로 ConvNet의 성능을 증가시켰습니다.

'ML' 카테고리의 다른 글

Attention Usage  (0) 2022.12.19
Recurrent Neural Networks  (0) 2022.12.16
Hyper Parameter  (0) 2022.12.12
신경망(Neural Network)  (1) 2022.12.08
클러스터링(Clustering)  (0) 2022.12.07

관련글 더보기

댓글 영역