강승우 | 위데이터랩 AI 연구소장
강승우 | 위데이터랩 AI 연구소장

봄에 피는 벚꽃과 매화는 언뜻 봐서는 유사해 보이지만, 자세히 살펴보면 긴 꽃자루를 가진 것이 벚꽃이고 이에 비해 매화는 가지에 딱 붙어있다는 것을 통해 둘을 구분할 수 있다. 이처럼 차이점과 유사점을 찾는 관찰 능력은 새로운 지식을 배우는 기반이 된다.

벚꽃과 매화의 차이(출처: pann.nate.com)
벚꽃과 매화의 차이(출처: pann.nate.com)

유아 교육에 사용되는 ‘숨은 그림 찾기’ 놀이는 관찰력을 기르기 위한 것이다. 숨은 그림 찾기는 특정 그림 내에 숨겨진 객체를 찾는 데 초점을 맞추고 있다. 이를 위해서는 기존에 본 적이 없는 새로운 그림에서도 객체를 인식하고 식별할 수 있어야 한다. 몇 가지 예시를 보고 객체의 특징을 파악해 새로운 예시에서도 객체를 인식하고 식별할 수 있도록 일반화하는 능력이 요구되는 것이다.

숨은 그림 찾기는 ‘지식’이라는 물고기를 주는 것이 아니라, ‘지식’이라는 물고기를 잡는 지식을 얻고자 하는 것이다.

인공지능 훈련에서도 마찬가지로 지식을 배우는 법을 가르치려고 시도하는 경우가 있다. 인공지능 모델 학습에는 매우 많은 데이터가 필요하다. 그런데, ‘퓨 샷 러닝(Few-shot learning)’이라 부르는 방법은 적은 수의 샘플로 새로운 분류 문제를 학습하는 기술이다. 이를 위해서는 적은 수의 예시를 보고 모델이 새로운 입력에 대해 적절한 출력을 만들어야 한다. 특별히 1개의 예시만으로 인공지능 모델을 학습하는 것을 ‘원 샷 러닝(One Shot Learning)’, 그리고 특정 목적에 대한 예시 없이 인공지능 모델이 적절한 답을 내는 것을 ‘제로 샷 러닝(Zero Shot Learning)’ 이라고 부른다.

하나를 가르치면 열을 아는 ‘원 샷 러닝’

일반적으로 인공지능 모델은 훈련되지 않은 이미지를 판별할 수는 없다. 예를 들어서 ‘수달(Otter)’의 이미지를 훈련하지 않은 인공지능에게 다음의 수달 사진을 주고, 어떤 동물인지 맞춰 얘기하라고 하면 정답을 말할 수는 없다.

수달의 사진
수달의 사진

다양한 동물 사진에 대해 훈련된 인공지능이라고 하더라도 ‘수달’이라는 이름을 알지 못하기 때문에 이를 맞출 수는 없다.

훈련되지 않은 동물에 대한 추가 정보(출처: zzaebok.github.com)
훈련되지 않은 동물에 대한 추가 정보(출처: zzaebok.github.com)

하지만 여러 동물의 사진을 제시하고, 이 예시 중에서 어떤 동물과 가장 비슷한 지를 묻는다면 어떻게 될까? ‘퓨 샷 러닝(Few Shot Learning)’은 이처럼 인공지능 훈련에 사용되지 않은 판별 대상에 대해 한 개 혹은 몇 개의 예시를 가지고 가장 비슷한 대상을 찾아내는 것을 의미한다.

유사한 이미지를 찾는 작업은 인간에게는 간단하지만, 컴퓨터에게는 쉽지 않은 일이다(참고로, 두 그림의 다른 부분을 찾는 것은 컴퓨터에게는 매우 쉽다). 이처럼 유사한 이미지를 찾는 능력을 인공지능 모델에 심기 위해 다양한 방법을 시도하고 있다.

대표적인 방법은 판별하려는 이미지와 예시 이미지의 특징을 잘 표현하는 숫자(일반적으로 [0.1, 0.3, …. 0.7]과 같은 다차원 벡터)를 구하고, 그들 간의 거리를 구한다. 그리고, 예시 중에서 가장 가까운 거리에 있는 것으로 판별하는 방법이다.

특징 공간(출처: Shusen Wang 유튜브)
특징 공간(출처: Shusen Wang 유튜브)

이미지의 특징을 잘 표현하는 벡터로 구성되는 공간을 ‘특징 공간(feature space)’ 혹은 ‘잠재 공간(Latent Space)’이라고 부른다.

잘 훈련된 퓨샷 러닝 인공지능 모델은 한 장의 예시 이미지 만으로도 판별 대상을 구분할 수 있다. 또한 판별 대상 예시 1개를 주면 자세나 색상, 위치가 변해도 판별할 수 있다.

하나를 가르치면 열을 알게 되는 것이다.

가르치지 않은 것을 아는 챗GPT

언어를 다루는 인공지능 모델에서도 퓨샷 러닝이 가능하다. 예를 들어, 인공지능에게 ‘소지품 분실’, ‘교통 정체’에 대한 문장을 중요한 정보로, ‘정보 문의’나 ‘할인 요청’ 등의 문장을 중요하지 않은 정보로 분류한 예시를 제공하자. 그리고, ‘집이 물에 잠겼다’는 문장에 대한 중요도 판별을 요청하는 것이다.

이 또한 각 문장을 ‘임베딩(embedding)’이라는 과정을 통해 의미를 표현할 수 있는 숫자(특징 벡터 혹은 잠재 벡터)로 만들고 그간의 거리 계산을 통해 판별할 수 있다.

언어에 대한 퓨샷 러닝(출처: chat.openai.com)
언어에 대한 퓨샷 러닝(출처: chat.openai.com)

최근 인기를 끌고 있는 챗GPT(ChatGPT)는 대표적인 ‘퓨샷 러닝’ 인공지능 모델이다. 많은 양의 텍스트 데이터를 학습한 챗GPT는 훈련되지 않은 영역에 대해서도 어느 정도 신뢰할 만한 정보를 생성한다.

예를 들어, ‘숨은 그림 찾기와 퓨샷 러닝의 유사점’이란 부분에 대해 챗GPT 훈련받지 않았을 것으로 예상되지만, 이에 대한 질문을 했을 때 ChatGPT는 논리적이고 정확한 답변을 제시하는 것을 확인할 수 있다. 이는 마치 세상의 거의 모든 책을 읽어 버린 인공지능 로봇을 상대하는 느낌을 줄 수도 있을 것이다.

‘숨은 그림 찾기와 퓨샷 러닝의 유사점’에 대한 챗GPT의 답변
‘숨은 그림 찾기와 퓨샷 러닝의 유사점’에 대한 챗GPT의 답변

 

필자 강승우 위데이터랩 인공지능연구소장 겸 부사장은 펜타 컴퓨터를 거쳐 BEA, Oracle에서 최고 기술 아키텍트로서 기업의 IT 시스템 문제가 있는 곳의 해결사의 역할을 했다. 글로벌에 통하는 한국 소프트웨어 개발에 대한 열정으로 S전자 AWS 이벤트 로그 분석을 통한 이상징후 탐지, R사의 건축물 균열 탐지 등의 머신러닝 프로젝트를 진행했다. 현재는 딥러닝을 이용한 소프트웨어 취약점 탐지 자동화 연구와 머신러닝과 딥러닝강의를 진행하고 있으며, 비즈니스화에도 노력을 기울이고 있다. 최근 저서로 '머신러닝 배웠으니 활용해볼까요?'가 있다.

(*이 칼럼은 GTT KOREA의 편집 방향과 다를 수 있습니다.)

관련기사

저작권자 © 지티티코리아 무단전재 및 재배포 금지