CNNConvolutional Neural Network
사진의 무늬를 층층이 찾아내는 신경망 구조
- CNN (Convolutional Neural Network, 합성곱 신경망)은 사진을 다루려고 만든 신경망 구조예요. 사진을 통째로 놓고 한 번에 판단하지 않아요.
- 작은 판으로 사진을 훑어 무늬를 찾는 단과 결과를 간추려 줄이는 단이 번갈아 이어져요.
- 앞쪽 단은 선과 모서리 같은 잔무늬를, 뒤쪽 단은 바퀴와 창틀 같은 큰 부품을 알아봐요.
- 같은 판을 사진 구석구석에 똑같이 쓰기 때문에, 물체가 화면 어디에 있어도 알아볼 수 있어요.
- 사진만이 아니라 소리를 그림으로 바꾼 것, 짧은 영상에도 같은 구조를 써요.
목차
1비유로 이해하기
떡방앗간에 쌀 한 자루를 맡기면 기계 한 대가 알아서 떡을 내주지는 않아요. 빻는 기계, 반죽을 찌는 기계, 가래떡을 뽑는 기계, 알맞은 두께로 써는 기계가 줄지어 서 있고, 앞 기계가 내놓은 것을 뒤 기계가 받아 자기 몫만 해요. 자루를 앞에 두고 떡 모양을 맞히는 사람은 없지만, 단을 하나씩 지날수록 쌀은 가루가 되고 반죽이 되고 가래떡이 되다가 마지막에 떡이 돼요.
CNN도 이렇게 줄지어 선 기계예요. 사진 한 장을 앞에 놓고 곧바로 이름을 부르는 대신, 잔무늬를 찾아내는 단과 결과를 간추리는 단을 번갈아 여러 번 지나가요. 앞 단이 내놓은 것만 뒤 단이 받아 쓰고, 맨 끝에 가서야 이름표가 붙어요. 방앗간에서 어느 기계 하나만 빼도 떡이 안 나오듯, 층 하나만 떼어 놓고 보면 무슨 일을 했는지 알기 어려워요.
2자세히 알아보기
앞쪽 단은 잔무늬부터 봐요
사진을 처음 받은 단이 하는 일은 뜻밖에 단순해요. 아주 작은 판을 사진 위에 얹고, 그 자리에서 밝기가 갑자기 꺾이는지, 선이 비스듬히 누웠는지 정도만 봐요. 판이 작으니 한 번에 살피는 넓이는 손톱만 해요. 이 단계에서는 아직 자동차도 강아지도 없고, 짧은 선과 얼룩만 있어요.
이 잔무늬가 다음 단의 재료가 돼요. 두 번째 단은 원본 사진이 아니라 첫 단이 찾아 둔 잔무늬 배치를 보고, 짧은 선 두 개가 직각으로 만나면 모서리, 짧은 선이 둥글게 이어지면 테두리라고 묶어요. 세 번째 단은 그 모서리와 테두리를 다시 묶어 바퀴, 창틀, 손잡이 같은 부품을 알아봐요.
단을 올라갈수록 판 하나가 원본 사진에서 실제로 훑고 있는 넓이도 같이 넓어져요. 앞쪽은 손톱만 한 자리를, 뒤쪽은 사진의 절반쯤을 한꺼번에 보는 셈이에요. 부품이 다 모인 뒤에야 "이건 자동차"라는 판단이 가능해지는 이유예요.
같은 판을 사진 구석구석에 써요
CNN이 사진에 특히 잘 맞는 이유가 여기 있어요. 왼쪽 위에서 세로선을 찾던 판과 오른쪽 아래에서 세로선을 찾는 판이 똑같은 판이에요. 자리마다 다른 판을 따로 두지 않아요.
덕분에 두 가지 이득이 생겨요. 첫째, 물체가 화면 왼쪽에 있든 오른쪽에 있든 같은 무늬로 잡혀요. 사진을 조금 옮겨 찍어도 알아보는 힘이 여기서 나와요. 둘째, 기억해 둘 값이 확 줄어요. 사진의 모든 자리마다 판을 따로 두면 값이 감당 못 할 만큼 늘어나는데, 판 하나를 돌려 쓰니 그럴 일이 없어요.
훑기와 줄이기를 번갈아 해요
훑기만 계속하면 다뤄야 할 그림이 줄지 않아요. 그래서 훑고 나면 한 번 간추려요. 옆 자리끼리 묶어 대표값만 남기면 그림이 절반 크기로 줄고, 남은 단은 더 넓은 범위를 한눈에 볼 수 있게 돼요.
훑기 → 줄이기 → 훑기 → 줄이기. 이 두 박자를 서너 번에서 수십 번까지 반복하는 것이 CNN의 뼈대예요. 반복할수록 그림은 작아지고, 대신 그 그림에 담긴 뜻은 굵어져요. 처음에는 가로세로가 큼직하고 얇았던 그림이, 끝에 가서는 작고 두툼한 값 묶음이 돼요.
맨 끝에서 이름표가 나와요
마지막 단까지 오면 남은 것은 "이 사진에 어떤 부품이 얼마나 있었는가"를 적은 짧은 값 묶음이에요. 여기서는 위치 정보가 거의 사라지고 성격만 남아요. 이 값 묶음을 이름표 목록과 견주어, 목록의 이름마다 점수를 매기고 가장 높은 하나를 답으로 내놔요.
같은 뼈대에 끝부분만 바꿔 다른 일을 시키기도 해요. 끝에서 점수 대신 네모의 위치와 크기를 내놓게 하면 물체를 찾아 상자를 치는 일이 되고, 자리마다 이름표를 내놓게 하면 점 단위로 오려 내는 일이 돼요. 앞쪽에서 무늬를 뽑는 부분은 그대로 두고 끝만 갈아 끼우는 방식이 흔해요.
3조금 더 정확하게
CNN은 합성곱 층과 풀링 층, 그리고 마지막의 촘촘히 연결된 층으로 이루어진 신경망이에요. 합성곱 층은 작은 값 판을 사진 위로 옮겨 가며 겹친 자리의 값을 곱해 더하고, 그 결과를 자리 그대로 늘어놓아 새 그림을 만들어요. 판에 적힌 값은 사람이 정하지 않고 학습으로 정해져요.
방앗간 비유가 어긋나는 지점도 있어요. 방앗간 기계는 사람이 미리 짜 놓은 순서대로 정해진 일을 하지만, CNN의 각 단은 무엇을 찾을지가 처음에 백지예요. 정답이 달린 사진을 잔뜩 보면서 틀린 만큼 판의 값을 조금씩 고쳐 나가는 과정에서, 앞쪽 단이 저절로 잔무늬를 맡고 뒤쪽 단이 부품을 맡는 역할 분담이 생겨요. 사람이 "1단은 세로선을 봐라"라고 지시한 적은 없어요.
또 하나, 요즘은 사진을 조각으로 잘라 서로 견주는 다른 계열의 구조도 널리 쓰여요. CNN이 사진 처리의 유일한 답은 아니지만, 작게 돌아가야 하는 기기나 브라우저에서는 여전히 가장 많이 쓰이는 뼈대예요.
4직접 해보기
5흔한 오해
CNN이 사람처럼 사진 전체를 한눈에 본다고 생각하기 쉽지만, 실제로는 손톱만 한 자리부터 훑어 올라가며 조금씩 넓게 보는 방식이에요.
층이 깊을수록 무조건 좋다고 여기기 쉽지만, 실제로는 데이터가 부족하면 깊은 구조가 오히려 외워 버리기만 하고 처음 보는 사진에서 흔들려요.
CNN은 사진 전용이라고 생각하기 쉽지만, 실제로는 소리를 그림으로 바꾼 자료나 짧은 영상처럼 이웃한 자리끼리 관계가 있는 자료라면 어디든 쓰여요.
7한 줄 요약
그러니까CNN은 작은 판으로 훑어 무늬를 찾는 단과 결과를 간추리는 단을 층층이 쌓아, 잔무늬에서 부품으로 그리고 이름표로 올라가는 사진 전용 구조예요.
잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02