KNOWLEDGE
씽크포비엘은 이렇습니다 “현장 반영 고품질 데이터 제공 … 전략적 의사결정 돕는게 목표”
근래, 인공지능(AI)의 중요성과 활용성 등이 부각되며 주변에 다수 사용 및 적용이 시작되는 것을 볼 수 있다. 작게는(물론 작진 않지만), 내 영화나 음악 취향 등을 분석해 주는 것부터, 주가 예측 또는 신용도 분석, 언어 번역 인공지능 등이 실생활에 활용되고 있다.
이제, 인공지능은 곧 에너지 분야의 발전량/소요량 예측과 장비의 고장 예측 등 그 위험도가 큰 분야까지 적용될 것이다. 이러한 시대에 우리는 인공지능이 현장에 투입돼 정확하게 동작한다는 것을 어떻게 확인하고 보증할 수 있을까?
씽크포비엘은 기술적 테스트 방법에 기반하여 자체 고도화 연구개발한 세타(CETA) 방법론을 적용함으로써 인공지능의 현장 적용 전 얼마만큼 신뢰성있게 동작할 것인지를 검증할 수 있는 체계를 마련했다. 이를 소개하기 위해 먼저 인공지능의 정확성과 신뢰성을 차이를 살펴보고, 인공지능을 학습시키기 위한 데이터와 신뢰성 검증을 위한 데이터를 구분해 살펴본 뒤, 씽크포비엘 자체 보유 도구 CETA를 이용해 밸런스 검증 항목을 설계하고 비교하는 부분까지 살펴보겠다.
1. 인공지능 정확성
인공지능 정확성은 인공지능이 주어진 문제를 얼마나 잘 푸는지에 대한 성능 측정 방법이다. 인공지능은 다양한 데이터와 문제를 푸는 방법들이 있기 때문에, 단순히 Accuracy(포괄적 정확도 – 주어진 문제에서 얼마나 맞혔는지)만을 측정하지 않는다. 그러나, 기본적으로는 인공지능에게 풀 문제를 제공하고 그 문제를 얼마나 정확하게 풀었는지를 측정하는 단순한 방법에서 복잡한 방법까지가 있다고 이해할 수 있다. 예를 들면, 우리가 중간 및 기말고사를 보고 각 과목별로 정해진 배점에 따라 점수를 받는 것과 같다. MIT 및 하버드 대학교에서 인공지능이 계산한 결과의 자체적인 불확실성을 함께 인식할 수 있도록 발전적인 개발이 이뤄지기도 하지만, 아직은 인공지능이 주어진 문제를 잘 푸는 방법 위주의 개발이 대다수를 이룬다.
2. 인공지능 신뢰성
인공지능 성능을 측정할 때 더욱 중요하다고 주장하고 싶은 부분이 바로 인공지능 신뢰성이다. 인공지능의 정확성은, 아직 주어진 문제에서밖에 측정할 수 없다. 즉, 덧셈 문제만 많다고 하면 덧셈만 할 수 있는 인공지능의 정확도를 측정하는 것이다. 물론, 목표가 덧셈만을 빠르고 정확하게 계산하는 것이라면 여기까지만 되도 되겠다. 하지만, 우리가 실생활에서 사용할 때는 사칙연산까지 적용해야 한다면 어떨까? 덧셈으로만 학습하고, 덧셈으로만 문제를 풀 수 있다고 검증한 이 인공지능은 우리가 실제로 풀려고 하는 문제의 25% 정도만을 풀 수 있는 신뢰할 수 없는 인공지능이라고 판단할 수 있을 것이다. 주어진 문제에서 99%의 정확성을 가지는 이 인공지능은 사칙연산을 필요로 하는 현실적인 문제에서 실제로는 24.75%(99% x 25%)로 신뢰성있게 동작한다고 볼 수 있겠다. 즉, 신뢰성은 인공지능이 적용될 실제 환경의 데이터를 대상으로 얼마나 믿을만하게 동작하는지 검사하고 성능을 측정하는 기준이다. 주어진 데이터 내에서 성능을 측정하는 정확성과 가장 크게 차이나는 부분이다.
3. 인공지능 학습을 위한 데이터
인공지능을 학습, 시험, 검증하기 위해서는 데이터를 반드시 논해야 한다. 인공지능을 만들 수 있는 처음과 끝이기 때문이다. 아직까지 인공지능 학습을 위한 데이터는 단순히 수집하는데 그 목적을 가지고 있다. 약간 더 신경써서 수집하는 데이터는 데이터 조건을 다양화해 수집하고 있다. 이렇게 수집한 데이터는 그 수가 아무리 많아도 인공지능 학습에 충분히 활용할 수 없는 2가지 어려움이 존재하게 된다. 첫째는, 데이터 답안 종류별 수량의 부족이다. 데이터를 수집하다보면 탐지 문제의 경우, 어떤 객체는 매우 많은 데이터를 가지고 있고 어떤 객체는 한 자릿수 이하의 매우 적은 데이터를 가질 수 있다. 이러한 데이터 편향은 추후 인공지능 학습시 주어진 문제를 편향적으로 보는 문제를 야기할 수 있다. 백인이 체온계를 들고 있을 때는 체온계로 인식하지만, 흑인이 체온계를 들고 있을 때는 총으로 인식하는 확률이 높은 이유가 이러한 데이터 편향 때문이다. 둘째는, 문제 유형의 부족이다. 실생활에서 수집하는 데이터에는 인공지능이 풀고 탐지하고자 하는 데이터 유형이 극히 적을 수 있다. 예를 들어, 확률적으로 가우시안 분포를 따르는 경우, 인공지능이 실제로 풀어야할 중요한 문제는 가우시안 확률 분포 양 끝 꼬리쪽에 해당하는 문제일 가능성이 매우 높다. 즉, 데이터를 수집하지 못할 가능성이 높다는 의미다. 그렇다면 우리는 기존 인공지능 학습용 데이터가 가지고 있는 이러한 어려움을 해결하기 위해 어떻게 접근할 수 있을까?
4. 인공지능 신뢰성을 위한 데이터 밸런스
인공지능이 현장에서 의도한 대로 동작하는 것을 신뢰하기 위해서는 학습 및 시험하는 데이터도 현장 상황을 반영해 수집된 데이터여야 한다. 그러나 단순히 현장에서 수집한 데이터는 문제유형 및 답안 수량에서 큰 편차가 있는 부분까지 확인했다.데이터 편차로 인한 학습 및 시험의 어려움을 해결하기 위해서는 인공지능이 학습해야할 데이터의 자체적 특징, 데이터를 수집하는 환경적 특징 등을 반영해 인공지능에 영향을 끼치는 요인 식별 및 각 요인의 논리적 조합을 통해 발생가능한 케이스를 도출하고 이에 적합한 데이터를 계획적으로 수집하는 것이 중요하다. 예를 들어, 이미지 데이터 내에서 고양이를 탐지하는 인공지능 신뢰성을 검증한다고 가정해 보자. 우리는 입력되는 이미지의 크기는 물론, 컬러이미지인지 흑백이미지인지, 이미지가 얼마나 선명한지, 얼마나 명암비가 높은지, 어떤 톤의 색조 인지 등을 고려할 수 있다. 또한, 고양이를 멀리서 또는 가까이서 촬영했는지, 카메라를 회전시켜 촬영했는지, 위 또는 아래에서 촬영했는지를 고려할 수 있다. 이에 더해 고양이와 유사하게 생긴 표범, 호랑이, 사자 등은 탐지하지 않아야 하는지를 고려해야 한다. 밸런스를 확보한 데이터는 위의 다양한 관점에서 요인을 논리적 조합 분석해 발생 가능한 케이스를 도출하고, 이에 해당하는 데이터를 준비하는 것을 의미한다. 우리는 이미지 데이터에서 위의 요인을 Photometry 특징, Geometry 특징, 노이즈 밸런스 특징, 클래스 밸런스 특징으로 구분해 분석하고 있다. 이와 유사하게 다른 데이터 타입 – 시계열, 동영상, 텍스트, 음성, 링크 등 – 또한 마찬가지로 각 특징에 따라 요인을 구분할 수 있다.
5. 데이터 밸런스 설계를 위한 CETA
그럼 마지막으로, CETA를 이용해 밸런스 확보 데이터 항목을 설계하는 방법을 간단하게 살펴보자.
CETA를 이용해 설계하기 위해서는 반드시 스펙 내용이 필요하다. 4장에서 예제를 든 고양이 탐지 인공지능의 경우, 탐지를 목표로 하는 이미지의 Photmetry 특징(밝기, 대비, 선명도, 색조), Geometry 특징(회전, 카메라 높이, 카메라 거리, 카메라 이동 등), 노이즈 특징(고양이 유사 클래스 종류), 클래스 특징(고양이 및 유사 클래스의 수량)을 고려해 인공지능의 동작 목표를 기술한다면 스펙은 준비됐다고 할 수 있다. 다음으로는 스펙 내에서 인공지능 동작에 영향을 주는 ‘원인’ 요인과 인공지능 동작으로 기대하는 ‘결과’ 요인을 식별한다. 이 과정에서 유사 또는 서로 상반되는 각 요인은 통합될 수 있다. CETA 내 Cause & Effect Graphing 파트에 각 요인의 논리적 연관관계를 다이어그램으로 작성한다. 이후 우리가 검증하고자 하는 참 또는 거짓 범위에 해당하는 각 원인 요인의 구체적인 데이터를 작성한다. 예를 들어, 밝기 지표값 0.3~0.7까지 범위(참)일 때는 인식해야 한다는 것과 같다. 여기까지 작성하면, CETA 도구가 Cause & Effect Graphing 다이어그램 기반 발생가능한 경우의 논리 테이블 및 각 원인 요소의 구체적인 데이터를 기반으로 밸런스 데이터 항목을 최종 도출하게 된다.
여기까지 간단하게 인공지능의 정확성, 신뢰성, 학습 및 검증을 위한 데이터와 밸런스를 확보한 데이터가 어떤 차이를 가지고 있고 어떻게 도출하는지까지 살펴봤다. 최종적으로, 인공지능 신뢰성은 5장에서 언급된 CETA 도출항목에 해당하는 데이터를 선별해 인공지능에 입력하고 기대하는 결과와 매칭되는지 비교해 검증한다. 따라서, 우리는 전체 데이터 OO건 중 정확도 OO%가 아니라, 데이터 밸런스 검증 항목 OO건 중 통과 항목 OO건으로 OO%의 신뢰성을 갖고 동작한다고 분석할 수 있다.
마지막으로, 우리의 목표는 ‘위 밸런스 확보 데이터 항목에 해당하는 모든 데이터를 확보해야 한다’가 아니다. 대신 현재 우리 데이터가 얼마만큼 현장을 반영하고 있고, 그렇다면 이후에 어떤 데이터를 더 수집할지, 또는 이 정도 수준으로 출시할지 등의 전략적 의사결정을 위한 고품질 데이터를 제공하기 위함이다. 우리 방법이 무조건 좋다 또는 옳다라고 할 수 없다. 하지만, 아직 이 방법보다 더 나은 방법으로 인공지능 ‘신뢰성’을 검증할 수 있는 방법은 없는 것 같다. 앞으로 우리의 데이터 밸런스 설계 방법을 토대로, 인공지능이 위험한 현장에서 더 신뢰성있게 동작할 수 있는 데이터 마련의 기초가 되고 검증할 수 있도록 더욱 발전시키도록 노력하겠다.