인공지능 윤리 > Chapter 2. 인공지능의 편향성

[실습하기(2)] 학급 회장을 선출하는 인공지능 만들기

  적절한 속성 탐색 활동

이번에는 엔트리의 데이터 분석과 인공지능 모델 학습기능을 사용하여 자동으로 학급회장을 선정하는 인공지능 모델을 만들어보도록 하겠습니다. 먼저 학습 데이터를 불러오고 속성을 선택하여 데이터 기반 인공지능을 학습시키는 방법에 대해 알아보겠습니다.


[STEP 1] 학습 데이터 업로드 하기


템플릿 주소: http://naver.me/xIhUKCjU 데이터셋: https://blog.naver.com/nvplaysw/222316727206


 

1. 엔트리 [템플릿 주소]에 접속합니다.


 

2. 먼저 학습 데이터를 추가해보겠습니다. 데이터 분석을 클릭하고 테이블 추가하기를 클릭하세요.


3. 파일 올리기를 클릭하고 학습 데이터 파일을 업로드해주세요.



4. 업로드 된 학습 데이터를 클릭하고 아래의 추가 버튼을 클릭해 테이블을 추가합니다.



5. 학습 데이터가 업로드 된 것을 확인합니다.



[여기서잠깐!] 

우리가 사용할 학습 데이터에 어떤 속성들이 들어 있는지 확인해봅시다.





6. 저장하기 버튼을 클릭하고 테이블 불러오기 옆의 x 버튼을 클릭하여 이전 화면으로 돌아갑니다.



7. 이제 이 학습 데이터를 이용해 데이터 기반 인공지능 모델을 학습시켜 보겠습니다. 먼저 인공지능 블록을 선택하고 인공지능 모델 학습 하기를 클릭해주세요.



8. 숫자를 분류할 수 있는 분류: 숫자 모델을 선택하고 학습하기를 클릭하세요.



9. 이제 데이터 기반 인공지능 모델의 이름을 만들도록 하겠습니다. 여기서는 자동 학급 회장 선정 인공지능이라고 정해보겠습니다.




10. 데이터 입력에서 아래 화살표를 클릭하면 우리가 이미 업로드 해두었던 데이터셋을 확인할 수 있습니다. 이 데이터 셋을 클릭해 주세요.



11. 여기서 핵심 속성을 최대 3개까지 고를 수 있습니다. 핵심 속성으로 먼저 일주일 용돈, 봉사활동 시간, 칭찬 스티커 개수를 넣고 클래스 속성에 당선을 넣어보겠습니다. 이렇게 속성과 클래스를 선정한 뒤 모델 학습하기 클릭하면 데이터 기반 인공지능이 학습을 시작하게 됩니다.



12. 결과 확인 부분에서 핵심 속성 부분에 새로운 데이터를 입력하면 우리가 학습시킨 인공지능 학급회장으로 선정할지 하지 않을지 판별하게 됩니다.



◎ 한 달 용돈, 봉사활동, 칭찬 스티커 개수 세 가지 속성을 이용하여 데이터 기반 인공지능을 학습시켜 보세요. 그리고 다음 테스트 데이터를 이용해 어떻게 분류하는지 확인해 보고 분류결과를 작성해보세요.



◆ 우리가 학습 시킨 데이터 기반 인공지능은 어떤 속성이 중요하게 작용하고 있는 것 같나요?

◆ 이렇게 분류하는 인공지능은 어떤 문제를 가지고 있나요?

◆ 왜 그렇게 생각하나요?

◆ 이러한 문제를 어떻게 해소할 수 있을까요?

◎ 자동으로 학급 회장을 선정하는 인공지능을 만든다고 할 때 어떤 속성을 선택하는 것이 좋을지 생각해 봅시다.

◆ 어떤 속성들을 이용하는 것이 좋을 것 같나요?

◆ 왜 그렇게 생각하나요?

◆ 친구와 함께 이 속성을 고른 이유를 함께 이야기해보세요.

◆ 어떤 속성들을 제외하는 것이 것이 좋을 것 같나요?

◆ 왜 그렇게 생각하나요?

◆ 친구와 함께 이 속성을 고른 이유를 함께 이야기해보세요.

◆ 학급 회장을 선출할 때, 측정하기는 어렵지만 중요하게 고려되어야 할 또 다른 속성은 어떤 것들이 있을까요?

예: 배려심

◎ 새롭게 정한 속성을 이용하여 데이터 기반 인공지능을 다시 학습시켜 봅시다.

데이터 기반 인공지능을 학습시킬 때 어떠한 속성을 선택하느냐는 매우 중요한 일입니다. 학급 회장을 자동으로 선출하는 데이터 기반 인공지능이 있다고 생각해 봅시다. 이 인공지능을 학습시킬 때 ‘한 달 동안 받는 용돈’이라는 속성을 사용한다면 용돈을 많이 받는 학생들이 학급 회장으로 선출되는 상황이 발생할 수 있습니다. 용돈을 많이 받는다고 해서 좋은 학급 회장이 되는 것이 아닌데, 목적에 적합하지 않은 속성을 사용하였더니 원래 목적과 다른 편향된 결과를 출력하는 인공지능이 만들어지는 것이죠.

따라서 이러한 인공지능을 만들 때 여러 가지 요인들을 고려해야 합니다. 이 중에는 칭찬 스티커의 개수, 봉사 시간 등 측정하기 쉬운 속성들도 있지만 리더십, 배려심, 친구들과의 관계 등 숫자로 변환하거나 측정하기 어려운 속성들도 있습니다.

이처럼 데이터에서 어떤 속성을 선택하느냐에 따라서 인공지능이 출력하는 결과가 달라질 수 있습니다. 특히 사람에게 적용하는 인공지능이라면 윤리적으로 큰 문제를 발생하기도 합니다. 이러한 윤리적인 문제를 예방하기 위해서는 데이터 기반 인공지능을 학습시킬 때 어떤 속성이 적합할지 충분히 고민해보는 것이 중요합니다.


[STEP 3] 새로운 데이터의 속성 값을 입력 받고 변수에 저장하기


이제 우리가 만든 인공지능 모델을 이용하여 자동으로 학급 회장을 선정하는 프로그램을 만들어보도록 하겠습니다.

1. 먼저 필요한 변수를 만들도록 하겠습니다. 자료를 클릭하고 변수 만들기를 클릭해 주세요.



2. 우리가 선정한 세 가지 속성을 변수로 만들어 보겠습니다. 칭찬, 성실성, 봉사 3개의 변수를 만들어 주세요.



3. 이제 블록을 조립해보도록 하겠습니다. 먼저 시작하기 버튼을 클릭했을 때 버튼을 사용하겠습니다.



4. 새로운 입력값을 받을 수 있도록 묻고 대답 기다리기 블록을 활용하겠습니다. ‘칭찬 스티커는 몇 개인가요?’라고 묻고 대답 기다리기 블록을 만들어 주세요.



5. 다음과 같이 블록을 조립하면 입력한 값을 칭찬 변수에 저장할 수 있습니다.



6. 같은 방법으로 데이터 기반 인공지능 모델이 고인돌이라고 분류하지 않는 경우 오브젝트의 모양을 바꾸며, ‘이것은 바위입니다.’라고 말할 수 있도록 블록을 만들어 주세요.



[STEP 4] 분류 결과를 말하고 분류 결과에 따라 오브젝트의 모양을 바꾸기


7. 이제 입력한 변수의 값에 따라 우리가 학습시킨 인공지능 모델이 분류할 수 있게 해보겠습니다. 성실성 속성 값에 성실성 변수 값을 넣어주고 칭찬 스티커 개수 속성에 칭찬 변수 값을 넣어 블록을 조립합니다. 마지막으로 봉사활동 시간 속성에 봉사 변수 값을 넣어 줍니다.

8. 이제 판단에 있는 블록을 이용하여 클래스가 1, 즉 당선으로 분류할 때 작동하는 부분을 조립해보겠습니다.


 

9. 앞에서 만든 블록과 판단 블록을 이용하여 다음과 같이 블록을 조립합니다.



10. 이렇게 만든 블록을 만일~ 아니면 블록의 ‘참’ 부분에 넣어주세요.



11. 분류 결과가 1이어서 당선으로 분류되는 경우, ‘훌륭한 학급회장이 되겠네요’라고 말하며 엔트리봇의 모양이 바뀌도록 블록을 조립합니다.


12. 분류 결과가 0이어서 당선으로 분류되지 못하는 경우. ‘더 잘할 수 있는 다른 역할을 찾아보아요!’라는 말을 하며 엔트리봇의 모양이 바뀌도록 블록을 조립합니다.

13. 이 블록을 앞서 만든 블록과 합쳐 블록을 완성합니다.


14. 프로그램이 잘 동작하는지 확인해 보세요.