Play With AI > Chapter 6. 나만의 이미지 분류 모델 만들기

[이해하기] 학습하는 인공지능

 스마트폰으로 스마트 렌즈 체험하기



네이버 스마트 렌즈를 사용해 본 적 있나요? 스마트 렌즈를 사용해서 상품의 사진을 찍으면 내가 찍은 이미지가 바지인지 치마인지 그리고 어떤 모양인지 등을 분석한 뒤, 모양과 색깔이 비슷한 상품을 검색해줍니다. 여기에도 인공지능 기술이 사용되는 데 그중에서도 기계학습 방법이 사용되고 있습니다. 기계학습을 통해 인공지능은 이미지 안에 있는 특징을 스스로 찾아낼 수 있습니다. 그 특징을 통해 이 이미지가 무엇인지, 비슷한 것은 무엇인지, 연관된 정보는 무엇인지 알아내어 어떤 이미지인지 분류할 수 있습니다.

이번 주제에서는 인공지능과 기계학습, 그리고 심층학습의 관계를 알아보고, 기계학습의 세 가지 학습 방법에 대해 공부하겠습니다. 인공지능이 이미지를 분류할 수 있도록 지도 학습하는 과정에 대해 알아보고, 엔트리의 이미지 모델 학습 기능을 이용해 모자 이미지를 인식하는 나만의 이미지 분류 모델을 만들어보겠습니다.

 


[인공지능 체험하기]

네이버 앱의 스마트 렌즈 기능을 직접 체험해봅시다. 어떤 인공지능 기술이 들어있을까요? 자유롭게 이야기해봅시다.



인공지능을 만드는 다양한 방법들
1. 점점 발전하는 인공지능

인공지능은 인간의 지능을 흉내를 낸 컴퓨터가 지능적인 행동을 할 수 있도록 하는 모든 것을 의미합니다. 인공 지능을 만드는 방법에는 여러 가지가 있습니다. 먼저 인공지능의 전통적인 방법으로는 사람의 경험적 지식을 활용하는 휴리스틱 탐색과 논리적 추론을 통해 만드는 전문가 시스템 등이 있습니다.

데이터로부터 학습하여 스스로 규칙을 찾아내는 ‘기계학습’ 역시 인공지능을 만드는 여러 가지 방법 중 하나입니다. 기계학습이란 사람이 학습을 계속하면서 점점 지능적으로 변해가는 것처럼 컴퓨터가 학습을 통해 점점 똑똑해지도록 만드는 방법입니다. 전통적인 인공지능이 사람의 지식을 흉내 내 만든 것이라면, 기계학습은 사람이 학습하는 것을 흉내 내었다고 할 수 있습니다. 기계학습이 전통적인 인공지능이 가지고 있던 한계를 극복하면서 최근 인공지능 분야가 큰 발전을 이루었습니다.

하지만 이러한 기계학습으로도 처음에는 이미지나 소리 데이터 등을 다루기 어려웠습니다. 그런데 기계학습의 일종인 심층학습(딥러닝)이라는 기술이 개발되면서 이미지나 소리와 같은 복잡한 데이터 속에서도 데이터의 특징을 찾아내어 좋은 성능을 가진 인공지능을 개발할 수 있게 되었습니다.


2. 인공지능과 기계학습, 심층학습

인공지능을 만드는 방법에는 여러 가지가 있습니다. 앞에서 살펴본 인공지능과 기계학습, 심층학습의 포함 관계를 생각하며 다음 빈칸을 채워봅시다.


 

우리는 그동안 인공지능이 무엇인지 알아보고, 어떤 것이 인공지능인지 배웠습니다. 인공지능은 인간의 지능을 흉내를 내 컴퓨터가 지능적인 행동을 할 수 있도록 하는 모든 것을 의미합니다. 인공지능을 만드는 방법에는 여러 가지가 있습니다. 사람의 경험적 지식을 활용하는 휴리스틱 탐색 기반 인공지능도 있고, 사람의 지식을 바탕으로 연역적 추론을 통해 인공지능을 만드는 전문가 시스템도 있죠.

이번 시간에는 인공지능의 다양한 영역 중 하나인 학습을 기반으로 하는 인공지능에 대해 알아보도록 하겠습니다. 여러분들은 새로운 것을 배우고 싶을 때 어떻게 하나요? 책을 읽거나 네이버에서 검색하면서 새로운 것들을 배우고 익히지 않나요? 이러한 과정을 우리는 학습한다고 합니다. 학습을 계속하면서 점점 지능적으로 변해 가는 것처럼 인공지능도 학습을 통해 지능을 가질 수 있습니다. 인공지능의 학습은 데이터를 통해서 이루어집니다. 학습에 필요한 데이터를 우리는 ‘학습 데이터’라고 부르고 인공지능이 데이터로부터 학습하여 스스로 규칙을 찾아내는 것을 ‘기계학습’이라고 합니다. 최근의 인공지능은 기계학습을 통해 큰 발전을 이루었습니다.

하지만 기존의 기계학습으로는 속성과 특징이 아주 복잡한 이미지나 소리 데이터 등을 다루기 어려웠습니다. 이에 심층학습(딥러닝)이라는 기술이 개발되었고, 복잡한 데이터 속에서도 데이터의 특징을 찾아내어 좋은 성능을 가진 인공 지능을 개발할 수 있게 되었습니다.


 기계학습의 학습방법

 


Q. 기계학습이 학습하는 방법에는 어떤 것이 있나요?

1. 지도학습(Supervised Learning)

지도학습은 다양한 데이터를 보여주고 이 데이터들이 어떤 것인지 정답을 미리 알려주며 학습하는 방법입니다. 어린아이에게 ‘빵’이 무엇인지 알려준다고 생각해봅시다. 슈크림 빵, 소시지 빵, 단팥 빵 등 다양한 빵의 예시를 보여주고 이런 것들을 ‘빵’이라고 알려줍니다. 이렇게 학습한 아이는 비슷하게 생긴 것을 보고 ‘빵’이라고 말할 것입니다. 지도학습도 이와 비슷하게 이루어집니다.

그림을 보며 자세히 알아보겠습니다. 강아지와 고양이 이미지를 보고 어떤 이미지인지 구분하는 인공지능을 만든다고 생각해봅시다. 이 인공지능을 만들기 위해서는 학습 데이터로 강아지와 고양이의 이미지 데이터가 다양하게 필요합니다. 그리고 학습에 사용하는 데이터가 강아지인지 고양이인지 알려주는 정답이 필요한데 이러한 정답을 ‘레이블(label)’ 또는 ‘클래스’ 라고 합니다. 이렇게 정답을 주면서 ‘이건 강아지야.’, ‘저건 고양이야’라고 가르쳐주며 학습시키는 것이 지도학습의 핵심입니다.


학습 과정에서 기계학습 모델은 ‘강아지’ 레이블에 해당하는 이미지 데이터 속에서 강아지만의 특징을 찾아냅니다. 마찬가지로 ‘고양이’ 레이블의 데이터 속에서는 고양이라고 구별할 수 있는 특징을 찾아냅니다. 즉, 기계 학습 모델은 ‘강아지’, ‘고양이’ 레이블이 있는 데이터를 보고 각각을 구분할 수 있는 특징을 스스로 찾아내어 학습합니다. 학습이 끝나면 이제 새로운 이미지 데이터를 주고 기계학습 모델이 잘 학습되었는지 확인합니다.


 

Q. 소프트웨어야 놀자 인공지능 개념영상을 보고 지도학습에 대해 더 알게 된 점을 정리해보세요.

(지도학습 개념영상 시청하기: https://url.kr/OpwTyE)

2. 비지도학습(Unsupervised Learning)

지도학습에서 강아지와 고양이라는 정답 레이블을 이용해 학습하는 반면, 비지도학습에서는 정답 레이블이 없는 데이터로 학습합니다. 비지도학습도 지도학습과 마찬가지로 학습 데이터 속에서 스스로 패턴을 발견합니다. 차이점은 지도학습은 정답이 있기 때문에 그것과 똑같아 지도록 학습하면 되지만, 비지도 학습은 정답이 없기 때문에 특성이 유사한 것끼리 그룹화를 시킵니다. 이렇게 비슷한 패턴을 가지고 있는 데이터들끼리 모아주는 것을 군집화라고 합니다.

 

Q. 소프트웨어야 인공지능 개념영상을 보고 비지도학습에 대해 더 알게 된 점을 정리해보세요.

(비지도학습 개념영상 시청하기 : https://url.kr/5AgRzD) 

3. 강화학습(Reinforcement Learning)

상이나 벌을 받아본 경험이 있나요? 우리는 살면서 여러 경험을 통해 어떤 행동을 할 때 상을 받고 반대로 어떤 행동을 했을 때 벌을 받는지 학습하게 됩니다. 그리고 상을 받는 상황을 최대화하고 벌을 받는 상황은 최소화 하려고 노력합니다. 이렇게 학습을 계속 반복 하다 보면 우리는 상을 받을 수 있는 최적의 행동을 하게 됩니다.  


 

 이러한 원리를 적용한 것이 강화학습입니다. 강화학습에서는 어떤 환경 안에서 컴퓨터가 현재의 상태를 인식하여 선택 가능한 행동들 중 보상을 최대화하는 방향으로 행동을 선택합니다. 몇 번의 시행착오를 통해 학습하다보면 컴퓨터는 보상을 최대한으로 많이 받을 수 있는 행동을 하게 됩니다. 예시를 통해 더 자세히 살펴보겠습니다.


오른쪽 위 그림은 벽돌 깨기 게임의 모습입니다. 벽돌 깨기 게임은 아래의 파란색 막대를 좌우로 움직여 빨간색 공을 튕겨 화면의 위에 있는 벽돌들을 많이 깨면 점수를 얻는 게임입니다. 공이 바닥에 떨어지면 실패한 것으로 게임이 종료됩니다. 강화학습을 이용하여 벽돌 깨기 게임을 하는 인공지능을 만든다고 생각해봅시다. 여기서 인공지능이 벽돌을 깨서 점수를 얻으면 상점을 주고 공을 바닥에 떨어트리면 벌점을 줍니다. 인공지능은 수많은 게임을 하며 시행착오를 겪고 어떻게 하면 점수를 많이 얻을 수 있는지 학습합니다. 이렇게 학습한 인공지능은 벽돌 깨기 게임을 효율적으로 할 수 있게 됩니다.

이번 시간에는 엔트리의 모델 학습하기 기능을 이용하여 이미지를 인식하고 분류해주는 나만의 지도학습 모델을 만들어보도록 하겠습니다.


Q. 소프트웨어야 인공지능 개념영상을 보고 강화학습에 대해 더 알게 된 점을 정리해보세요.

(강화학습 개념영상 시청하기 : https://url.kr/rGt9WQ)