2020.10.02

배트맨 토토 빌더의 관점에서 설명 가능한 AI에 대해 생각

만나서 반갑습니다 저는 차세대 시스템 연구실을 새로 졸업한 YS입니다 제 첫 블로그이니 많은 기대 부탁드립니다
최근 직장에서 처음으로 Google Cloud Platform(GCP)을 만났습니다 몇 가지 명령줄로 서비스를 배포하고 콘솔에서 로그를 확인할 수 있어 편리합니다

 

GCP에 관해 말하자면, Google Cloud는 올해 7월에 AI 설명(베타 버전)을 출시했습니다 AI Platform에 배포된 AI 배트맨 토토을 사용하여 예측할 때 각 입력 특성이 예측(기여)에 얼마나 기여했는지 계산하고 시각화할 수 있습니다 소위설명 가능한 AI(XAI) Colaboratory 및 AI Platform Notebooks에 대한 튜토리얼이 있으므로 쉽게 사용해 볼 수 있습니다

 

이번에는 설명 가능한 AI를 시작하기 위해 Google의 AI를 소개하겠습니다AI 설명 백서을 읽었는데 그 내용을 소개하고 싶습니다 특성의 기여도(속성 점수)를 계산하는 방법과 AI Platform에서 속성을 시각화하는 예시, 속성을 기반으로 배트맨 토토 학습을 평가할 때 주의할 점에 대해 설명합니다

 

Explanable AI는 의사결정과 같은 비즈니스 맥락에서 자주 언급되는 것 같지만 이번에는AI 배트맨 토토 작성자의 관점에서 XAI를 현장에서 어떻게 사용할 수 있습니까?

TL;DR

  • AI explain은 AI Platform에 배포된 배트맨 토토을 변경하지 않고도 예측에 대한 특성의 기여도를 계산할 수 있습니다 또한 What-If 도구를 사용하여 시각화가 가능합니다 특별히 어려운 추가코드는 없습니다 쉽고 매우 편리합니다
  • 설명 가능 AI에 대한 지식이 있는 사람들이 이를 운영하고 토론하지 않으면 잘못된 통찰력과 고려 사항으로 끝날 것입니다 (배트맨 토토이 학습한 패턴 중에는 속성으로 포착할 수 없는 패턴도 있습니다 "낮은 속성 점수 = 해당 기능이 필요하지 않다"라고 일반적인 판단을 내리는 것은 위험합니다 배트맨 토토이 단순히 애초에 이를 학습하지 않은 경우도 있습니다)
  • 현장에서 사용하면 배트맨 토토이 올바르게 예측한 샘플에 적용할 수 있으며 배트맨 토토의 학습을 해석하는 수단으로 사용할 수 있습니다! (학습은 인간의 직관에 따라 진행되는가? 누출이 발생하는가?)
  • 현재 배트맨 토토이 AI Platform 및 텐서플로우에서 실행 중이라면 이를 사용해 볼 수 있습니다 그렇지 않다면, 포팅하는 수고를 감수하는 것이 비용 효율적일 것 같습니다

소개

먼저 설명 가능한 AI의 맥락에서 "설명"이 무엇인지 설명하고 용어를 소개하겠습니다 너무 딱딱하게 만들고 싶지는 않지만, 이 내용을 적지 않고는 진행하기 어려울 수 있으니 잠시만 양해 부탁드립니다

 

Explainable AI를 사용하면 특정 이벤트 P에 대한 설명을 요청할 때 "왜 이벤트 P가 발생했나요?"라고 묻는 대신 ``왜 다른 이벤트 Q 대신 이벤트 P가 발생했습니까?'' 이때 실제로 발생한 사건 P를 팩트(Fact)라고 하고, 그렇지 않았을 경우 일어날 수 있었던 사건 Q를 포일(Foil)이라고 합니다

 

포일이 여러 개 있을 수 있으며 각 포일에 대한 유효한 설명도 변경됩니다 예를 들어, 백서에서:"그레이는 왜 접시를 깨뜨렸습니까?"(왜 그레이가 접시를 깨뜨렸습니까?)"그레이는 접시를 부수지 않습니다"을 나타내는 여러 가지 포일이 있습니다

 

“그는 접시를 한 조각 남기고 떠났습니다”"그가 화를 냈기 때문입니다"(그는 급해서 접시를 그대로 두지 않고 깨뜨렸습니다)는 합리적인 설명이 될 것입니다"그는 대신 유리잔을 깨뜨렸습니다""그는 유대인 결혼식이 아닌 그리스 결혼식에 참석했기 때문입니다"(그는 유대인 결혼식이 아닌 그리스 결혼식에 참석하고 있었습니다 그래서 그는 유리잔이 아닌 접시를 깨뜨렸습니다) (유대인 결혼식에서는 잔을 깨고, 그리스 결혼식에서는 접시를 깨는 문화가 있는 것 같습니다)

 

사람들은 예상치 못한 결과를 얻었을 때 결과를 사실로, 예상 결과를 허위로 사용하여 설명을 요청합니다 예를 들어, 신용 점수 신청에서 "완벽한 신용"이 이상적인 포일로 선택될 수 있으며 이러한 실패에 대한 설명에는 "짧은 신용 기록" 또는 "많은 미결제 신용"이 포함될 수 있습니다

 

이런 설명을 요구할 때,예상 출력에 맞는 적절한 포일그리고 왜 그런 일이 일어나지 않았는지 알아보세요

유쾌한 가치

Shapely 값은 각 기능이 출력에 얼마나 기여하는지 계산하는 방법입니다
형태적 가치의 개념을 이해하기 위한 예로, 세 명의 직원 A, B, C
각 직원 N 세트를 고용할 때의 이익은 다음과 같습니다 A만 고용하면 이익은 10이 되고, A와 B를 고용하면 이익은 60이 됩니다
아무도 고용되지 않으면 이익은 0이 되며 이를 포일이라고 합니다
각 직원은 채용 시 상황에 따라 서로 다른 혜택을 받습니다 예를 들어, 아무도 고용되지 않은 상태에서 A를 고용하고, B가 고용된 상태에서 A를 고용하면 전자의 증가폭은 10, 후자의 증가폭은 20이 됩니다
그러므로 모든 패턴에 대해 각 직원을 고용할 때 이익이 얼마나 증가하는지 계산하십시오
각 직원의 최종 Shapely 값은 각 상황에 대해 계산된 증가의 평균입니다 직원의 가치가 높을수록 고용 시 이익 증가폭이 더 크다고 할 수 있습니다

 

AI 배트맨 토토에서 수익 v(X)를 배트맨 토토의 출력 및 직원 채용 방법으로 사용

 

그러나 형상 값에 대한 계산량은 피처의 개수에 따라 기하급수적으로 증가하므로 기본적으로 적은 계산량으로 이를 찾기 위해 속성 방법을 사용합니다 여러 가지 기여 방법이 제안되었습니다 미분가능한 배트맨 토토에 적용할 수 있는 것, 미분할 수 없는 배트맨 토토에 적용할 수 있는 것, 영상에 특화한 것 등 다양한 특성이 있으므로 적용되는 상황에 따라 방법을 선택할 필요가 있다

 

속성 방법은 단일 인스턴스의 속성 점수를 계산하는 방법이지만 모든 인스턴스의 점수를 집계하면 배트맨 토토 전체에 대한 더 많은 통찰력을 얻을 수 있습니다

기준선

위의 예에서 우리는 직원이 고용되지 않고 당시 이익이 0인 상황을 포일로 선택했습니다 이 선택은 "각 직원이 이익을 얼마나 증가시키는가?"라는 질문을 반영합니다

 

반면에 "A가 이미 취업했다면 B와 C를 고용하면 이익이 얼마나 증가할까요?"라는 질문에 대답할 때 A가 취업하고 당시 이익이 10인 상황이 호일입니다
이렇게 호일에 따라 결과가 달라지므로 질문에 적합한 호일을 선택해야 합니다
실제로 AI 배트맨 토토의 예측에 대한 설명을 찾을 때 위에서 언급한 것처럼 "다른 결과가 아닌 왜 이 예측이 필요한가?"와 같은 질문을 합니다
이것은 (실제로 발생하지 않음)"다른 결과"를 반영하려면 많은 포일 중에서 하나를 선택하십시오반드시 ​​해야 합니다 이렇게 선택된 포일을 기준선이라고 하며, 기준선에 대한 배트맨 토토의 예측을 기준선 점수라고 합니다 기준은 기여에 큰 영향을 미치므로 신중하게 선택하세요

 

기준선을 선택하는 방법에는 비정보 기준선과 정보 기준선의 두 가지 방법이 있습니다
정보가 없는 기준선은 이미지 입력의 검은색, 흰색 또는 임의의 이미지, 텍스트 입력의 중지 단어 또는 별도의 토큰, 숫자 입력의 중앙값 또는 범주형 입력의 모드와 같이 특별한 의미가 없는 것입니다 특정 예측에 기여한 기능을 간단히 검색할 때 이 기능을 사용하세요
유익한 기준선은 명확한 비교 대상이 있을 때 사용됩니다 예를 들어, "지난달 이후 내 신용점수가 왜 50점이나 떨어졌나요?"와 같은 질문에 답할 때 그리고 어떤 특징이 지난달과 차이를 일으켰는지 파악하면 지난달의 계정 정보를 유용한 기준으로 사용할 수 있습니다

실제 사용예

(이 장에서는 사용 방법이나 조작 방법을 설명하지 않습니다 이에 대한 이해를 돕기 위해,튜토리얼하나씩 해주세요! AI Platform에 배트맨 토토을 배포한 적이 없더라도 1~2시간 안에 완료할 수 있습니다 )
AI 설명은 사용자가 설명을 얻기 위해 배트맨 토토을 수정하거나 추가 코드를 작성할 것을 요구하지 않습니다
설명_metadatajson이라는 json 파일을 배트맨 토토과 동일한 디렉터리에 배치하고 입력 텐서, 출력 텐서 및 기준선을 지정하여 속성을 생성하면 설명을 얻을 수 있습니다
explanation_metadatajson
Google AI PAIR 팀에서 개발한 What-If 도구를 사용하여 얻은 속성을 시각화할 수 있습니다
아래 그림은 두 변수 x와 z에서 y를 예측하는 회귀 배트맨 토토을 테스트할 때 특정 인스턴스에 대한 속성을 시각화합니다 이 경우 x 값이 예측에 크게 기여했음을 알 수 있습니다

 

아래 그림에는 각 인스턴스의 x 속성 점수와 z 속성 점수도 표시되어 있습니다 x축은 x 점수이고 y축은 z 점수입니다 색상의 강도는 예측 오류의 크기를 나타냅니다 이 그림을 보면 상대적으로 작은 오류를 가진 인스턴스가 특정 범위 내에서 x개의 기여 점수를 갖고 있음을 알 수 있습니다 이로부터 z가 예측에 기여하는지 여부는 정확도에 거의 영향을 미치지 않는 것으로 생각됩니다

 

입력이 이미지인 경우 예측에 기여한 부분도 강조 표시되고 표시됩니다

속성 작업 시 유의사항

속성 방법은 배트맨 토토 예측을 해석하는 방법이지만, 속성 점수가 낮다고 해서 특성이 예측에 기여하지 않는다고 결론을 내리는 것이 불가능할 수도 있습니다 또한, 학습한 표현에 따라 속성에 나타나지 않아 혼란을 야기할 수도 있습니다

 

기여 점수를 기반으로 배트맨 토토 학습이나 예측을 평가할 때는 인간의 직관과 다를 수 있으며, 기여 방법의 특성으로 인해 한계가 있다는 점을 인지하는 것이 중요합니다
  • 속성은 단순히 배트맨 토토이 학습한 데이터의 패턴을 반영합니다 귀인을 기준으로 뭔가 잘못된 것(직관에서 벗어남)을 발견하면 문제가 배트맨 토토에 있는지 아니면 데이터에 있는지 구분해야 합니다
  • 속성 점수가 낮다고 해서 반드시 기능과 결과 사이에 패턴이나 관계가 없다는 의미는 아닙니다배트맨 토토이 관계를 학습하지 않았을 가능성
  • 위에서 언급한 바와 같이속성 점수는 기준에 전적으로 의존합니다토의할 때 항상 선택한 기준을 염두에 두어야 합니다
  • 배트맨 토토에 의해 학습된 표현은 속성 점수에 나타나지 않을 수 있습니다
    • 입력 특성 간의 상호 관계를 학습할 때: 예를 들어 XOR을 재현하는 배트맨 토토에서는 속성이 각 입력 특성에 동일하게 할당됩니다 사전 지식이 없으면 각 기능에 동일하게 할당된 속성을 살펴보더라도 배트맨 토토이 수행하는 작업을 이해하기 어렵습니다
    • 전체 입력 특징의 경향이 캡처되는 경우: 예를 들어 이미지 인식에서 배트맨 토토이 부분적 모양이 아닌 전체 이미지의 질감을 식별 기준으로 사용하는 경우 속성 점수로 표시되지 않습니다
  • 속성은 단일 인스턴스에 대한 설명일 뿐입니다 여러 인스턴스의 속성을 종합하여 일부 추세를 파악하는 것은 가능하지만 배트맨 토토의 추세를 포괄하지는 않습니다
  • 기여 분석을 사용하여 대략적으로 계산하지만, 기여 점수 계산은 예측에 비해 계산 비용이 많이 듭니다 각 어트리뷰션 방법에는 매개변수가 있습니다계산 복잡성과 근사 정확도 간의 절충조정이 필요합니다

주의해야 할 사항이 많습니다

귀속으로 할 수 있는 것과 할 수 없는 것을 제대로 이해하고 평가하지 않으면 결국 '잘못된 통찰력을 바탕으로 진행'하게 될까봐 두렵습니다

배트맨 토토 개발 사이트에서 XAI 활용 방법

개발 주기에 통합하는 것이 귀찮습니까? ?

배트맨 토토 생성 및 평가 분야에서는 예상치 못한 예측의 원인을 식별하고 배트맨 토토과 데이터 세트를 개선해야 할 필요성이 큽니다 결론적으로 XAI에는 불안정한 요소가 많아 이러한 프로세스에 통합하기 어렵다는 느낌이 들었습니다 문제를 더 복잡하게 만든다면 억지로 강요해서는 안 된다고 생각합니다

첫째, 속성을 통해 잘못된 샘플과 관련된 특징의 기여도를 판단할 수 있더라도 배트맨 토토의 표현력이 부족한지, 학습 방법이 잘못된지, 데이터가 편향되어 있는지 직접적으로 판단할 수는 없습니다

또한 귀속은 기준선과 근사 방법의 매개변수에 매우 민감하기 때문에 획득된 귀속을 얼마나 신뢰할 것인지 판단하는 것이 필요합니다 평가자의 직관에 어긋나는 귀인이 얻어졌을 때 직관을 신뢰할 것인지, 귀인값을 신뢰할 것인지를 결정하는 것이 어려운 점이다

또한 위에서 언급한 것처럼 속성에 배트맨 토토 학습이 나타나지 않는 경우가 있습니다

 

배트맨 토토 학습을 이해하는 데 사용할 수 있습니다

한편, 어느 정도 정확도로 배트맨 토토을 완성한 후,배트맨 토토이 학습한 내용 이해XAI를 사용하여 그런 식으로 유지하는 것이 좋은 생각이라고 생각합니다

예를 들어, 아래는 속성을 확인하여 누출을 발견한 예입니다 이는 엑스레이 영상을 통해 흉부 질환 유무를 판단하는 배트맨 토토이지만, 속성을 보면 흉부 정보가 식별에 기여하지 않는 것으로 나타났다 실제로 이 배트맨 토토은 의사의 펜 자국 유무를 판별 기준으로 학습하고 있었으며, 가슴의 특성을 완전히 무시했습니다 당연히 이 배트맨 토토을 펜 자국 없이 실제 데이터에 적용한다면 질병을 정확하게 식별할 수 없을 것이다

 

또한 속성 점수가 특성 전반에 걸쳐 균일한 경우 배트맨 토토이 특성 상호 작용이나 전반적인 추세에 대해 학습할 수 있다고 가정할 수 있습니다 (위에서 언급한 XOR 및 텍스처의 예)

물론, 배트맨 토토이 정확하고 속성이 우리의 직관 및 의도와 일치한다면 우리는 확신을 가지고 배트맨 토토을 작동할 수 있습니다!

 

요약 및 감상

이 문서는 배트맨 토토 생성 관점에서 개발 및 운영 사이트에서 설명 가능한 AI를 활용할 수 있는지 여부에 관한 것입니다

결론적으로 배트맨 토토 개선주기에 적극적으로 포함시키기보다는 배트맨 토토이 예상대로 표현을 학습하고 있는지 확인하는 데 사용하는 것이 합리적이라고 생각합니다

이미 AI Platform에서 배트맨 토토을 운영하고 있다면 AI explain을 사용하여 속성을 확인하는 것이 좋습니다 그렇지 않다면 이러한 목적으로 AI Platform으로 마이그레이션하는 것이 비용 효율적일 것이라는 인상을 받았습니다

Explainable AI의 기초가 되는 귀인 점수 계산 개념은 매우 간단하지만, 그 수치를 올바른 통찰과 결정으로 연결하기 위해서는 많은 것을 이해하고 신중하게 평가해야 합니다 솔직히 백서를 읽는 것만으로도 머리가 터질 것 같았습니다 이를 구현->평가->배포 결정 주기에 통합한 사람들에게 솔직히 깊은 인상을 받았습니다

마지막으로

차세대 시스템 연구소에서는 빅데이터 분석 플랫폼을 설계하고 개발할 설계자와 데이터 과학자를 모집하고 있습니다 관심있는 분은 연락주세요모집 유형목록에서 신청해주세요 함께 공부하면서 즐겁게 일하고 싶은 분들의 지원을 기다립니다

  • 트위터
  • 페이스북
  • 하테나 북마크에 추가

그룹 연구개발본부의 최신 정보가 트위터를 통해 배포되고 있습니다 우리를 따르십시오

 
  • AI연구개발실
  • 오사카 연구 개발 그룹

관련 기사