AI VIDEO BRIEFING

합성곱 신경망(CNN)이 잘 작동하는 이유, 고차원의 저주와 이미지 인식의 해법

사기 탐지도 보험료 산정도 해내던 기계 학습이 유독 이미지 앞에서는 무너졌다. 그 원인이 학습 능력이 아니라 입력 차원에 있었다는 설명과, 합성곱 신경망이 이를 우회한 방식을 정리했다.

기계는 왜 오래도록 '보지' 못했나 — 합성곱 신경망이 푼 차원의 문제 영상 대표 이미지

핵심 메시지

  • 모든 기계 학습은 결국 점들을 지나는 함수를 찾는 곡선 적합이며, 예측이 맞으려면 입력 공간이 데이터로 촘촘히 채워져야 한다.
  • 32×32 크기의 작은 이미지조차 3,072차원이어서, 그 공간을 촘촘히 채우는 것은 물리적으로 불가능하다.
  • 합성곱 신경망은 각 층이 작은 조각만 보게 해 저차원 입력을 유지하고, 층을 쌓아 시야를 점점 넓히는 방식으로 이 문제를 우회한다.
  • 각 층이 입력을 소수의 값으로 압축하도록 강제되기 때문에, 마지막 층이 이미지 전체를 보더라도 실제 입력 차원은 낮게 유지된다.
  • 이 구조가 통하는 이유는 실제 사진에서 이웃한 픽셀이 같은 물체에 속할 가능성이 높다는 성질 때문이며, 픽셀 순서를 뒤섞으면 이점이 사라진다.

쉽게 이해하기

1980년대 기계 학습 혁명은 신용카드 사기 탐지, 보험료 산정, 상품 추천 같은 작업을 자동화했고 종종 사람 전문가보다 나은 성과를 냈다. 그런데 유독 하나의 작업만은 오래도록 풀리지 않았다. 바로 '보는 것', 즉 이미지에 무엇이 있는지 알아맞히는 일이다. 아무리 깊은 신경망을 써도 사람의 성능에 미치지 못했다. 다른 일에서는 초인적인 성과를 내던 모델이 왜 이미지 앞에서만 무너졌을까.

영상은 그 답을 모델의 똑똑함이 아니라 입력의 차원에서 찾는다. 모든 기계 학습 모델이 하는 일은 결국 곡선 적합이다. 라벨이 붙은 점들을 놓고 그 사이를 지나는 함수를 찾는 것이다. 이 방식이 통하려면 새로 들어온 입력 근처에 학습에 쓴 점이 충분히 있어야 한다. 그런데 차원이 하나 늘 때마다 같은 밀도를 유지하는 데 필요한 점의 수가 기하급수적으로 늘어난다. 32×32 픽셀짜리 이미지 한 장을 설명하는 데만 3,072개의 숫자가 필요하고, 그 공간을 채우려면 우주의 입자 수보다 훨씬 많은 이미지에 라벨을 붙여야 한다.

해법의 출발점은 의외로 단순하다. 이미지 전체 대신 3×3 픽셀짜리 작은 조각만 보게 하면 입력이 저차원이 되어 학습이 쉬워진다. 문제는 그 조각 하나만으로는 물체가 무엇인지 알 수 없다는 것이다. 전체를 보면 학습이 불가능하고, 조각만 보면 정보가 부족한 딜레마다. 여기서 나온 답이 반복이다. 모든 조각에 신경망을 적용하고, 그 출력들을 다시 다음 신경망에 넣는다. 두 번째 층은 사실상 5×5 영역을 보게 되고, 층을 충분히 쌓으면 마지막 층은 이미지 전체를 보게 된다. 이것이 합성곱 신경망이다.

그렇다면 마지막 층은 결국 고차원 입력을 받는 것 아니냐는 반문이 가능하다. 여기에 대한 설명이 이 영상의 핵심이다. 각 층은 자기가 받은 조각을 소수의 값으로 요약해 내보낼 수밖에 없고, 그 과정에서 정보의 일부가 걸러진다. 따라서 위층이 넓은 영역의 정보를 받더라도 그 영역의 모든 정보를 받는 것은 아니며, 실제 입력 차원은 계속 낮게 유지된다. 층의 출력 개수를 수백, 수천 개로 늘리는 오늘날의 방식에서도 결과는 비슷하다. 학습이 진행되면서 작업에 필요한 만큼의 정보만 통과하고 나머지 출력은 무작위로 남아 다음 층에서 무시되기 때문이다.

마지막으로 영상은 이 구조가 공짜가 아니라는 점을 짚는다. 합성곱이 통하는 이유는 실제 사진에서 이웃한 픽셀들이 같은 물체의 일부일 가능성이 높아 '풀 질감' 같은 간단한 설명으로 압축될 수 있기 때문이다. 픽셀 순서를 무작위로 뒤섞으면 이웃 픽셀 사이의 관계가 사라지고, 같은 데이터셋에서 합성곱 신경망의 성능은 일반 신경망보다도 떨어진다. 사람 역시 뒤섞인 이미지는 알아보지 못한다. 우리의 시각도 세상의 공간 구조를 전제로 만들어져 있다는 이야기다.

주요 인사이트

  • "데이터를 많이 주면 신경망이 알아서 배운다"는 통념을 정면으로 뒤집는다. 고차원 데이터에서 순수하게 학습만으로 규칙을 찾는 것은 사람에게도 신경망에게도 불가능하다는 것이 이 설명의 결론이다.
  • 합성곱 신경망이 볼 수 있는 이유는 학습 능력이 아니라, 사람이 공간 구조라는 사전 지식을 구조 자체에 미리 심어놓았기 때문이다.
  • 성능 수치가 주장을 뒷받침한다. 같은 CIFAR-10 데이터셋에서 일반 심층 신경망은 74.3%, 합성곱 신경망은 95.3%를 기록했고 사람은 99.5%에 이른다.
  • 픽셀을 뒤섞은 실험은 통제된 반례 역할을 한다. 뒤섞인 이미지에서 합성곱 신경망은 62.9%로 떨어져 일반 신경망보다 못한 성능을 보였고, 일반 신경망의 성능은 뒤섞기 전과 동일했다.
  • 학습이 끝난 모델에서 가중치의 90% 이상을 제거해도 성능이 그대로라는 관찰은, 층의 출력 대부분이 실제로는 쓸모없는 무작위 값이라는 설명과 맞물린다.

자주 묻는 질문

이미지 인식이 다른 작업보다 어려웠던 이유는 무엇인가요?

입력의 차원 때문입니다. 보험료 산정 같은 작업은 사람에 대한 몇 가지 특징만 보면 되므로 입력 공간이 저차원입니다. 반면 32×32 픽셀짜리 작은 이미지도 3,072개의 숫자가 필요한 고차원 입력이고, 그 공간을 학습 데이터로 촘촘히 채우는 것은 현실적으로 불가능합니다.

합성곱 신경망은 어떻게 고차원 문제를 피해가나요?

각 층이 이미지의 작은 조각만 보도록 시야를 제한합니다. 그러면 개별 층의 입력은 저차원이 되어 학습이 쉬워집니다. 그 출력을 다시 다음 층에 넣는 과정을 반복하면 층마다 보는 영역이 넓어지고, 마지막 층은 사실상 이미지 전체를 보게 됩니다.

층의 출력 개수를 수천 개로 늘리면 차원 문제가 다시 생기지 않나요?

실제로는 그렇지 않다고 설명합니다. 학습은 무작위 가중치에서 시작해 예측을 라벨에 가깝게 만드는 방향으로 진행되는데, 작업을 풀 만큼 충분한 정보가 통과하면 나머지 출력은 무작위로 남습니다. 그리고 무작위 값은 다음 층에서 무시되기 때문에 실제로 전달되는 정보량은 여전히 적습니다.

픽셀 순서를 뒤섞으면 어떤 일이 벌어지나요?

이웃한 픽셀들이 서로 무관한 값이 되어 조각을 간단히 압축할 수 없게 됩니다. 그 결과 합성곱 신경망의 정확도는 62.9%까지 떨어져 일반 심층 신경망보다도 낮아집니다. 반면 애초에 공간 구조에 의존하지 않던 일반 신경망의 성능은 그대로였습니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식