본문 바로가기

전기전자공학부/인공지능개론

[복습1일차] Flattening과 Full Connection

Flattening

Flattening 이란, N차원의 Vector 혹은 Multi-dimensional Pooled Feature Map1차원의 벡터로 변환하는 과정을 말한다. 여기서 Pooled란 Feature Map을 각 방향에 대하여 크기를 줄이는 과정을 의미하고, Feature Map이란, 데이터가 연산(ex.convolution)을 통해서 정보가 추출되어 추상화된 데이터의 배열을 의미한다.

 

나는 보통 Feature Map을 정보가 응축된 데이터의 나열이라고 직관적으로 표현한다. 대게 영상처리에서는 convolution과 같은 연산을 데이터가 거치고 나면, 데이터의 주요한 특징이 추출되고 입력값에 대한 주요 정보가 함축적으로 encoding 되기 때문이다. 

Flattening on Multi-Dimensional Pooled Feature map (Credits:  Super Data Science  and  Codicals )

 

Full Connection

Full Connection 입력 데이터(1차원의 Vector)가 Hidden Layer(입력 layer와 출력 layer 사이에 위치한 layer)의 각 Node에 모두 연결되는 상황을 의미한다. 이때의 Hidden Layer는 Fully Connected Layer라고 지칭할 수 있다. 일반적으로, 2D와 같이 N차원의 데이터에 대하여 Flattening을 통해 1차원으로 vectorizing 한 뒤, 이를 full connection을 통해 FC Layer를 구현할 수 있다. 간단한 예시로는 Image Classification에 활용되는 것을 들 수 있는데, 2차원의 데이터인 이미지를 Convolution Layer로 이루어진 모델에 통과시켜 특징 값을 추출한 뒤 이를 Flattening 할 수 있다. 이 경우, 각 이미지에 대한 함축적인/추상적인 데이터가 추출되고 이를 FC Layer(Fully Connected Layer)에 Full Connection 함으로써 Image Classification 모델을 구현해볼 수 있다. 

(Credits: SuperDataScience)

 

출처:

1. Flattening layer in Computer Vision | by Prasant Kumar | Geek Culture | Medium

2. Convolutional Neural Networks (CNN): Step 4 - Full Connection - Blogs - SuperDataScience | Machine Learning | AI | Data Science Career | Analytics | Success

728x90