본문 바로가기

【2】CNN_합성곱 신경망/컴퓨터 비전의 이해

컴퓨터에게 눈이 달렸다면 얼마나 좋을까?

컴퓨터 비전(Computer vision)은 인간의 시각(vision)을 컴퓨터가 가질 수 있도록 하는 인공지능의 한 분야이다. 사람이 눈을 통해 본 장면을 이해하고 정보를 얻는 것처럼 컴퓨터도 물체와 사람을 식별해서 관계를 파악하고 더 나아가 감정과 의도를 추측할 수 있도록 컴퓨터에게 ‘눈’을 달아 주는 것이다.

 

 

출처:  Purdue University e-Lab  

                                              

사람은 직관적으로 사진 속 사물과 그 관계를 파악하는 것이 가능하다. 그러나 이를 컴퓨터에게 가르치기란 결코 쉬운 일이 아니다. 그렇다면 컴퓨터에게 사람처럼 보는 법을 어떻게 알려 주려 했을까?

 

컴퓨터에게 눈을 달아주려는 아이디어에 맞게 초창기 컴퓨터 비전은 동물의 시각 정보 처리 방식을 모방하는 연구가 진행되었다. 뇌가 사물을 인식하기 전 테두리(edge), 색(color), 질감(texture)과 같은 저 수준의 시각적인 요소를 먼저 추출한다는 것과 움직임을 인식할 때 행동을 제어하는 뇌 영역 근처에서 신호가 처리된다는 생물학적 연구들이 있었다. 이러한 생물학적 시각 정보의 처리 방식을 컴퓨터 세계로 가져와 모델링하는 접근을 시도 했으며 이렇게 개발된 모델은 일정 조건 하에서는 높은 정확성을 보여주었다. 하지만 약간이라도 장면이 달라지면 정확도가 떨어지는 치명적인 단점이 존재했는데 이러한 한계를 극복하고자 1990년대에는 통계적 기반의 접근법이 시도되었다. 그 결과 비슷한 종류의 이미지를 훨씬 효과적으로 인식하였고 SVM(Support Vector Machine), Random Forest와 같은 통계에 바탕을 둔 머신 러닝 분류 알고리즘들이 인기를 끌게 되었다. 한편 이시기에 인공 신경망을 이용한 접근들도 존재했으나 머신 러닝 알고리즘에 비해 좋은 결과를 내지 못해 관심 받지 못하였다.

 

앞서 등장한 머신 러닝 알고리즘들은 좋은 성능을 가졌지만 한가지 문제점이 있는데 바로 입력 데이터의 속성에 따라 정확도가 크게 달라진다는 것이었다. 이를 위해 사람이 직접 수작업으로 최고의 성능을 낼 수 있는 피처(feature)를 찾는 과정이 반드시 필요했다. 이 과정을 피처 엔지니어링(Feature Engineering)이라고 하며 어떤 선택이 최고의 성능을 내는지 일일이 실험해야 하므로 시간이 많이 걸리고 번거로운 작업이었다. 이러한 아쉬움을 어떻게 해소시킬 수 있었을까? 해결점은 획기적인 새로운 기술이 아닌 우리가 알고 있는 ‘딥러닝’이 바로 그 돌파구가 되었다.

 

1장에서 다루었듯이 딥러닝은 깊은 신경망의 학습을 의미한다. 여기서 깊은 신경망이란 은닉 레이어가 겹겹이 쌓여 있는 구조를 말하며 은닉층이 깊어질수록 추상적인 피처를 학습함으로써 복잡한 복잡한 문제를 해결 할 수 있는 것이다. 이렇게 딥러닝의 학습 알고리즘은 정답과의 오차를 줄이는 방향으로 파라미터 값들을 수정하며 최적의 값을 찾아내는 과정을 거치는데 이를 다시 표현하면 자동으로 피처 엔지니어링 과정을 수행한다고 할 수 있다. 즉 딥러닝을 이용하면 머신 러닝의 수동 피처 엔지니어링의 번거로움을 완화할 수 있는 것이다. 또한 인공신경망의 성능을 높이는 기술들의 등장 예를 들면 딥러닝의 학습 알고리즘을 충분히 훈련시킬 수 있는 라벨링된 데이터 세트들이 공개, 방대한 계산 비용과 시간을 줄여주는 하드웨어의 발달 등으로 컴퓨터 비전분야는 딥러닝을 이용해 더욱 발전될 수 있었다.

 

 

그렇다면 딥러닝을 기반으로 한 컴퓨터 비전 분야가 어떻게 연구되었는지 다음 글에서 알아보자.

 

 

 

 

 

참고글: https://m.post.naver.com/viewer/postView.nhn?volumeNo=12634444&memberNo=36733075


작성자 홍다혜 ghdek11@gmail.com  / 이원재 wonway333@gmail.com