인공지능 디자인하기 5단계 중 5단계 (오류와 정상적 실패)
PAIR의 구글의 AI 디자인 가이드북을 5개의 챕터로 조금 다듬어 번역/공유해보고자 한다.
1. 사용자 니즈
2. 데이터
3. 멘탈모델
4. 신뢰와 피드백
5. 오류 *
원문을 보고 싶으신 경우 아래 링크에서 확인 가능하다.
https://pair.withgoogle.com/guidebook/
인공지능 기획/디자인 과정은 PC/모바일 디자인 프로세스와 다르지만 또 유사한 점들도 존재한다.
예를 들어 인공지능이라는 새로운 기술을 적용하기 때문에 고민해야 하는 지점은 다를 수 밖에 없겠지만, 사용자에게 올바른 가치를 전달한 다는 측면에서는 동일한 고민을 할 수 밖에 없을 것이다.
인공지능 프로세스 중에 마지막 프로세스인 사용자의 오류와 정상적인 실패(Error+Graceful Failure)에 대해 살펴보도록 하겠다.
Error & Graceful Failure
인공지능이 오류를 내거나 결과를 만드는데 실패하는 경우 상황이 복잡해질 수 있다. 신뢰도가 낮은 예측의 경우 어느 수준까지를 오류(Error)로 가정해야 하는가?, 또 실패 시 사용자는 어떤 행동을 할 수 있는가? 가 여기서 한번 살펴보고자 하는 주제이다.
사용자가 60%의 정확도를 가진 결과를 받아들일 때, 이는 시스템의 목적에 따라 오류로 받아들일 수도, 성공으로 받아들일 수도 있다. 다시말해 제품/서비스에 대한 사용자의 멘탈모델이 60%의 정확도 역시 성공으로 받아들일 수 있다면 오류가 아닐 수 있지만, 60%정도면 오류이자 실패라고 인식을 한다면 이는 실패에 따른 대응을 고려해야 할 것이다.
예를 들어 레시피를 추천해주는 앱인 경우, 60%의 정확도를 가진 추천결과가 성공으로 느껴질 수도 있다고 보여지지만, 안면인식을 통해 동일한 사용자를 추천해주는 사진앱에서의 60%의 정확도는 제품자체에 대한 신뢰도가 매우 떨어져 보일 수 있다.
이와 같이 인공지능을 적용하는 서비스의 목표와 컨셉에 따라 오류와 실패를 결정할 수 있을 것이다.
그리고 이는 정성적인 지점일 수 있으므로 실제로 사용자가 해당 정확도에 따라서 어떻게 행동하는지를 로그를 통해 확인할 수 있다면, 성공과 실패의 지점을 좀 더 명확히 확인해볼 수 있을 것이다. (특정 그룹의 모든 사용자가 특정 추천을 거부하거나, 해당 기능을 사용하지 않는 시점 등에 대한 확인 등)
이미지 출처: https://www.karenmnl.com/how-to-register-to-netflix-philippines/
넷플릭스는 추천의 정확도를 높이기 위해 초기 회원에 가입하게 되면 좋아하는 콘텐츠 3가지를 선택하게끔 요청을 한다.
오류를 줄이기 위해서 사용자의 데이터가 필요하다면 오류로 두지 말고 명확히 데이터를 요청하는 것 또한 중요할 수 있다. 뿐만 아니라 데이터가 부족하다면 이를 인정하고 기능을 제공하도록 하자.
시스템이 오류에 응답하는 방법에 대한 설계 전에 사용자가 이미 인식할 수 있거나 발생할 수 있는 오류를 식별하여 기획/디자인 하는 것이 중요하다.
시스템에서 발생할 수 있는 오류의 범위와 유형은 각각 다르지만, 일반적으로 인공지능 만의 여러가지 오류 원인이 있을 수 있다. 이 오류는 아래 3가지 원인이 대부분의 오류의 원인일 수 있다.
잘못 분류된 결과
단순히 데이터의 레이블이 잘못 매칭되어 있거나 트레이닝 데이터가 부족하여 분류에 대한 오류가 나타날 수 있다. 꽃의 종류를 찾아내는 알고리즘에서 일관성 없는 레이블이 있는 데이터는 무궁화를 목련으로 잘못 분류할 수도 있다.
잘못 추론된 모델
절절한 학습데이터가 있음에도 알고리즘이 정확하지 않은 경우 발생할 수 있다. 꽃을 분류하는 앱에서 데이터셋은 레이블이 모두 제대로 정의되어 있지만, 알고리즘 자체가 부정확하면 잘못된 결과를 제안할 수 있다.
불완전한 데이터
A카테고리의 데이터를 학습했으나 B카테고리의 데이터에 대한 결과를 보고자 하는 경우 제대로된 결과를 확인하기 어렵다. 마치 꽃의 종류를 찾아내기 위해 다양한 꽃들을 학습하고 분류하였으나, 해당 알고리즘을 가지고 동물을 분류하려는 경우 잘못 추론할 수 밖에 없다.
따라서 데이터 레이블은 정확하게, 모델 역시 시간이 지나면서 고도화 시키는 것이 중요하며, 마지막으로 서비스 목표에 따라 사용자의 행동을 제대로 유도할 수 있도록 하는 것이 중요할 것이다.
혹은 아래와 같이 에러의 유형을 나누어 볼 수도 있다.
System limitaion Error : 시스템의 한계로 인한 에러 (시스템이 완벽하지 않을 때)
Context Error: 맥락상 에러 (시스템 상 에러는 없었지만 잘 설명이 되지 않아 발생하는 에러, 사용자 멘탈모델에 부합하지 않는 경우)
Background Error (시스템이 제대로 동작하지 않았지만 사용자도 시스템도 에러로 등록하지 못한 경우)
인공지능의 특성 상 오류는 정확도의 차이일 뿐 언제든지 존재할 수 있다. 인공지능 시스템은 본질적으로 확률과 통계를 기반으로 하는 알고리즘을 가지고 있으며 모든 시스템과 마찬가지로 어느 시점에서든 실패할 수 있다. 이 경우 사용자가 작업을 계속하고 AI를 개선할 수 있는 방법을 제공하는 것은 중요하다.
피드백을 줄 수 있는 기회의 부여
시스템을 개선하기 위해 실패 이후에 피드백은 꼭 필요할 것이다. 특히 잘못 레이블이 지정된 데이터는 외부 피드백을 사용하여 수정하는 것이 효율적이며, 오류 메시지와 함께 '올바른' 피드백을 제공할 수 있는 기회를 제공하는 것이 중요하다.
영상 출처: Google AI Guidebook
위 영상처럼 피드백을 받을 수 있는 방식을 제공하는 것은 사용자에게는 멘탈모델 형성을 돕고 개발자에게는 피드백을 통해 알고리즘을 고도화 할 수 있는 방법이 될 수 있다.
뿐만 아니라 제안한 추천에 대해서 거절할 수 있는 옵션 역시 마련해야 할 것이다.
위 이미지에서 'Not now'에 대한 선택이 많다면 추천 자체가 제대로 되고 있는지에 판단을 다시금 해볼 수 있을 것이다.
필요한 피드백만을 취하기
오류에 대한 메시지의 경우 부정적인 경험에 대한 피드백일 수 있으므로 오용될 수 있는 여지가 있으며, 이 부정적인 메시지 안에서의 사용자의 불편함(Pain point)을 명확히 알 수 있어야 할 것이다.
필요하다면 사용자 인터뷰를 통해 의미있는 피드백을 취하는 것도 좋은 방법이다.
에러를 해결할 수 있는 방법으로 단순한 에러 피드백 외 피드백을 위한 사용자의 행동을 유도하는 것도 좋은 방법이다. 그리고 이러한 피드백이 알고리즘 모델을 향상시킬 수 있는 기회인지 또한 함께 살펴본다.
QA를 통한 피드백 수집
마지막으로 인공지능에 대한 QA역시 달라지는 기획/디자인 방식처럼 새로운 방식이 필요할 수 있을텐데, 이는 일단 아래의 테이블을 통해 사용자 피드백, 로그, 그리고 주기를 통해 우선 시작을 해보도록 하자.
Reference
https://pair.withgoogle.com/chapter/errors-failing/
https://pair.withgoogle.com/worksheet/errors-failure.pdf
+
일상에서 활용되고 있는 AI의 다양한 사례들이 궁금하다면.
https://brunch.co.kr/magazine/dailyai
email: pentaxzs@daum.net
twitter: @pentaxzs
brunch: https://brunch.co.kr/@monglec