인공지능 윤리 > Chapter 1. 인공지능의 신뢰성

[이해하기] 데이터 기반 인공지능과 신뢰성

 데이터 기반 인공지능과 신뢰성

1. 데이터 기반 인공지능

                                                        <데이터 기반 인공지능>


인공지능은 사람이 지닌 지적 능력의 일부 또는 전체를 인공적으로 구현하는 것입니다. 인공지능을 만드는 방법에는 여러 가지가 있습니다. 그중에서 데이터 기반 인공지능은 데이터를 재료로 만들어진 것으로, 사람이 ‘학습’ 하는 것을 흉내 낸 것입니다. 즉, 데이터로부터 어떠한 패턴을 찾아내고, 이를 이용하여 무언가를 예측하거나 분류하는 등의 일을 할 수 있는 것이 데이터 기반 인공지능입니다. 데이터 기반 인공지능을 만드는 방법을 일반적으로 기계학습(Machine Learning)이라고 합니다. 

그런데 이렇게 만들어진 인공지능은 항상 정확한 것은 아닙니다. 아무리 경험이 많은 훌륭한 의사라도 오진의 가능성이 있는 것처럼, 인공지능도 아무리 꼼꼼하게 설계했다고 하더라도 100% 정확한 판단을 내릴 수 없습니다. 나아가 인공지능이 100% 정확하지는 않다는 점은 윤리적인 문제를 일으키는 원인이 될 수 있습니다. 지금부터 데이터 기반 인공지능이 무엇인지, 그리고 인공지능의 정확도는 어떻게 구하는지 알아보겠습니다.

1-1. 인공지능에 사용되는 데이터

데이터 기반 인공지능에 사용되는 데이터는 형태에 따라 크게 형식이 정해진 데이터(정형 데이터)와 형식이 정해지지 않은(비정형 데이터) 것으로 나눌 수 있습니다. 정형 데이터는 우리가 흔히 볼 수 있는 스프레드시트의 표와 같이 구조화되어 있는 테이블 형태의 데이터를 말합니다. 전통적인 기계학습 기법은 주로 이러한 정형 데이터를 이용합니다.

한편, 비정형 데이터는 정해진 형식이 없는 데이터를 말합니다. 대표적으로 이미지 데이터, 음성 데이터, 텍스트 데이터 등이 비정형 데이터에 해당합니다. 기계학습의 기법의 하나인 딥러닝이 등장하면서 이러한 비정형 데이터까지 활용한 인공지능이 발전할 수 있게 됩니다. 


 정형 데이터

 비정형 데이터

 구조화 되어 있는 테이블 형태의 정형 데이터

 이미지, 음성, 텍스트와 같이 정해진 형식이 없는 비정형 데이터


1-2. 기계학습

기계학습을 이용한 인공지능 모델을 만드는 과정을 살펴보겠습니다. 먼저 인공지능 시스템의 목적을 설정합니다. 기계학습 모델은 데이터를 분류하고 예측하는 등의 목적을 위해 만들어질 수 있습니다.

다음으로, 만들고자 하는 인공지능 시스템의 목적에 맞는 데이터를 수집합니다. 예를 들어, 고양이와 강아지를 분류하는 인공지능을 만들기 위해서는 고양이와 강아지의 이미지 데이터 또는 고양이가 우는 소리와 강아지가 짖는 소리를 담은 소리 데이터 등이 필요합니다.

그 다음 단계에서는 적절한 알고리즘을 활용하여 기계학습 모델을 훈련합니다. 기계학습 모델을 훈련하기 위한 다양한 알고리즘 중에서 분류, 예측 등 인공지능 시스템의 목적에 따른 알고리즘을 선택해야 합니다. 목적에 맞는 적절한 알고리즘과 데이터를 선택할수록 인공지능의 성능이 좋아집니다. 이렇게 만들어진 기계학습 모델은 날씨 예측, 고객 맞춤형 추천 서비스 등 다양한 분야에 활용될 수 있습니다.


 

2. 인공지능 모델의 정확도

2-1. 인공지능 모델의 정확도란

  

인공지능이 데이터를 분류하여 예측한 결과 중 정답을 맞힌 비율을 분류 인공지능 모델의 정확도(Accuracy)라고 합니다. 예를 들어, 시험에 합격할 것인지를 예측하는 인공지능이 있다고 생각해봅시다. 위 표를 보면, 인공지능 모델 A는 학생 네 명의 실제 합격 결과를 모두 맞혔습니다. 인공지능 모델 A는 학생 1~4에 대해 100%의 정확도를 보였다고 할 수 있습니다. 반면 인공지능 모델 B는 학생 3, 4의 합격 결과는 맞혔지만, 학생 1, 2의 결과는 틀리게 예측하였습니다. 즉, 반은 맞혔고 반은 틀린 것이죠. 인공지능 모델 B의 정확도는 50%라고 할 수 있습니다.

[참고자료] - 인공지능 모델의 정확도(Accuracy)

인공지능 모델의 성능을 측정하는 지표는 여러 가지가 있습니다. 우리가 공부하고 있는 정확도(Accuracy)는 인공지능 모델 중에서도 분류를 목적으로 하는 모델의 성능을 측정할 때 사용되는 지표 중 하나입니다. 분류 모델의 정확도를 측정하는 데는 다음과 같이 정답을 맞히거나 틀리는 경우의 수를 나타낸 Confusion matrix(혹은 an Error matrix)에 대한 이해가 필요합니다.

 

- True Positive: 실제 Positive한 정답을 Positive라고 맞게 예측한 경우(True) - True Negative: 실제 Negative한 정답을 Negative라고 맞게 예측한 경우(True) - False Positive: 실제 Negative한 정답을 Positive라고 틀리게 예측한 경우(False) - False Negative: 실제 Positive한 정답을 Negative라고 틀리게 예측한 경우(False)

이에 따라, 모델의 정확도는 다음과 같이 정의할 수 있습니다.

즉, 전체 예측한 결과들 중 정답을 맞힌 것의 비율입니다. 이 때 맞힌 정답이 Positive인지 Negative인지는 상관이 없습니다.

분류 모델의 성능 평가 지표에는 위에서 살펴본 정확도(Accuracy) 외에 재현율(Recall), 정밀도(Precision) 등이 있으며, 회귀 모델의 경우 MSE(Mean Squared Error), RMSE(Root Mean Squared Error) 등을 사용합니다.

2-2. 학습 데이터와 테스트 데이터

                                                        <데이터 기반 인공지능 >

 

앞서 살펴보았듯이, 기계학습 모델은 데이터를 기반으로 만들어집니다. 또한, 이렇게 만들어진 기계학습 모델은 100% 정확한 판단을 내릴 것이라 확신하기 어렵습니다. 따라서 우리가 만든 모델을 어딘가에 실제로 적용하기 전에, 이 모델이 잘 작동하는지 먼저 확인할 필요가 있습니다. 즉 만들어진 모델의 성능을 신뢰할 수 있는지 평가해보아야 합니다.

이때 주의할 점은, 우리가 기계학습 모델을 훈련할 때 사용한 데이터는 만들어진 모델을 평가하는 데 사용하기 부적절하다는 점입니다. 그 데이터는 이미 모델이 훈련되는 과정에서 모두 외워버렸을 가능성이 있기 때문입니다. 이미 정답을 다 외운 시험지로 시험을 보면 다 맞히기 쉬운 것과 같은 이치입니다. 따라서 모델이 얼마나 잘 만들어졌는지 평가하기 위해서는 훈련할 때 사용한 것과 다른 데이터가 필요합니다. 

이를 위해, 기계학습 모델을 만들기 전 우리가 가지고 있는 데이터를 두 그룹으로 나눕니다. 그중 하나는 기계학습 모델을 훈련할 때 사용하고, 나머지 데이터는 모델이 얼마나 잘 작동하는지 평가하는데 사용합니다. 모델을 훈련할 때 사용하는 데이터를 학습 데이터라고 하고, 모델을 평가할 때 사용하는 데이터를 테스트 데이터라고 합니다. 보통 전체 데이터 중에서 약 70~80%를 학습 데이터로 사용하고 나머지 20~30% 데이터를 테스트 데이터로 사용합니다.

2-3. 활동을 통해 데이터 기반 인공지능 모델의 정확도 확인하기

고양이가 좋아하는 음식을 예측하는 활동을 통해 데이터 기반 인공지능 모델의 정확도에 대해 알아봅시다.

활동 방법

1. <활동 카드>를 잘라 내용이 보이지 않게 뒤집고 잘 섞습니다. 

2. 뒤집은 카드 더미에서 15장을 뽑아 내용을 확인합니다. 

3. 카드를 보고 각자 인공지능이 되어 고양이의 색깔을 확인합니다. 고양이 색깔을 바탕으로 고양이가 생선을 좋아할지 여부를 예측해봅니다. 

4. 남은 카드 더미에서 한 장씩 뒤집어보면서 예측한 내용이 맞는지를 확인합니다. 

5. 남은 카드를 모두 확인한 뒤, 5개 중에서 몇 개를 맞혔는지 정확도를 확인합니다.

◆ 카드 더미에서 카드를 15장 뽑은 뒤, 고양이 종류별로 생선을 좋아할지 여부를 예측하는 인공지능 모델을 만들어봅시다.


 

◆ 남은 카드를 한 장씩 뒤집어 예측한 것이 맞는지 확인해봅시다.


 

◆ 5장의 카드 중 몇 개를 맞혔나요?

5 개 중 ( )개

◆ 데이터 기반 인공지능 모델의 정확도가 100%가 될 수 없는 이유는 무엇일까요?

◆ 데이터 기반 인공지능 모델의 정확도를 높이기 위해서는 어떤 방법이 있을까요?

<활동 카드> 고양이 종류별 좋아하는 음식 예측하기

 

[읽기자료] -  판단 결과에 대해 설명하지 못하는 인공지능


 

데이터를 기반으로 한 인공지능은 최근의 발전으로 인하여 이전보다 성능과 정확도가 매우 높아졌습니다. 이 덕분에 인공지능 서비스와 제품들은 우리 삶에서 쉽게 찾아볼 수가 있게 되었습니다. 하지만 이렇게 정확도가 높은 인공지능이더라도 여전히 큰 문제가 남아있습니다. 바로 데이터 기반의 인공지능 모델이 결과를 출력하는데 그 이유를 알기 어렵다는 것입니다. 이를 '블랙박스(Black Box)'라고 표현하는데, 마치 검은색 상자 안에서 무슨 일이 벌어지고 있는지 알기 어려운 것을 의미하며 상당수의 데이터 기반 인공지능 모델이 블랙박스 모델입니다. 블랙박스 모델은 결과에 대해 왜 이러한 결과가 나왔는지 알 수 없기 때문에, 의료나 인공지능 면접 등 사람들의 삶에 큰 영향을 미치는 분야에서 사용될 때 신뢰하기 어려운 한계가 있습니다.

이러한 문제를 해결하기 위하여 최근에는 출력 결과에 대한 원인을 충분히 제공하기 위한 다양한 시도가 이루어지고 있고 이를 '설명 가능한 인공지능(eXplainable AI, XAI)'이라고 부릅니다.

인공지능의 신뢰성을 높이려는 방법으로는 더 많은 데이터를 이용해 훈련하는 방법이 있습니다. 하지만 데이터의 양을 충분히 많이 늘리는 것이 항상 가능한 것은 아닙니다. 이렇게 데이터를 늘려 신뢰성을 증가시키는 것이 어려운 경우 설명 가능한 인공지능이 좋은 대안이 될 수 있습니다.

의사가 병을 진단한 이유에 대해 환자에게 설명해주면서 이야기하면 신뢰감을 얻을 수 있는 것처럼, 판단의 이유를 설명 가능한 형태로 보여주면 인공지능의 신뢰성을 향상할 수 있습니다.