brunch

매거진 UX

You can make anything
by writing

C.S.Lewis

by 신유민 Nov 07. 2017

인간 중심의 머신러닝

사용자에게 집중하는 머신러닝 디자인을 위한 구글의 7가지 단계

구글의 Josh Lovejoy와 Jess Holbrook이 작성한 Human-Centered Machine Learning을 저자의 허락을 받고 요약 번역한 것입니다. 전문이 궁금하다면 클릭하여 확인하시길 바랍니다 :)


머신러닝은 수동적인 프로그래밍이 아닌 컴퓨터가 스스로 데이터들의 패턴과 관계를 찾아내도록 만드는 과학입니다. 넷플릭스의 추천 시스템부터 자율주행자동차에 이르기까지 개인에게 최적화된 경험을 역동적으로 만들어내는 강력한 도구입니다. 머신러닝을 기반으로 많은 것들이 만들어지는 과정에서 UX종사자들은 사용자가 이 기술을 어떻게 경험하고 상호작용 할지 많은 부분을 배우고 고민해야 합니다.


구글의 UX커뮤니티에서는 '인간 중심의 머신러닝(Human-Centered Machine Learning, HCML)'을 기조로, 머신러닝 기술을 필요로 하는 문제들을 해결하는 과정에서 사용자의 필요에 중심을 둘 수 있도록 노력하고 있습니다. 회사 전체의 UX종사자들과 협력하여 머신러닝과 AI가 어떻게 전반적인 UX에 반영될 수 있을지 고민합니다.


머신러닝을 이제 알기 시작했다면 복잡함과 폭넓은 기회에 놀랄지도 모릅니다. 하지만 스스로를 새롭게 창조할 필요는 없습니다.


머신러닝을 기반으로 서비스를 설계하고, 이 영역을 탐색하는 디자이너들을 돕기 위해 구글의 UX팀과 AI팀에서 시행착오를 거치며 아래의 7가지 항목을 만들었습니다. 이는 사용자를 고려하면서 머신러닝이 만들어내는 고유한 기회 영역들을 탐색하는데 도움이 될 것입니다.


1. 머신러닝은 해결할 문제를 스스로 파악하지 못한다

현재 머신러닝과 인공지능을 둘러싸고 과도한 기대와 홍보들이 있습니다. 수많은 회사와 팀들은 머신러닝으로 접근하고 있는 문제가 의미 있는지 고민하지 않은 채 기술만 활용한 솔루션 전략으로 뛰어들고 있습니다. 가능성을 탐색하며 새로운 영감을 받기도 하지만 사용자의 필요를 고려하지 못한다면, 매우 작거나 전혀 존재하지 않는 문제를 해결하는 그저 강력한 시스템을 구축할 뿐입니다.

첫 번째 요점은 사용자의 필요가 정확히 무엇인지 알기 위해 늘 해왔던 노력들이 여전히 필요하다는 점입니다. 머신러닝만 가지고는 해결해야 할 문제가 무엇인지 파악할 수 없습니다. 표현되지 않은 욕구나 문제들을 파악하기 위해 인류학적 접근(Ethnography), 맥락에 따른 질문법(Contextual Inquiry), 인터뷰, 설문조사, 고객 피드백 읽기, 로그 분석 등의 방법들을 여전히 사용하여 파악해야 합니다. UX를 하는 우리들은 기술의 패러다임이 무엇이든 문제를 찾기 위한 무기를 이미 갖추고 있습니다.


2. 머신러닝이 유일한 방법인지 따질 것

해결해야 할 문제가 무엇인지 파악했다면 머신러닝이 유일한 해결방법인지 판단해야 합니다. 서비스를 만들 때 어떤 경험이 머신러닝을 필요로 하는지, 향상될 수 있는 것은 무엇인지, 혹은 별로 유익하지 않거나 안 좋아지는 것은 무엇인지 파악해야 합니다. 사실 머신러닝 없이도 개인에게 최적화된 경험을 충분히 만들 수 있습니다. 머신러닝으로만 가능할 것이라는 생각에 빠지지 마세요.

"attachment"혹은 "attached"와 같은 단어를 사용하고 첨부가 없을 경우 리마인드를 제공하는 Gmail

아래의 몇 가지 질문들로 실제 케이스를 생각하며 머신러닝의 가치를 이해해보세요. 이 과정에서 사람들이 어떠한 멘탈모델과 기대를 가질지 정의해보고 어떤 데이터들이 필요한지 파악할 수 있습니다.


"전문가"가 어떻게 이 작업을 수행할지 설명해보세요

"전문가"가 다음에 어떻게 해야 향상되었다고 느낄지 알려주세요. Confusion Matrix(오차 행렬)의 4분면을 통해 설명해보세요.

만약 사람이 이 작업을 한다면, 사용자는 그가 무엇을 하길 원할까요?


이 질문들을 답해보면서 사람들이 머신러닝 서비스에 대해 자연스럽게 가지는 기대를 이끌어내며 활발한 토론과 사용자 조사를 위한 좋은 자극제가 될 수 있습니다. 질문들에 답해본 다음 서비스의 기능들을 추가적으로 스케치와 스토리보딩을 해보면서 아래의 간단한 2X2표에 배치해봅니다.

아이디어들을 배치하여 어떤 아이디어가 사용자에게 큰 영향을 주며 머신러닝 솔루션으로 크게 향상될 수 있는지 투표해보기

아이디어들을 구분해보면서 머신러닝이 꼭 필요한 것인지 아닌지도 판단합니다. 중요한 것은 이 과정에서 엔지니어링팀과 함께 기술의 현실성도 고민해야 한다는 점입니다. 혹은 엔지니어링팀과의 협업을 시작할 가장 좋은 타이밍이기도 합니다. 사용자에게 큰 변화를 가져오면서 머신러닝으로만 해결 가능한(즉 표의 오른쪽 상단) 것이 가장 먼저 집중해야 할 아이디어입니다.  


3. 실제 예시로 진짜처럼 만들어보기

프로토타이핑은 머신러닝 시스템의 가장 큰 과제입니다. 서비스의 가치가 개별 사용자의 데이터를 바탕으로 정교화된 경험을 주는 것이라면 프로토타입을 빠르게 만들기 어렵습니다. 시스템을 완성하고 테스트를 한다면 테스트 이후에 변경하기에는 너무 늦을 수도 있습니다. 이때, 사용자로부터 직접 얻은 데이터를 프로토타입에 사용하거나 오즈의 마법사 방법 (Wizard of Oz, 아직 완성되지 않은 특정 시스템의 인터페이스를 설계하고자 할 때 시스템의 목적과 기능에 대한 시나리오를 준비하고 프로토타이핑을 적용하여 사용자를 위한 발전적인 결과를 도출하는 방법)를 활용할 수 있습니다.


초반 사용자 조사를 진행할 때, 참가자에게 사진이나 연락처 목록, 받았던 음악이나 영화 추천 같은 개인 데이터를 가져오라고 부탁합니다. 가져온 데이터들로 사용자에게 맞춰 시뮬레이션할 수 있습니다. 취향에 맞지 않은 영화를 추천했을 때 사용자가 어떻게 반응하는지 본다거나, 사용자에게 왜 시스템이 이렇게 추천을 제공하는지에 대한 생각을 물어볼 수도 있습니다.


두 번째는 아직 완성되지 않은 머신러닝 서비스를 테스트하기에 효과적인 오즈의 마법사(Wizard of Oz) 방법입니다. 한 때 인기 있었던 이 방법은 지난 20년간 다양한 사용자 조사 방법론이 부흥하면서 다소 멀어져 있었습니다.

오즈의 마법사를 활용해 가장 테스트하기 쉬운 챗인터페이스. 팀원이 직접 AI처럼 대답할 수 있도록 다른 쪽에서 준비한다.

참가자들은 시스템이 자동적으로 대답한다고 여기지만 실제로는 사람이 뒤에서 직접 조작하는 방식으로 머신러닝 시스템의 응답을 모방하여 사람이 직접 응답하며 시뮬레이션할 수 있습니다. 참가자들은 진지하게 인공지능처럼 인식하고 시스템에 대한 멘탈 모델을 자연스럽게 만들고 행동을 적응시킵니다. 이 과정을 관찰하며 이어지는 상호작용을 보는 것은 매우 가치 있는 과정입니다.


4. 긍정 오류와 부정 오류의 대가 따져보기

머신러닝은 오류를 만들어낼 수 있습니다. 이러한 오류들이 어떻게 나오는지, 사용자 경험에는 어떻게 영향을 미칠지 이해해야 합니다. 2번 항목에서 언급했었던 Confusion Matrix(오차행렬)은 머신러닝의 예측이 맞거나 틀렸을 때를 설명하는 핵심 개념입니다.

Confusion Matrix의 4가지 상태와 사용자에게 가지는 의미

하지만 각각의 오류들이 사용자에게 미치는 영향은 동일하지 않습니다. 예를 들어, 사람인지 트롤인지 구분한다고 할 때 우연히 사람을 트롤로 분류하는 것은 시스템의 입장에서는 오류 중 하나지만 사용자는 더 불쾌감을 가집니다. 사용자를 모욕할 의도는 없지만 트롤을 사람으로 분류하는 것보다 더 큰 문제라는 사실을 시스템은 모릅니다.


머신러닝 용어에서 말하는 시스템의 정밀도와 재현율(precision and recall) 사이에 어떻게 절충점을 찾느냐가 여기에서 중요합니다. 틀린 예측을 좀 더 하더라도 가능한 맞는 예측을 모두 포함할지(재현율에 최적화) 혹은 틀린 예측을 최소화하면서 그 대가로 맞는 예측도 함께 줄어들게 할지(정밀도에 최적화)를 결정해야 합니다.


예를 들어 구글 포토에서 "놀이터"를 검색한다면 아래와 같은 결과가 나옵니다.

결과를 보면 놀이터가 아니지만 아이들이 놀고 있는 사진이 포함되어 있는 걸 볼 수 있습니다. 여기에서는 재현율이 정밀도보다 우선시 되었기 때문입니다. 정확성은 낮아지더라도 가능한 모든 놀이터 사진을 가져오는 것이 놀이터만 있는 사진만 가져오면서 혹시 모를 사용자가 찾는 결과를 배제하는 것보다 훨씬 더 중요하기 때문입니다.


5. 함께 학습하고 적응하는 과정을 계획할 것

가장 가치 있는 머신러닝 시스템은 사용자의 멘탈모델과 함께 진화합니다. 인터랙션을 바탕으로 시스템은 추후 사용자에게 다시 무엇을 제시할지 조정합니다. 지속적인 피드백 순환은 예측 모델은 변화시키며 향후 인터랙션에도 영향을 미칩니다. 사용자와 모델 양쪽 모두에 유익한 피드백을 사용자가 응답할 수 있도록 유도해야 합니다.

사용자의 다음 단어를 예측하며 진화하는 선순환의 예시, Gboard. 사용자가 추천 단어를 더 많이 선택할 수록 더 좋은 추천을 받게 됨.

기존 데이터를 기반으로 훈련된 모델은 예측할 수 없었던 새로운 데이터에 맞춰 다시 진화합니다. 따라서 장기적이고 광범위한 전체 서비스 사이클을 고려하여 사용자 리서치를 계획하고 피드백 전략들을 세워야 합니다. 모델의 성능을 평가하기 위해 정확성과 오류를 정량적으로 분석하면서 충분한 시간을 가지고 예측의 성공, 실패에 따라 사용자들의 멘탈모델이 어떻게 변하는지 함께 토론하며 이해해야 합니다.


추가적으로 모델을 진화시키기 위해 전체 서비스 라이프 사이클에 걸쳐 사용자로부터 피드백을 어떻게 받을 것인지 고려해야 합니다. 사용자가 쉽게 피드백을 줄 수 있고, 이의 유용함을 충분히 인식하는 인터랙션 패턴을 설계하는 것이 뛰어난 머신러닝 시스템으로 나아가는 출발점입니다.

사용자의 피드백을 얻기 위한 구글앱의 특정 카드의 유익한지 여부를 묻는 질문 인터랙션
구글 검색어 자동완성이 왜 적합하지 않았는지 대한 피드백 팝업

6. 정확한 분류로 알고리즘 훈련시키기

UX종사자로서 우리는 와이어프레임이나 목업, 프로토타입, 가이드와 같은 전형적인 산출물에 익숙합니다. 하지만 머신러닝을 통해 더 넓어진 UX세계에서는 "분류(labels)"를 UX범위에 포함시켜야 합니다.


분류는 머신러닝의 필수 작업입니다. 고양이를 인식할 모델을 훈련시키기기 위한 충분히 분류된 사진들이 모이면 이를 바탕으로 새로운 사진에 고양이가 있는지 여부를 모델이 예측합니다.

하지만 실제로는 기사가 재밌다거나 답변이 의미 있는지와 같은 주관적인 측면을 예측하는 것이 머신러닝 모델의 주요 목적입니다. 따라서 모델을 훈련시키는데 오랜 시간이 들고 모든 데이터들을 구분하기에는 비용이 크게 들어갑니다.


이때 논리적인 가설을 만들고 다양한 사람들과 함께 토론해야 합니다. 주로 가설들은 "_____한 상황에 있는 _____한 사용자는 ____이 아닌 ____를 선호할 것이라 가정한다"와 같은 형태를 가집니다. 이 가설을 가지고 프로토타입을 빠르게 만들어 피드백을 빠르게 수집하고 반복적으로 가설을 검증해야 합니다.


또한 해당 분야의 예측 모델을 제대로 훈련시킬 수 있는 전문가를 찾으세요. 주로 콘텐츠 전문가(Contetns Specialist)라고 불리는 사람들을 통해 어떤 가설들이 더 제대로 된 것인지 구분할 수 있을 것입니다. 더불어 실제 사용자 데이터에서 나온 예시들을 활용하여 만든 가설들의 유효성을 검토해야 합니다. 콘텐츠 전문가는 AI의 예측 결과들의 예시를 직접 만들며 이는 추후 데이터 수집을 위한 계획과 모델을 훈련시키기 위한 강력한 분류 체계 프레임웍이 됩니다.


7. UX의 확장. 창조적인 프로세스로서의 머신러닝

머신러닝에 접근하는 방법은 매우 다양합니다. 하지만 UX를 하는 사람들이 너무 빨리 규정해버리면 엔지니어링이 가질 수 있는 창의성을 감소시킬 수 있습니다. 그들의 직관을 사용하도록 장려하고 사용자 테스트를 통해 이를 실험할 수 있도록 해야 합니다.


머신러닝은 우리가 익숙한 일반적인 개발 프로세스보다 훨씬 창조적이고 표현적입니다. 알고리즘에서 엔지니어들의 상상력을 많이 필요로 합니다. UX는 그 과정에서 사용자를 중심으로 의사결정을 할 수 있도록 도움을 주는 것입니다.

올바른 경험을 만들기 위해 엔지니어링, 프로덕트 등 다양한 팀과 함께 일하세요

엔지니어들에게 스토리텔링, 비디오, 프로토타입, 사용자 리서치 결과, 각종 작업물 등을 보여주면서 얼마나 대단한 경험이 만들어질 수 있을지 영감을 주세요. 또한 사용자 리서치의 목표나 발견을 공유하고 토론하며 과정에 대한 이해도를 높여 서비스와 사용자 경험을 더욱 깊게 이해할 수 있도록 하세요. 엔지니어들이 이 과정에 좀 더 빨리 편해질수록 서비스에 더욱 효과적인 견고한 머신러닝 시스템을 만들 수 있습니다.


마치면서

위의 7가지는 구글에서 강조하는 핵심 항목들로 여러분들이 하고자 하는 머신러닝 기반의 제품을 만들 때에도 유용하게 쓰였으면 합니다. 머신러닝이 서비스와 사용자 경험에 힘을 불어넣을수록 우리는 더욱 인간 중심의 관점을 지닌 채 사람들에게 줄 수 있는 고유한 가치가 무엇인지 찾고 모든 경험을 멋지게 만들기 위해 책임을 다해야 합니다.


작가 소개

Josh Lovejoy는 구글의 Research and Machine Intelligence Group의 UX Designer입니다. 인터랙션 디자인, 머신러닝, 무의식적인 편견 인식 분야를 넘나들며 구글의 머신러닝 공평성을 위한 전략과 디자인을 이끌고 있습니다.


Jess Holbrook은 구글의 Research and Machine Intelligence Group의 UX Manager이자 UX Researcher입니다. 인공지능과 머신러닝 기반의 다양한 제품들이 인간 중심의 접근을 가질 수 있도록 팀과 함께 노력하고 있습니다.


Akiko Okazaki가 아름다운 일러스트 작업을 해주었습니다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari