DNN(Deep Neural Network)과 영상처리/인식

조남익 교수

조남익 교수
(서울대학교 전기정보공학부)

최근에 DNN이 음성인식 분야에서 뿐만 아니라 물체 인식과 분류, 잡음 제거, 영상 복원과 같은 분야에서도 상당한 수준의 결과를 가져오고 있다. 필자가 30년 전에 대학원에 입학해서 석사과정 학생으로서 두 번째 수행한 과제가 한국전자통신연구소 (ETRI)와 함께한 한국어 숫자음 인식에 관한 것이었고, 이 때 나름대로 새로이 제안한 방법이 일반적인 음성 피쳐의 거리를 이용한 방법과 달리 당시 유행하기 시작했던 neural network을 이용하여 음성을 블록 단위로 트레이닝을 하여 피쳐를 정제하고 이를 새로운 형태의 피쳐로 시도를 해 본 것이었으며, 이를 이용해서 인식률이 수 퍼센트 포인트 올라갔던 것을 보고 기뻐했던 기억이 새롭다. 당시 석사 1학년이었으니 지금 생각해 보면 아무 것도 모르고 마구잡이로 하다가 어쩌다 좋은 결과가 나왔던 것이고, 그 이후에는 이러한 신경망 연구에 있어서 트레이닝을 위한 많은 데이터를 만들기가 너무 지겹고, 컴퓨터 속도의 한계로 neural network의 층 수를 올리기도 어렵고, 즉 “deep” neural network를 만들기에 컴퓨터 성능이 턱없이 모자라고, 네트웍의 구조와 파라미터를 조금씩 바꾸어 보다가 재수가 좋아야만 네트웍이 수렴을 하고 해서 별로 좋은 연구는 아니라 생각하고 신경망 연구는 더 이상 하지 않았다. 지금 돌이켜 보면 그 때 신경망 연구를 접지 않았다면 (석사 1학년이라 연구를 접는다 어쩐다 생각할 겨를도 없이 시키는 일 하기에도 바빴겠지만) 좋지 않았을까 하는 생각도 있고 한 편으로는 중간에 아예 연구라는 것을 접었을지도 모르겠다는 생각도 든다.

최근에 병렬처리기를 이용하여 수십 층의 네트웍을 쌓는 것이 가능해 지고, 네트웍의 트레이닝 속도와 수행속도가 더욱 빨라지고 있으며 거대한 네트웍의 트레이닝을 위한 많은 데이터 수집이 보다 쉬워짐으로써 DNN이 여러 분야에서 기존의 알고리즘들을 대체할 것이라는 것은 확실해 보이며, 따라서 영상처리나 영상인식을 하는 사람이면 DNN/CNN 자체에 대한 연구 또는 이를 응용한 연구는 해야 할 것으로 판단된다. DNN/CNN을 사용하지 않는 영상인식 방법에서는 주어진 목적에 적합한 피쳐를 사람이 잘 설계하고, 또한 사람이 이 피쳐를 잘 이용하는 툴을 설계하는 것이 중요한 내용이었다. 잡음제거나 영상복원과 같은 영상처리의 경우에는 잡음을 제거하고 영상을 변형하는 필터 구조와 알고리즘을 사람이 잘 설계하는 것이 주요 방법이었다. 그런데 CNN/DNN은 크게 보면 하나의 네트웍 구조가 트레이닝을 통하여 주어진 목적에 적합한 피쳐를 자동적으로 뽑아주고, 또는 주어진 영상 처리에 맞는 필터 계수를 자동적으로 찾아주고, 이를 이용한 결과 또한 분야에 따라 더 앞서거나 비슷한 성능을 내고 있다. 또한 CNN/DNN과 기존의 방법을 결합한 방법들도 시도되어 앞으로 영상처리/인식 분야에서 기존의 틀을 상당 부분 바꿀 것으로 보인다. 물론 아직까지는 분야에 따라서 DNN/CNN을 이용한 방법이 100와트 이상을 소비하는 GPU 그래픽 카드에서에서 한 달 이상 트레이닝을 해야 하고, 영상처리를 수행하는 데 있어서도 일반 신호처리 알고리즘 보다 GPU에서도 10배 이상 시간이 소요되기도 하며, 전용하드웨어 설계도 아직은 비현실적일 정도로 많은 게이트 수가 필요하지만 신경망 자체에 대한 neuromorphic 구현 방법과 같이 소비전력도 낮고 트레이닝 속도도 빠르다고 주장하는 하드웨어 연구도 진행되고 있으므로 미래에는 DNN이 하나의 universal tool로서 로봇, 자율 자동차 등에 장착되어 여러 기능을 수행할 것이라 기대된다. @ New Media and Communications Newsletter 2015. 12