은공지능 공작소 :: [딥러닝/용어] Downstream task 개념 정리
반응형

Image by Lynn Greyling (pixabay)

Downsteam task란?

최종적으로 해결하고자 하는 작업을 의미합니다.
Downstream이라는 말은 영어 그대로 직역 하면 '하류(下流)' 입니다.

물은 위에서 흘러 아래로 흘러갑니다.
즉, 상류(Upstream)에서 하류(downstream)로 흘러가는 순서가 존재합니다.

우리가 하는 작업에도 순서가 있는데, 먼저 해결해야 할 작업을 Upsteam task라 부르고
다음에 최종적으로 해결하고자 하는 작업을 Downstream task라고 합니다.
그렇다면 딥러닝에서의 Downstream task은 무엇을 의미할까요?
이는 전이학습 (Transfer Leanring)과 깊은 관련이 있습니다.

 

 

 

전이학습(Transfer learing) 이란,
모델을 처음부터 끝까지 (from scratch) 새로 훈련하는 것이 아니라,
미리 훈련된 (pre-trained) 모델로부터 학습을 시작하는 것을 의미합니다.

이를 up/down stream의 개념에 비유해보면,
upstream은 미리 훈련된 pre-trained model이 될 것이고,
downstream은 내가 최종적으로 만들고자 하는 모델이 될 것입니다.

마치 직장에서 후배가 선배의 보고서를 참조하는 것과 유사한데요,
선배가 보고서가 좋은 보고서라면 (good upstream),
후배가 보고서를 쓰기 훨씬 수월할 것입니다. (good down stream)

 

 

 

 

늑대와 호랑이를 분류하는 Downstream task를 생각해 볼까요?
개와 고양이를 분류하는 모델이 이미 학습되었다면,
이를 늑대와 호랑이를 분류하는 모델에 활용할 수 있을 것입니다.
늑대와 개 / 호랑이와 고양이는 서로 비슷한 특징을 가지고 있기 때문입니다!

딥러닝 분야에서 downstream이라는 말은 다양한 분야에서 쓰입니다.
자연어처리(NLP), 이미지 분류(image classification)등
많은 포스팅과 논문에서 Downstream이라는 단어가 등장합니다.

하지만 분야에 상관없이 모두
'내가 최종적으로 해결하고 싶은 문제',
'upstream을 거쳐 단계적으로 해결하는 것이 보다 좋은 문제'라는 점에서는 일맥상통하는 것 같습니다.

포스팅이 도움이 되셨다면, 하단의 하트와 댓글 하나씩 부탁드리겠습니다!
감사합니다.

 

반응형
블로그 이미지

pychan

딥러닝에 관련된 시행착오, 사소하지만 중요한 것들, 가능한 모든 여정을 담았습니다.

,