U-Net
줄였다 다시 키우며 위치를 되살리는 신경망 구조
- U-Net은 그림을 점점 줄였다가 다시 원래 크기로 키우는 구조예요. 내려갔다 올라오는 모양이 알파벳 U를 닮아 붙은 이름이에요.
- 줄이면 무엇이 있는지를 알아보기 좋고, 키우면 어디에 있는지를 정확히 짚을 수 있어요. 둘 다 필요해서 이런 모양이 됐어요.
- 줄이는 동안 잃어버린 세밀한 정보는 줄이기 전 화면을 옆으로 건너보내 되살려요. 이 지름길이 U-Net의 핵심이에요.
- 결과가 그림과 같은 크기로 나와요. 칸 하나하나에 답을 적어야 하는 일에 잘 맞아요.
- 이미지 생성 모델이 노이즈를 걷어내는 일꾼으로 오래 써 온 구조예요. 의료 영상에서 경계를 따내는 일에서 출발했어요.
목차
1비유로 이해하기
낯선 동네에서 약속 장소를 찾고 있어요. 지도 앱을 손가락으로 오므려 축소해요. 골목 이름은 사라지지만 여기가 어느 방향인지, 큰길과 강이 어디인지 한눈에 들어와요. 전체를 알아보려면 줄여야 해요.
이제 다시 손가락을 벌려 확대해요. 그런데 축소했던 화면을 그냥 키우니 골목은 뭉개져 있고 건물 하나하나가 어디인지 알 수 없어요. 줄이면서 버린 것은 키운다고 돌아오지 않아요.
그래서 요령을 하나 씁니다. 축소하기 전 화면을 미리 저장해 뒀다가, 같은 배율로 다시 키울 때 나란히 놓고 겹쳐 봐요. 전체 방향은 축소 화면에서, 골목 위치는 저장해 둔 화면에서 가져와요. U-Net이 이렇게 일해요.
2자세히 알아보기
줄이면 무엇인지, 키우면 어디인지
그림을 줄이면 칸 하나가 넓은 범위를 대표하게 돼요. 멀리 떨어진 부분끼리도 같은 칸 안으로 들어오니, 이게 고양이인지 자동차인지 같은 큰 판단을 하기 좋아져요. 대신 경계가 정확히 몇 번째 칸에서 갈리는지는 흐려져요.
키우는 쪽은 반대예요. 칸이 촘촘해질수록 위치를 세밀하게 짚을 수 있지만, 좁은 범위만 보니 전체가 무엇인지는 알기 어려워요. 한쪽만으로는 답을 못 내요.
U-Net은 두 가지를 한 구조 안에 넣었어요. 앞쪽 절반에서 계속 줄이며 무엇인지를 파악하고, 뒤쪽 절반에서 계속 키우며 그 판단을 원래 칸 위에 되돌려 놓아요.
줄이기 전 화면을 옆으로 건너보내요
키우는 쪽에서 아무리 애써도 이미 버린 세밀한 정보는 만들어 낼 수 없어요. 그래서 U-Net은 내려가는 길 각 단계의 화면을 저장해 두었다가, 올라오는 길의 같은 크기 단계에 그대로 넘겨줘요. 이 지름길을 건너뛰기 연결이라고 불러요.
올라오는 쪽은 두 가지를 함께 받아요. 아래에서 올라온 "무엇인지"에 관한 판단과, 옆에서 건너온 "어디에 무엇이 있었는지"에 관한 원래 그림이에요. 두 가지를 겹쳐 보고 다음 크기로 올라가요.
이 연결이 없으면 경계가 뭉개지고 윤곽이 흐물흐물해져요. 학습할 때 신호가 깊은 층까지 잘 전달되도록 돕는 효과도 있어서, 층을 깊게 쌓아도 학습이 잘 풀려요.
들어간 크기 그대로 나와요
보통의 이미지 분류 모델은 그림 한 장을 받아 이름표 하나를 내놓아요. U-Net은 그림 한 장을 받아 같은 크기의 그림 한 장을 내놓아요. 칸마다 답이 하나씩 필요한 일에 맞춘 모양이에요.
의료 영상에서 병변의 경계를 따내는 일이 처음 목표였어요. 어디까지가 그 부위인지를 화소마다 표시해야 하니 크기가 같아야 했거든요. 사진에서 배경을 오려 내는 일, 위성 사진에서 도로를 따는 일도 같은 모양의 문제예요.
이미지 생성에서 하는 일
요즘 U-Net이 가장 많이 쓰이는 자리는 이미지 생성이에요. 디퓨전 방식은 지저분한 얼룩에서 시작해 조금씩 걷어내며 그림을 만들어요. 이때 "지금 화면에서 걷어내야 할 얼룩이 어디에 얼마나 끼어 있는지"를 매번 알려 주는 일꾼이 필요해요.
이 일은 입력과 출력의 크기가 같고, 전체 구도도 알아야 하고 화소 단위 위치도 알아야 해요. U-Net에 딱 맞는 조건이에요. 그래서 한 장을 완성하기까지 U자 한 바퀴를 수십 번 되풀이해요. 이미지 생성이 글 생성보다 오래 걸리는 이유 가운데 하나예요.
아직도 쓰나요
최근에는 U자로 줄였다 키우는 대신 처음부터 끝까지 같은 크기로 밀고 가는 구조도 널리 쓰여요. 크게 만들수록 성능이 잘 오른다는 점 때문이에요. 그래도 U-Net은 작고 빠르며 적은 데이터로도 잘 학습돼서, 개인 기기에서 도는 도구나 경계를 따내는 일에서는 여전히 기본 선택이에요.
3조금 더 정확하게
U-Net은 해상도를 낮추며 특징을 추출하는 수축 경로와, 해상도를 올리며 결과를 복원하는 확장 경로가 대칭으로 맞물린 합성곱 신경망이에요. 같은 해상도에 놓인 두 경로를 잇는 건너뛰기 연결이 구조의 이름값을 하는 부분이고, 보통 특징을 이어 붙이는 방식으로 합쳐요.
비유가 어긋나는 지점도 있어요. 지도 앱의 축소 화면은 원래 지도를 그대로 작게 줄인 것이지만, U-Net이 줄이며 만드는 화면은 그림을 축소한 것이 아니라 학습으로 뽑아낸 특징이에요. 사람 눈에는 그림처럼 보이지 않아요. 또 캡처를 겹쳐 보는 사람은 눈으로 비교만 하지만, 모델은 두 화면을 이어 붙여 다음 층의 계산 재료로 함께 써요. 이미지 생성에서 쓰일 때는 화소 그대로가 아니라 작게 압축한 공간 위에서 도는 경우가 많다는 점도 달라요.
4직접 해보기
5흔한 오해
U-Net이 그림을 그려 내는 모델이라고 생각하기 쉽지만, 실제로는 받은 그림과 같은 크기로 무언가를 표시하거나 걷어내는 일꾼에 가까워요.
줄였다 키우면 원래 정보가 돌아온다고 여기기 쉽지만, 실제로는 옆으로 건너보낸 원래 화면이 없으면 경계가 뭉개진 채로 남아요.
U-Net이 오래된 구조라 이제 안 쓴다고 생각하기 쉽지만, 실제로는 가볍고 적은 데이터로도 잘 학습돼서 지금도 널리 쓰여요.
7한 줄 요약
그러니까U-Net은 그림을 줄여 무엇인지 알아보고 다시 키워 어디인지 되짚되, 줄이기 전 화면을 옆으로 건너보내 세밀함을 되살리는 구조예요.
잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02