Skip to content

Latest commit

 

History

History
23 lines (14 loc) · 2.82 KB

50_Choosing_pipeline_components_Data_availability.md

File metadata and controls

23 lines (14 loc) · 2.82 KB

50 Choosing pipeline components Data availability

End-to-End가 아닌 파이프라인 시스템을 개발할때, 파이프라인의 컴포넌트들에 대한 좋은 후보는 무엇일까? 어떻게 파이프라인을 디자인하는지가 시스템 전체적인 성능에 큰 영향을 주게 될 것이다. 한가지 중요한 요인(인자)는 각 컴포넌트를 학습시키기 위한 데이터를 쉽게 수집 가능한지, 그렇지 않은지가 될 수 있다.

예를 들어서, 다음의 자율주행 자동차의 파이프라인 설계를 살펴보자:

머신러닝 기법을 이용해서 자동차와 보행자를 감지할 수 있을 것이다. 더욱이 이러한 데이터를 수집하는 것은 별로 어려운 일이 아니다. 자동차와 보행자로 레이블링된 거대한 데이터셋들이 이미 존재한다. 또는, Amazon Mechanical Turk와 같은 크라우드소싱 방법을 사용해서 더 큰 데이터셋을 구하는것도 가능하다. 따라서, 자동차와 보행자를 감지 시스템을 만드는데 사용되는 학습데이터를 얻는것은 상대적으로 쉽다고 볼 수 있겠다.

대조적으로, 순수한 End-to-End 접근 방식은 어떠한지 살펴보자:

이 시스템을 학습시키기 위해서, (이미지, 운전대의 방향) 이라는 페어로 이루어진 거대한 데이터셋이 필요하다. 이를 구성하는 것은 매우 많은 시간을 요하고, 비용이 비싸다. 많은 사람들이 차를 끌고 나가서 운전대 방향을 기록해서 데이터셋을 만들어 나가야 하기 때문이다. 또한, 특별한 장치로 무장된 자동차라는 함대가 필요하고, 수 많은 가능한 시나리오를 포함하기 위한 엄청난 양의 운전도 필요하다. 이러한 사실이 End-to-End 시스템을 학습시키기 어렵게 만들게 된다. 레이블링된 자동차나 보행자 이미지의 거대한 데이터셋을 구하는게 훨씬 쉬운 일이다.

좀더 일반적으로, 자동차 감지나 보행자 감지와 같은 파이프라인의 "중간 모듈"을 학습시키기 위한 충분한 데이터가 존재한다면, 다중 스테이지로 구성된 파이프라인을 사용하는 것을 고려해 볼 수 있다. 이러한 구조는 더 우수한 것일 수 있다. 그 이유로는 사용 가능한 모든 데이터를 이용해서 중간 모듈들을 학습 시킬 수 있기 때문이다.

End-to-End를 위한 더 많은 데이터가 가용한 상태이기 전까지, 나는 End-to-End가 아닌 방식이 자율주행 자동차를 위해서 훨씬 더 유망하다고 생각한다: 이 구조가 현재 가용한 데이에 더 부합하기 때문이다.