본문 바로가기

교사의 삶/AI수업

[AI수업실록] 2차시- 기계학습(머신러닝)과 퀵드로우를 통해 인공지능 원리를 알아보자

빅데이터. 많이 들어보셨죠.

빅데이터는 인공지능(AI)에게 어떤 의미일까요? 인공지능(AI)에게 빅데이터는 왜 필요할까요?

인공지능(AI)은 빅데이터를 어떤 원리로 활용하는 걸까요?

AI와 빅데이터의 관계를 머신러닝Machine Learning퀵드로우를 통해 알아봅시다.

 


[1] 

☞ 머신러닝과 데이터.  AI for oceans 1~4단계

https://studio.code.org/s/oceans/lessons/1/levels/2 (크롬으로 열기)

 

AI for Oceans #2 - Code.org

Anyone can learn computer science. Make games, apps and art with code.

studio.code.org

 

* 1단계 : 인공지능의 기계학습(머신러닝) 소개 영상

영상내용: 

컴퓨터의 결정이 우리 생활에 많은 영향을 미치고 있습니다. 유튜브 알고리즘이나 내 얼굴,목소리를 파악하는 방식으로 말이죠. 어떻게 이런 것들이 가능할까요? AI의 종류 중에 기계학습(머신러닝)으로 불리는 AI가 있습니다. 머신러닝은 우리 인간이 시도와 오류, 경험, 연습을 통해 학습을 하듯이 AI도 이렇게 할 수 있도록 하는 것입니다. 즉, 경험을 통해 배우는 것이 머신러닝입니다. 여기서 경험이라는 것은 수많은 데이터들을 의미합니다. 머신러닝은 비디오, 이미지, 오디오, 문자 등 모든 종류의 데이터를 학습할 수 있습니다. 그리고 이 데이터 안에서 패턴을 인식하는 법을 배워 데이터 간의 패턴을 인식하기 시작합니다. 그리고 그 패턴을 활용하여 앞을 예측할 수 있는 것이죠. 

 

*2단계 : 물고기와 쓰레기 구분 학습하기

인공지능(AI)에게 물고기를 학습시켜봅시다. 저는 100개정도 했고, 수업시간 학생들은 200개 까지도 합니다. 하다보면 멍~해지면서 실수할 수 있으니 정신 붙잡아야 합니다 :-)

 

물고기와 쓰레기를 구분시키도록 학습시키는 중입니다.

 

내가 학습시킨대로 잘 분류하는지 확인해봅시다.

 

학습시킨 AI가 물고기와 쓰레기를 잘 구분하네요.

 

와~ 물고기랑 쓰레기를 잘 구분해냅니다. 잘 학습했네요. 이것이 기계학습과정입니다. 데이터(경험)를 열심히 쌓아주는 것이죠.

 

 

*3단계 : 문제발견

그런데 이렇게 물고기와 쓰레기를 학습시켰더니 문제가 생겼습니다.

 

쓰레기 뿐만 아니라 학습하지 않은 해양생물들은 버리는 AI

 

물고기가 아닌 다른 해양생물들은 버려버립니다. 

 

왜 이런일이 벌어질까요?

수업시간에 아이들은 “학습하지 않았기 때문에요. 가르치지 않아서요" 라고 잘 대답합니다.

네, 맞습니다. 학습을 시키지 않아서 인공지능에게 데이터(경험)가 없습니다. 그럼 어떻게 해결할 수 있을까요?

 

정답은~~! 학습시켜야 합니다. 해양생물들도 바다에 사는 것이라고 데이터를 쌓아주어야 합니다.  

또 기계학습시키러 다음단계로 이동합시다.

 

*4단계 : 해양 생물 학습하기

물고기에서 범위를 넓혀 바다속에 있어야 할 것을 학습시켜 봅시다.

아이들 속도와 수업시간을 고려하여 제한시간을 주고 최대한 많이 학습을 시킵니다. 많은 데이터(경험)를 주는 것입니다.

 

^^바다속 생물과 아닌 것 구분 영상^^

 

바닷속생물을 학습하는 AI

 

데이터를 쌓은 뒤 학습결과를 확인 해 봅시다.

 

바닷속 생물을 잘 구분합니다.

확인하다보니... 물고기를 버리거나 쓰레기를 맞다고 하는 경우가 있네요.

세가지 이유로 생각해 볼 수 있습니다. 

1. 데이터가 부족하거나

2. 인공지능 자체가 완벽하지 않기 때문에 인공지능이 실수를 했거나

3. 제가 멍~해져서 실수를 했나봅니다...ㅋㅋ :-) 

 

1번과 3번의 경우에는 더~~ 많은 데이터를 학습시키면 해결이 됩니다. 하지만 2번의 경우는 우리가 해결할 수가 없겠네요. 인공지능이 완벽하지 않은 것과 관련해서는 뒷 차시에서 공부해보도록 하고 오늘은 우선 이렇게 넘어가겠습니다. ^^

 

 

 

[2] 

☞ 퀵드로우(Quick, Draw!)와 데이터

퀵드로우는 제시된 단어를 그림으로 그려 인공지능이 맞출 수 있도록 하는 게임입니다. 퀵드로우에 접속합니다.

https://quickdraw.withgoogle.com/

 

Quick, Draw!

신경망이 학습을 통해 낙서를 인식할 수 있을까요? 내 그림은 얼마나 잘 맞추는지 확인하고, 더 잘 맞출 수 있도록 가르쳐 주세요. 게임을 플레이하기만 하면 됩니다.

quickdraw.withgoogle.com

 

‘시작하기’를 눌러 5~10분정도 자유롭게 인공지능과 놀아봅시다.

 

 

ㅋㅋㅋ 쉽지만은 않습니다. 그래도 잘 맞춰준 것 같습니다.

자, 이 게임에서 내가 그린 그림이 ‘모자’라는 것을 인공지능은 어떻게 알 수 있을까요?

결과 창을 띄우고 각 그림을 클릭해봅시다.

 

 

결과창에서는 인공지능이 내 그림을 어떻게 맞췄는지, 다른 사람들은 이 문제에 어떤 그림을 그렸는지 볼 수 있습니다. '퀵드로우'에는 10만개 이상의 그림이 저장되어있다고 합니다. 즉, 저장된 그림들이 인공지능에게는 학습된 데이터(경험)인 것입니다. 이 엄청난 데이터의 양과 내 그림을 비교해보고 ‘모자구나!’를 알 수 있었던 것이죠.

 

이때 궁금증이 생깁니다. 

"제 그림은 인공지능이 못 맞힌 것도 있는데요? 제가 그림을 못 그려서 그런건가요?"

 

이 질문이 핵심입니다.

결론은, 아닙니다. 퀵드로우에서 특징만 잘 드러나게 그릴 수 있다면 그림 실력은 중요하지 않습니다. 그림 실력보다 다른 이유 때문에 못 맞혔을 가능성이 큽니다. 퀵드로우는 저장된 그림데이터를 내가 그린 그림과 비교하여 단어를 맞힌다고 했습니다. 그럼 내가 그린 그림을 못 맞히는 이유는 과연 무엇일까요?

 

100점짜리 대답은 “데이터가 없어서요.” 입니다. 

 

내가 그린 그림의 방향, 각도, 형태 등이 AI에게 머신러닝으로 저장된 데이터와 사뭇 달라 알아보지 못한 것입니다.

수업시간이라면 '못 그린 것이 아니라  저장된 데이터가 내 그림과 안 맞아서, 데이터에 내 그림과 비슷한게 없어서’강조하시는게 중요합니다.

 

그럼 어떻게 해결하면 될까요?

“데이터를 더~~많이 학습시키면 됩니다.”

 

아까 말씀 드렸지만 이미 퀵드로우에는 10만개 이상의 그림이 데이터로 저장되어 있습니다. 그런데도 틀리네요. 그렇다면 인공지능이 더욱더 그림을 잘 알아보게 하기 위해서는 10만개 보다도 더~ 많이, 어마어마 한 양의 데이터가 필요하다고 볼 수 있습니다. 

 

이 어마어마 한 양의 데이터를 빅데이터라고 합니다.

 

퀵드로우 메인 화면에도 이러한 설명이 적혀있습니다^^

지금도 데이터를 쌓아나가는 중이며 어떤 데이터가 있는지 공개하고 있습니다.

퀵드로우 메인화면
퀵드로우 메인화면에 이런 설명이 있습니다.

 


 

[오늘의 학습]

1. 기계학습과 데이터. AI for oceans

2. 퀵드로우와 데이터.

 

[중요 정리]

- 인공지능은 학습을 통해 데이터를 쌓아나가고 이 데이터를 기반으로 판단, 추론, 예측, 결정까지 할수 있다.
- 그럼 더~ 똑똑한 인공지능을 개발하기 위해서는????  수~많은 엄~청난 양의 데이터를 학습시키는 것이 필요하다.

- 이 수많고 엄청난 양의 데이터를 우리는 빅.데.이.터 라고 한다.

 

[수업실록/AI수업] - [AI수업실록] 1차시- 게임으로 알아보는 인공지능의 개념과 특징