선형근사의 개념이 딥러닝에 어떻게 쓰이나요?
대학교에 재학중인 공대생입니다.
수업에서 선형근사를 통해 근을 구하는 방식을 배웠는데 교수님께서는 실제로 이러한 방법으로 딥러닝 알고리즘에 쓰인다고 합니다. 저는 컴퓨터전공이 아니라 감은 안오는데 비유를 통해 어떻게 쓰이는지 감만잡아주세요!
딥 러닝은 사실 새로운 개념이 아닙니다. 오래전부터 있어오던 인공신경망(Artificial Neural Network, ANN)과 크게 다를 바 없죠. '인공신경망'이라고 하면 단어에서 나오는 뽀대(?) 때문인지 막 복잡한 뇌 구조가 생각하면서 꿈 같은 이야기가 펼쳐질 것 같은 느낌 드는데요, 사실 인공신경망은 그렇게 판타스틱한 개념은 아닙니다.
그저 선형 맞춤 (linear fitting)과 비선형 변환 (nonlinear transformation or activation)을 반복해 쌓아올린 구조에 불과하죠. 다시 말해, 인공신경망은 데이터를 잘 구분할 수 있는 선들을 긋고 이 공간들을 잘 왜곡해 합하는 것을 반복하는 구조라고 할 수 있습니다. 선 긋고, 구기고, 합하고, 선 긋고, 구기고, 합하고, 선 긋고, 구기고, 합하고...(먹고 뜯고 맛보고 즐기고...-_-..)
예를 들어 컴퓨터가 사진 속에서 고양이를 검출해내야 한다고 생각해보죠. '고양이'라는 추상적 이미지는 아마 선, 면, 형상, 색깔, 크기 등 다양한 요소들이 조합된 결과물일 것입니다. 이것은 아마 '선 30cm 이상은 고양이, 이하는 고양이 아님', 또는 '갈색은 고양이, 빨간색은 고양이 아님' 처럼 간단한 선형 구분으로는 식별해 낼 수 없는 문제겠죠. 딥러닝은 이 과제를 선 긋고 왜곡하고 합하고를 반복하며 복잡한 공간 속에서의 최적의 구분선을 만들어 내는 목적을 가지고 있습니다.