Google People + AI Guidebook 간단 요약
문화지능
- AI가 도움이 되려면 Human-Centered AI가 되어야 함(+HCI)
- AI product:
- 설계, 문제 정의, 사용할 알고리즘, 테스트, UI를 통해 상호작용 ⇒ 사람이 수행함
- Challenge:
- 어떻게 human-centered AI products를 설계할까?
- 어떻게 윤리적 이슈와 같은 문제를 해결할 수 있을까?
Ch 1. User Needs + Defining Success
- 단순히 알고리즘 성능을 측정하는 것을 넘어서 사용자의 만족감 또한 Human-Centered AI의 측정 대상이 됨
- 사실 AI product는 연산만 AI가 하고 문제 정의부터 데이터 준비, 결과 사용은 사람들이 함
- 모델 성능이 아무리 좋아도 user need를 충족시키지 못하면 실패함
- 사람이 맞춰지면 안되고, 사람 중심으로 ai를 적용해야 함
Key Considerations
1. user needs와 AI strengths 간에 교차점 찾기
- ai가 해결할 수 있는 방법으로 실제 문제 풀기
- ai가 unique value를 제공할 수 있어야 함
- 문제 정의 → ai 사용할 곳 찾기 → worflow 그리기
2. automation / augmentation 평가하기
- automate task : 어려움, 지루함, 반복적, 규모가 큼
- augment task : 재밌음, 결과에 대한 신용 필요, 창의성 필요, 작업 하면서 성장 가능
3. reward function 설계하기
- reward function( = objective function, loss function) : AI가 성공과 실패를 정의하는 방법
- true positive : 반응 해야하는 것을 반응
- true negative : 반응하지 말아야 하는 것을 반응하지 않음
- false positive : 반응하지 말아야 하는 것을 반응
- false negative : 반응 해야하는 것을 반응하지 않음
- precision : true/false positive 중에 true positive의 비율(prediction이 positive임)
- recall : true positive, false negative 중에 true positive의 비율(reference가 positive임)
Ch 2. Data Collection + Evaluation
- 모델 train에 사용되는 데이터셋 추출, 평가 방법
Key Considerations
1. Plan to gather high-quality data from the start
- Data cascades : 데이터 질이 안좋으면 개발 전체에 영향을 미침
2. Translate user needs into data needs
- 데이터 전처리도 중요함
- PII(Personally Identifiable Information)이 없어야 함
- 레이블 해야하는 데이터가 적어야 함
- under-fitting, over-fitting을 조심해야 함
- 고정관념이나 편견과 같은 요소에 관한 처리도 필요함 → 데이터에 있는 bias를 잘 제거해야 함
3. Source your data responsibly
- Use existing datasets
- 데이터 전처리에 시간이 많이 소요될 수 있음
- Building your own dataset
- 레이블링을 신경써야 함
- 데이터가 시간이나 환경이 변함에 따라 영향이 있는지 알아야 함
4. Prepare and document your data
- 잘못된 데이터 조절
- missing value 처리
5. Design for labelers & labeling
- labeler들을 통해 labeling을 완료할 수 있음
- labeler들은 end user와 비슷한 사람들이어야 함
- 문화적 차이같은거 고려해야 함
- labeling tool을 설계하는게 좋음
6. Tune your model
- tunning : training 단계에서 hyperparameter이나 reward function을 조절하는 것 또는 training data 수정
Ch 3. Mental Models
- ai model의 어떤 점을 user들에게 설명해야 할까?
- mental model : product의 동작에 대한 이해
- Product가 무엇을 할 수 있는지 사람이 예상할 수 있게 만듦 → 적절한 사용 가능
Key Considerations
1. Set expectations for adaptation
- 사용자가 어떤 일에 product를 사용하는지 고려해서 step-by-step 과정을 생각해야 함
2. Onboard in stages
- product가 어떤 것을 할 수 있는지, 개선을 위해 피드백이 필요한 점 등을 설명해야 함
- 첫 실험에서 ‘추천을 위해 데이터를 측정할 것이다’와 같이 초기 경험에 관해서 설명하는게 좋음
3. Plan for co-learning
- product가 사용되면서 training을 계속 해서 더 나아질 수 있음
- 사용자 경험이 개선됨
- mental model을 수정해야 할 수도 있음
- Fail gracefully
- 데이터를 모두 수집하지 못한 경우 수동으로 채울 수 있도록 설정
4. Account for user expectations of human-like interaction
- ai model을 의인화해서 ux 개선 가능
- 이때 product의 성능과 한계를 밝혀야 사용자들의 신뢰도 올라감
Ch 4. Explainability + Trust
- explainable ai : prediction에 대한 근거를 설명할 수 있는 ai
- ai confidence를 보여주는 방법을 고려해야 함
- 상위 모델로 responsible ai가 있음
- user trust를 위해선 아래와 같은 항목이 필요함
- ability : ai의 숙련도
- reliability : 결과의 일관성
- benevolence : ai에 대한 긍정적 이미지
Key Considerations
1. Help users calibrate their trust
- 사용자들은 언제 product를 믿고 언제 직접 판단해야 하는지 알아야 함
- 판단 근거인 data source에 관해 분명히 말해야 함
2. Plan for trust calibration throughout the product experience
- product를 사용하면서 순간순간에 설명을 해줘서 user trust를 조절해야 함
3. Optimize for understanding
- 시스템에 관한 설명이나 결과에 관한 설명 필요
- data source(판단 근거 표시)
- model confidence(옆에 확률 같이 표시)
- example-based explanations(avocado 그리기)
- explanation via interaction(IDE tooltip)
4. Manage influence on user decisions
- model confidence을 보여줄지 결정해야 함(confidence level이 강렬하지 않을 경우)
- categorical, N-best alternatives, numeric 등으로 model confidence를 나타낼 수 있음
- categorical : 질문의 주제에 관해 다시 물어봄
- n-best : 연관있는거 몇개 제시
- numeric : 유사도와 같이 표시
Ch 5. Feedback + Control
Key Considerations
1. Align feedback with model improvement
- explicit feedback : 모델 개선에 도움을 준다하고 사용자로부터 의견 받음
- implicit feedback : 사용자가 실제로 행동한 데이터 받음
2. Communicate value & time to impact
- 사용자는 왜 피드백을 하는가
- 물질적 보상
- 뱃지 등의 상징적 보상
- 성능 개선
- 커뮤니티 만들어서 서로 도와주도록
- 자기만족감
3. Balance control & automation
- task가 간단하고 흥미가 있을 때 피드백을 주기 때문에 피드백 얻는 과정을 잘 조절해야 함
Ch 6. Errors + Graceful Failure
- 복잡한 모델에서 어떻게 에러를 유발한 원인을 찾을 수 있을까?
- 에러가 발생한 다음 사용자들이 계속 사용하도록 놔둬도 괜찮을까?
Key Considerations
1. Define “errors” & “failure”
- errors
- user errors, system errors
- context errors : user나 system 상의 에러는 없지만 잘못된 설명으로 발생하는 에러 사용자의 mental model이 잘못 설계된 경우임
- 사용자의 mental model에 따라서 60%의 정확도를 실패로 받아들일 수도 있음
2. Identify error sources
- 데이터 문제
- 모델의 설계
- background error(시스템이 제대로 동작하지 않았지만, 사용자나 시스템이 에러를 인지하지 못한 경우)
3. Provide paths forward from failure
- 피드백을 줄 수 있는 기회 부여 ready to run? (ok/not now) : not now를 붙여서 거절하는 option 주면서 mental model 형성을 도움
- 필요한 피드백만 하기
- 오류에 대한 피드백은 pain point를 명확히 알 수 있도록 해야 함
visualdata.io
Leave a comment