티스토리 뷰
복잡한 머신러닝 파이프라인을 활용하고 있고, 성능을 개선시키고자 한다. 파이프라인 중 어떤 부분이 성능을 개선하는데 효과가 있을까? 파이프라인 내 특정 부분에 대해 오류를 고려함으로써, 일의 우선 순위를 결정할 수 있다.
앞에서 다뤘던 Siamese cat 분류기 예제를 살펴보자:
첫번째 부분인 고양이 감지기에선 고양이를 찾아서 이미지 상에서 해당 부분을 잘라준다. 두번째 부분인 고양이 종 분류기에서는 해당 고양이가 Siamese cat인지 여부를 결정한다. 이 파이프라인내 두가지 각각을 개선시키는데는 수년이 소요될 수 있다. 어떤 요소에 초점을 맞춰야 할까?
각 요소별로 오류 평가를 수행함으로써, 파이프라인의 두 요소 중 하나가 알고리즘에서 문제가 발생했는지 여부를 찾을 수 있다. 예를 들어 지금 사용하고 있는 알고리즘이 현재 사진상에 siamese cat이 존재함에도(y=1), 고양이가 없다고 잘못 분류를 했다.(y=0)
알고리즘 상의 두 부분이 어떻게 동작했는지를 한번 살펴보자. 우선 Siamese cat 감지기는 다음과 같이 고양이를 감지해냈다.:
이렇게 되면 고양이 종 분류기는 다음의 이미지를 받게 된다.
그러면 고양이 분류기는 해당 이미지 상에서 Siamese cat이 없는 것으로 정확히 분류해낸다. 결국 고양이 종 분류기는 아무 잘못이 없다. 돌 무더기 이미지를 입력으로 받고, 합리적으로 라벨 y=0을 부여한 것이다. 실제로 사람이 해당 이미지를 분류해도 역시 y=0 이란 값을 얻을 것이다. 그렇기 때문에 해당 오류는 고양이 탐지기에서 발생한 것임을 명확히 할 수 있다.
만일 이와 반대로 고양이 분류기가 다음과 같이 박스 형태를 출력으로 보여줬다고 해보자.
그러면 고양이 감지기는 제 할일을 했고, 이때는 고양이 종 분류기에서 문제가 발생했음을 결론 내릴 수 있다.
만약 100개의 잘못 분류된 개발 데이터 이미지가 있고, 90개의 오류가 고양이 감지기와 연관이 있고, 단순히 10개의 오류만 고양이 종 분류기에 관련이 있다고 치자. 그러면 명확하게 고양이 감지기를 개선시키는데 집중해야 한다는 결론을 내릴 수 있다. 더 나아가, 이제는 고양이 감지기에 의해서 잘못 박스가 쳐진 90개의 결과를 갖게 되었기 때문에 이 데이터를 사용해서 고양이 감지기에 사용했던 고차원의 오류 평가를 적용해서 성능 개선을 할 수도 있다.
사실 이 포스트 상에서 파이프라인의 특정 요소가 오류를 발생시키는지에 대한 설명은 조금 비정형화되어 있다. 각 요소별로 직접 출력을 살펴보고 어떤 부분에서 문제가 발생했는지를 살펴보았다. 이런 비정형화된 방법은 어쩌면 찾고자 하는 방법일 수도 있는데, 다음 포스트를 통해 조금 더 정형화된 방법에 대해서 알게 될 것이다.
< 해당 포스트는 Andrew Ng의 Machine Learning Yearning 중 chapter 53. Error analysis by parts를 번역한 내용입니다.>
'Study > AI' 카테고리의 다른 글
[MLY] 요소별 오류 평가와 인간 성능 지표와의 비교 (0) | 2018.10.16 |
---|---|
[MLY] 오류 탐지의 일반적인 경우 (0) | 2018.10.16 |
[MLY] 한 부분에 대한 오류 표시 (0) | 2018.10.15 |
[MLY] 정보가 많은 출력물을 통한 직접적 학습 (0) | 2018.10.15 |
[MLY] 파이프라인 구성 요소 선택: 작업의 단순정도 (0) | 2018.10.14 |
[MLY] 파이프라인 구성 요소 선택 : 데이터 가용성 측면 (0) | 2018.10.14 |
[MLY] end-to-end 학습의 장단점 (2) | 2018.10.12 |
- Total
- Today
- Yesterday
- 강화학습
- Gan
- ColorStream
- Off-policy
- Pipeline
- TensorFlow Lite
- 딥러닝
- Policy Gradient
- SketchFlow
- dynamic programming
- 파이썬
- RL
- Expression Blend 4
- windows 8
- Kinect for windows
- processing
- reward
- ai
- End-To-End
- Kinect
- arduino
- 한빛미디어
- Variance
- bias
- Windows Phone 7
- PowerPoint
- Distribution
- Offline RL
- DepthStream
- Kinect SDK
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |