산출물 평가와 공유
본문한 모둠이 손글씨로 쓴 급식 신청서를 사진으로 찍으면 이름과 메뉴를 읽어 주는 앱을 만들었다. 시험해 보니 전체 정확도가 93%였다. 발표에서 박수를 받았지만, 정작 왼손잡이 학생들과 흘림체를 쓰는 학생들은 앱이 자기 글씨를 셋 중 하나꼴로 틀린다고 불평했다. 평균 93%인데 왜 누군가에게는 이렇게 자주 틀릴까? 프로그램이 돌아간다고 프로젝트가 끝난 것일까? 산출물을 어떻게 평가하고, 어떻게 공유해야 할까?
4.5.1평균에 가려진 집단
전체 정확도는 집단별 정확도를 집단의 크기로 가중 평균한 값이다. 사용자의 대부분을 차지하는 집단에서 잘 맞으면, 작은 집단에서 많이 틀려도 평균은 높게 나온다. 그래서 산출물을 평가할 때는 전체 평균만 보지 말고, 사용자를 나누어 집단별로 성능을 재야 한다. 글씨체, 나이, 장애의 유무, 사용하는 기기, 말투 같은 기준으로 나누어 볼 수 있다. 시험 자료를 모을 때부터 여러 집단의 사람들을 고르게 넣어야 이런 차이가 드러난다. 개발자 자신과 비슷한 사람들만으로 시험하면 다른 사람들의 불편을 보지 못한다.
사용자 가운데 비율 \(s\)인 소수 집단의 정확도가 \(a_1\), 나머지 다수 집단의 정확도가 \(a_0\)이면 전체 정확도는 \[a = (1 - s)\,a_0 + s\,a_1\]이다. \(s\)가 작으면 \(a\)는 \(a_0\)에 가까워 \(a_1\)이 아무리 낮아도 잘 드러나지 않는다. 그래서 집단별 정확도를 따로 보고하고, 가장 낮은 집단의 성능도 기준으로 삼는다.
그림 1에서 소수 집단의 비율을 바꾸어 보자. 소수 집단이 10%이면 전체 정확도는 \(0.9 \times 96 + 0.1 \times 70 = 93.4\)%로 높아 보인다. 그런데 그 10%의 학생에게 앱은 세 번 가운데 한 번꼴로 틀린다. 소수 집단이 5%라면 평균은 94.7%로 더 높아지지만, 그 학생들의 불편은 그대로이다. 즉 평균이 높다는 것은 모두에게 잘 동작한다는 뜻이 아니다. 그래서 산출물 평가 보고서에는 집단별 결과와 함께, 어떤 사람들로 시험했는지를 밝힌다.1
4.5.2권리를 지키며 공유하기
산출물을 공유하기 전에는 다른 사람의 권리를 침해하지 않는지 따진다. 시험에 쓴 손글씨 사진과 이름은 개인 정보이므로, 동의를 받았는지, 공유할 때 지웠는지 확인한다. 다른 사람이 만든 코드, 그림, 글꼴을 썼다면 그 라이선스의 조건을 지키고 출처를 밝힌다. 그리고 다른 사람이 쓰고 이어 고칠 수 있도록 설명서(README)에 무엇을 하는 프로그램인지, 어떻게 설치하고 쓰는지, 어떤 한계가 있는지 적고, 내 코드에도 라이선스를 붙인다. 알려진 한계와 잘 동작하지 않는 집단을 숨기지 않고 적는 것이 정직한 공유이다.
4.5.3예제 풀이
앱을 학생 500명이 쓴다. 그 가운데 50명은 흘림체를 써서 앱이 70% 맞히고, 나머지 450명에게는 96% 맞힌다. 학생마다 하루 한 장씩 신청서를 찍는다면, 하루에 잘못 읽히는 신청서는 집단별로 몇 장인가? 흘림체의 정확도를 90%로 높이면 전체 정확도와 하루의 오류는 어떻게 변하는가?
흘림체 집단은 \(50 \times 0.30 = 15\)장, 다른 집단은 \(450 \times 0.04 = 18\)장이 틀린다. 전체 정확도는 \((500 - 33) \div 500 = 93.4\)%이다. 학생 수는 10%인 흘림체 집단에서 오류의 45%가 나온다. 한 명이 겪는 오류로 따지면 흘림체 학생은 다른 학생보다 7.5배 자주 틀린 결과를 받는다.
흘림체의 정확도를 90%로 높이면 그 집단의 오류는 5장으로 줄어, 하루 오류가 33장에서 23장이 된다. 전체 정확도는 95.4%로 2%p만 오르지만, 가장 불편하던 학생들의 오류는 3분의 1로 준다. 즉 평균의 작은 변화 뒤에 특정 집단의 큰 개선이 숨어 있을 수 있다. 그래서 개선 방향을 정할 때도 집단별 결과를 보고, 가장 낮은 집단부터 끌어올리는 것이 모두를 위한 산출물을 만든다.
아래 탐구 카드에서 프로젝트 산출물을 여러 사용자 집단으로 평가하고, 다른 사람이 쓰고 이어 고칠 수 있게 공유해 보자.
- 2018년의 한 연구는 상용 얼굴 인식 시스템들이 밝은 피부의 남성은 1% 안쪽으로 틀리지만, 어두운 피부의 여성은 최대 35%까지 틀린다는 것을 보였다. 시험 자료에 그 집단이 적게 들어 있었기 때문이다.
전체 정확도는 집단별 정확도의 가중 평균이라, 작은 집단에서 많이 틀려도 높게 나와 문제를 가린다. 그래서 산출물은 사용자 집단을 나누어 평가하고, 가장 낮은 집단의 성능과 시험한 사람들을 밝히며, 개인 정보와 저작권을 지키고 설명서와 라이선스를 붙여 공유한다. 처음 질문의 앱은 평균 93%이지만 흘림체를 쓰는 10%의 학생에게는 세 번에 한 번꼴로 틀려, 그 학생들에게는 쓸모가 없다.