티스토리 뷰

Study/AI

[MLY] 결함이 있는 ML 파이프라인 발견 & 결론

생각많은 소심남 2018. 10. 16. 19:48

 만약 파이프라인의 각 요소는 인간 성능 지표에 도달하거나 근방에 있지만, 전체적인 성능은 인간 성능 지표에 도달하지 않는 경우가 있다면 어떻게 할까? 이 말은 파이프라인에 결함이 있고, 재설계될 필요성이 있다는 것을 의미한다.오류 평가는 이렇게 파이프라인을 재설계할 필요가 있을 경우에 이해하기 쉽도록 도와준다.

 이전 포스트에서는 각 요소의 성능이 인간 성능 지표에 도달했는지 여부에 대한 질문을 던졌었다. 만약 세가지 질문에 대한 답이 모두 "옳다" 일 경우를 가정해보자. 그 말은:

 1. Detect car 요소는 카메라 이미지로부터 차를 탐지하는데 있어 (대략적으로) 인간 성능 지표에 도달했다.
 2. Detect pedestrians 요소는 카메라 이미지로부터 보행자를 탐지하는데 있어 (대략적으로) 인간 성능 지표에 도달했다.
 3. (카메라 이미지로부터가 아닌) 파이프라인 내 이전의 두 요소로부터 받은 출력을 바탕으로 차의 경로를 지정하는 일에 있어서 인간과 비교해보면, 그 요소의 성능은 인간과 거의 유사하다.

 하지만 전체적인 자율 주행 관련 성능은 인간 성능 지표에 비해 많이 낮게 동작한다. 다시 말해 인간이 카메라 이미지를 보고 판단할 때가 조금 더 좋게 나타난다는 것이다. 이런 현상에서 어떤 결론을 도출할 수 있을까?

 유일하게 내릴 수 있는 결론은 ML 파이프라인에 결함이 존재한다는 것이다. 위의 예제에서 차량 경로 판단 요소는 주어진 입력을 받았을 때 잘 동작하지만, 입력이 충분한 정보를 담지 못한 상황인 것이다. 이 때는 앞의 두개의 파이프라인 요소로부터 나온 출력과는 다른 별개의 정보가 필요한지를 스스로 찾아봐야 하고, 이 정보가 있어야 차가 운전하는데 있어 경로를 지정할 수 있게 된다. 다른 말로 표현하자면, 숙련된 운전자가 필요로 하는 다른 정보는 어떤 것이 있느냐는 것이다.

 예를 들어, 인간 운전자는 도로 위의 선의 위치에 대해서도 알 필요가 있다는 것을 인지했다고 가정해보자. 이를 통해 다음과 같이 파이프라인을 재설계되어야 할 필요가 생긴다.[각주:1]

 궁극적으로, 당신이 만든 파이프라인의 각 요소들은 인간 성능 지표에 도달함에도 전체적으로는 성능 지표에 도달하기 어렵다고 생각한다면,(기억해야 할 것은 동일한 입력을 받은 인간과 비교했을 때 라는 점이다.) 그건 결국 파이프라인에 결함이 있고, 재설계가 필요하다는 것을 의미한다.


당신 동료들에게도 이 글을 읽게 해라

이 책을 마무리한 것을 축하한다. 

 2장에서는 당신을 팀내의 영웅으로 만드는 방법에 대해서 논의해봤다.

본인이 영웅이 되는 것보다 더 좋은 것은 영웅으로 구성된 팀의 일원이 되는 것이다. 이 책을 동료나 친구들에게도 전달해서 또다른 영웅들을 만들게 도와주자.

< 해당 포스트는 Andrew Ng의 Machine Learning Yearning 중 chapter 57. Spotting a flawed ML pipeline과 chapter 58. Building a superhero team - Get your teammates to read this를 번역한 내용입니다.>

  1. 자율 주행 예제에서, 이론적으로는 경로 판단 요소에 직접적으로 카메라 이미지를 입력으로 넣어줘서 문제를 해결할 수도 있다. 하지만 이와 같은 방법은 51번째 포스트에서 소개했던 작업 단순화(Task simplicity)의 디자인 원칙을 위배한 것이다. 왜냐하면 이제 경로 판단 요소는 카메라 이미지를 입력으로 필요하고, 이 때문에 작업이 매우 복잡해지기 때문이다. 이런 이유로 인해 도로 상의 선을 인지하는 요소가 있는 것이 조금 더 나은 선택이 될 수 있다. 이를 통해 경로 판단 요소 상에서 도로선에 대한 중요한 정보를 얻는데 도움이 되기 때문이다. 하지만 이 경우에도 시스템을 만들고/학습시키는데 있어 복잡한 요소들이 개입되는 것은 피해야 한다. [본문으로]
댓글