[ AI 이야기]


AI, 실제 현장 적용에 걸림돌 많아…
‘전이 학습’ 활용하면 소량 추가 학습만으로 성능 확보 가능
‘다시 쓰고 바꿔 쓰자’…인공지능 재활용하기  [AI 이야기]
[한경비즈니스 칼럼=이주열 LG CNS AI빅데이터연구소장, 김명지 책임] 최신 기술을 소개하는 논문부터 모델 학습에 필요한 상세 코드까지 오픈 사이언스인 딥러닝은 누구나 접근할 수 있는 곳에 무료로 모든 자료가 공개돼 있다. 글로벌 톱 티어 학회에 소개된 논문은 순식간에 전 세계의 연구자들에 의해 블로그에 쉽게 재해석되며 유튜브 영상으로 만들어지고 깃허브에 올라오는 공식 코드와 모델은 누구나 이용하기 편리하도록 2차, 3차 패키징이 되곤 한다. 온라인 커뮤니티는 최신 트렌드를 소개하고 다양한 기사와 의견, 자신만의 참신한 인공지능(AI) 프로젝트를 소개하는 사람들로 매일 붐빈다.


하지만 이 수많은 자료들은 쉽고 편하게 잘 다져진 튜토리얼에 불과하다. AI를 공부할 때는 무엇이든 다 할 수 있을 것 같았는데 막상 해보려고 하면 왜 잘 안될까. 어느 기술 분야고 그렇지 않겠냐마는 특히나 딥러닝 기반의 AI는 기술을 습득할 때와 실제 현장에 적용할 때의 괴리가 큰 분야 중 하나다. 딥러닝 모델이 실생활의 문제를 해결하기 위해 적용될 때도 잘 동작할 것이라는 보장은 없다. 현실에는 다음과 같은 걸림돌이 있기 때문이다.


구체적이지 않으며 불명확한 태스크

AI를 막 접하기 시작한 대부분의 사람들은 AI에 대해 크게 기대한다. AI가 우리 삶의 문제의 모든 것을 해결해 줄 수 있을 것이라고 막연히 생각하는 것이다. AI의 특장점이나 개념적인 부분, 포장된 사례만 접했다면 무리한 요구 사항을 내걸기도 한다. 분명 AI는 삶의 많은 부분을 더 편리하게 만들어 줄 수 있겠지만 모든 것에 대한 근본적인 해결책은 아니다. 두루뭉술하고 막연한 요구 사항보다는 구체적이고 명확한 목표를 세우고 필요한 하위 기능을 쪼개 생각해야 한다.


예를 들어 고객이 다음과 같은 요구 사항을 제시했다고 하자.


회의실에 AI 스피커가 하나 있어 자동으로 회의록을 작성한 다음 이슈 사항만 주간 보고로 취합해 줬으면 합니다


이 요구 사항은 다음과 같은 구체적인 하위 기능으로 쪼개 볼 수 있다.


대부분의 고객은 AI 전문가가 아니기 때문에 요구 사항을 기능 단위로 쪼개기 어려운 경우가 많다. 어떤 기능들이 AI로 가능한지, 그중 어떤 것은 현실적으로 아직 상용화하기에 무리가 있을지, 어떤 부분은 굳이 AI가 아니어도 처리할 수 있는지 등은 기술을 깊이 이해하고 적용해 본 경험이 없는 사람이라면 쉽게 도출하기 어려운 내용이다. AI 사이언티스트와 AI 엔지니어는 기술에 대한 이해를 바탕으로 상세 기능을 나누고 각 목표 수준을 정의한 다음 전체를 아우르는 시스템 구성을 애플리케이션 레벨로 설계할 수 있어야 한다.


적은 데이터, 낮은 품질의 데이터

태스크가 구체적으로 정해졌다면 AI 모델을 학습시킬 차례다. 단순하면서도 정해진 패턴을 다루는 태스크라면 상관이 없지만 이미지나 텍스트같은 비정형 데이터를 다루거나 코드로 판단·예측 규칙을 명문화하기 어려운 태스크라면 딥러닝 기반의 AI 모델을 이용하는 것이 좋다. 딥러닝 모델 학습은 사람이 규칙을 지정하지 않는 대신 데이터를 통해 패턴을 학습해야 하는데 그 학습 방법의 특성상 양질의 다양한 데이터를 필요로 한다. 하지만 대부분은 데이터를 차곡차곡 모아 놓은 뒤 AI 관련 사업을 발주하는 곳은 드물고 보유한 데이터가 많다고 해도 학습 데이터로 활용하기에 부적격인 것이 많다.


그렇다고 학습 데이터를 마련하는 것부터 시작하자니 이 또한 쉽지 않다. 요즈음은 AI 학습용 데이터를 라벨링하고 전처리해 주는 크라우드 소싱 업체도 많이 생겼지만 그래도 여전히 데이터의 소스를 제공해야 한다. 예를 들어 공정품의 양품·불량 체크를 위해서는 직접 공정품 사진을 찍어 제공해야 한다. 이마저도 다량의 데이터를 구축하려면 비용이 많이 들어갈 수도 있고 회사의 내부 데이터를 다뤄야 하다 보니 데이터의 반출이 불가능해 외부 업체를 활용하기도 어렵다. AI 모델 개발자는 늘 모자란 데이터와 싸워야 한다.
‘다시 쓰고 바꿔 쓰자’…인공지능 재활용하기  [AI 이야기]
다른 도메인 환경

도메인 환경이 달라지는 것도 문제가 된다. 아무리 오버피팅을 피해 일반화한 모델이라고 해도 추론 환경이 달라지면 성능이 감소하기 마련이다.


동네에서 편의점을 운영 중인 A 씨는 아르바이트를 구하는 것이 어려워 야간 시간에는 무인 편의점으로 바꾸려고 한다. 이에 CCTV를 여러 대 설치해 계산하지 않고 나가는 손님이 발생하면 알림을 주도록 ‘AI 절도 감지 모델’을 만들기로 했다.


A 씨는 매장에서 다양한 절도 상황을 연출해 데이터를 만들고 모델을 학습시켰다. 감지 성능은 놀라웠다. 만득이의 모델은 한 달 동안 발생한 모든 절도 사건을 100% 검거했다. "이런 매장이 우리 가게뿐만이 아닐 텐데 이 모델을 다른 매장에 팔아 이용료를 받으면 나는 부자가 될 수 있겠군." A 씨는 해당 모델을 주변 편의점 점주들에게 팔았다. 하지만 결과는 참담했다. A 씨의 모델은 다른 편의점에서 전혀 절도를 감지하지 못했다. A 씨는 손해 배상을 하기 위해 자신의 매장을 내놓아야 했다.


A 씨가 간과한 것은 도메인 적응 문제(domain adaptation problem)다. 대부분의 딥러닝 모델은 동일한 기능을 수행하는 모델이라고 해도 추론 환경이 달라지면 제 기능을 수행하지 못한다. 다른 매장의 CCTV 화질, 밝기와 채도, 채광, 조명, 카메라 위치, 매장 내 크기, 선반 위치 등은 A 씨의 매장과 상이할 것이다. 이런 환경에서의 절도 행위는 모델이 학습한 적이 없기 때문에 제대로 검거하지 못하게 되는 것이다. A 씨의 편의점에서는 높은 검거율을 보였을지라도 이는 A 씨의 매장 환경에 한해서만 최적화돼 발휘된 성능이다. 다양한 편의점에서도 잘 작동하려면 다양한 편의점의 절도 데이터를 만들어 학습시켜야 한다. 또 다시 데이터 부족과 다양성 문제로 넘어가게 되는 것이다.


이처럼 하나의 AI 모델이 좋은 성능을 보인 전적이 있다고 해도 다른 환경에서 여전히 잘 작동한다는 보장을 할 수 없다. 열에 아홉은 데이터 부족으로 모델 학습에 고생하고 잘 만들어진 모델이라고 해도 또 다른 곳에서 잘될 것이라고 장담할 수도 없다. 성능 좋다는 AI 모델들은 다 이론적인 허상에 불과할까. 확장성 없이 매번 수만 건의 학습 데이터를 만드는 쳇바퀴를 반복해야 하는 것일까.


전이 학습 : 한 번 만든 인공지능 모델 재사용하기

‘전이 학습(transfer learning)’은 한 번 만들어진 딥러닝 모델을 재활용해 쓸 수 있는 기법이다. 비슷한 태스크를 다른 도메인에 적용할 때 그리고 그 태스크를 위한 학습 데이터가 부족한 경우 유용하게 쓰일 수 있다. 예를 들어 아래와 같은 다양한 경우 전이 학습을 적용해 볼 수 있다.


비슷한 경우에 대해 만들어 놓은 AI 모델이 있다면 다른 태스크 진행 시 밑바닥부터 모델을 만들 필요가 없다. 하지만 엄연히 환경이 다르고 데이터의 패턴이 다르기 때문에 그 모델을 그대로 활용해서는 좋은 성능이 나올 수 없다. 전이 학습은 하나의 모델이 이미 배워 놓은 지식을 잘 유지하면서도 새로운 태스크에 대해 필요한 지식을 추가로 습득할 수 있도록 한다. 이미 만들어 놓은 모델의 아키텍처를 새 태스크에 맞게 조금 수정하거나 추가하는 작업을 한 뒤 새로운 태스크에 대한 학습 데이터를 이어서 학습시킨다면 처음부터 학습한 모델보다 좋은 성능을 낼 수 있다. 새로운 학습 데이터가 기존만큼 많지 않은 환경에서도 말이다.


예를 들어 사과 농장의 의뢰를 받아 사과 사진으로 사과 품종을 자동 분류하는 과제를 수행한다고 가정하자. 하지만 확보한 품종별 사과 사진이 몇 장 없는 어려운 상황이다. 이대로 모델 A를 만들어 학습한다면 몇 장 없는 이미지에서 충분히 특징을 학습하지 못해 분류를 제대로 수행하지 못하게 된다. 하지만 약간 갈래는 다른 듯하지만 일반 식물의 종류를 구분하는 AI 모델 B를 만든 적은 있다. 만들어 둔 모델에 어떻게든 약간의 수정만으로 사과도 잘 분류하게 할 수 없을까.


우선 모델 B의 마지막 부분은 일반 식물을 분류하도록 돼 있을 테니 사과 품종 카테고리 수에 맞게 분류할 수 있도록 인공 신경망을 조금 수정해 줘야 한다. 이후 주어진 소량의 사과 이미지 데이터를 여기에 추가로 학습시켜 새로운 모델 B'를 만들어 낸다. 모델 B는 기존에 ‘식물 이미지’ 데이터의 일반적인 특징(색상·각도·선·열매·잎사귀 등)을 학습한 적이 있으니 전이 학습을 적용한 모델 B'가 처음부터 소량의 사과만 학습한 모델 B보다 더 적은 학습량으로 더 많은 지식을 가질 수 있는 것이다.


치명적인 기억 상실(catastrophic forgetting)

태스크에 맞게 수정해 추가로 학습하면 모든 것이 좋아질 듯하지만 이것이 만능 해결책은 아니다. 딥러닝 모델이 새로운 정보를 학습할 때 이전에 배웠던 정보를 완전히 잊어버리는 경향이 발생하곤 하는데 이를 치명적인 기억 상실(catastrophic forgetting)이라고 한다. 사과 분류 모델의 예시로 돌아가 보자. 모델 B'가 몇 장 없는 사과 데이터에 대해 너무 여러 번 반복 학습을 하다 보면 모델 B가 이전에 학습했던 기본적인 식물 이미지의 특징들을 잊어버리게 될 수 있다. 전이(transfer)가 필요 이상으로 과하게 일어났다고 볼 수 있다. 치명적 기억 상실이 발생하지 않도록 하면서도 새로운 데이터를 잘 배우기 위해서는 전이 학습을 너무 과하게 시키지 않는 것이 좋다.
‘다시 쓰고 바꿔 쓰자’…인공지능 재활용하기  [AI 이야기]
전이 학습 모델 이용

전이 학습은 보통 오픈 도메인 데이터에 대해 만들어 놓은 모델을 특정 도메인의 태스크에 적용하는 식으로 활용한다. 일반적인 내용을 두루두루 넓게 학습해 놓은 모델의 사전 지식을 구체적인 하위 영역에 활용하는 셈이다.


1) 컴퓨터 비전에서의 전이 학습

이미지를 입력 데이터로 처리하는 경우라면 이미지넷(ImageNet) 데이터로 학습된 모델에 전이 학습을 적용해 좋은 성능을 낼 수 있다. 이미지넷은 무려 120만 장의 학습 이미지를 1000개의 카테고리로 분류하는 과제이기 때문에 여기에 대해 학습한 모델은 이미지를 꽤나 잘 배웠다고 볼 수 있다. 특히 이미지넷 데이터 인식 대회에서 우승했던 GoogleNet(2014년 우승)이나 ResNet(2015년 우승) 등은 지금까지도 널리 활용되는 기본 모델이다.


이 밖에 다양한 특장점을 지닌 모델들의 아키텍처가 전부 논문으로 공개돼 있고 그중 대부분은 깃헙 등에 학습된 모델이 오픈도 있다. 이미지 처리를 하는 과제를 진행 중이라면 밑바닥부터 학습시키기보다 이런 자료를 활용해 전이 학습하는 것이 좋다.
‘다시 쓰고 바꿔 쓰자’…인공지능 재활용하기  [AI 이야기]
2) 자연어 이해(NLU)에서의 전이 학습

텍스트는 특히 함축적인 데이터 타입이기 때문에 전이 학습을 활용하는 것이 매우 효과적이다. 위키백과와 같은 방대하고 일반적인 지식에 대해서 학습한 적이 있는 모델이라면 일반적인 어휘의 의미를 대강 알고 있는 모델이라고 볼 수 있다. 이런 모델이 공개돼 있다면 전이 학습에 활용하는 것이 좋다.


대표적 자연어 이해 태스크인 자연어 질의응답은 AI가 수행하기 상당히 어렵고 복잡한 과제 중 하나다. 따라서 다량의 학습 데이터를 필요로 한다. LG CNS가 만들어 공개한 KorQuAD(Korean Question Answering Dataset)는 한국어 위키백과를 소스로 한 오픈 도메인 질의응답 데이터인데, 이러한 데이터로 학습해 둔 모델이 있다면 콜센터나 챗봇 등 특정 고객사의 질의응답 데이터가 부족해도 상대적으로 좋은 성능을 얻을 수 있다.
‘다시 쓰고 바꿔 쓰자’…인공지능 재활용하기  [AI 이야기]
딥러닝은 데이터로부터 패턴을 학습해 의사 결정하는 모델이기 때문에 양질의 데이터가 충분한 환경이라면 아무 문제가 없다. 하지만 현실적으로 접근할 때는 데이터가 부족한 상황에 놓이는 경우가 대부분이다. 전이 학습은 과거 경험에 이어 소량의 데이터 추가 학습만으로 좋은 성능을 얻게 할 수 있는 AI 재활용 기법이다. AI 공부를 하려고 이론을 배우거나 튜토리얼 코드를 실습할 때 필요한 것이 아니라 현장을 위한 기술이다. 그래서 카테고리 분류(classification)와 같이 어느 정도 기술 수준이 성숙된 과제에서는 전이 학습을 얼마나 잘 적용할 수 있느냐가 인기 있는 후속 연구 주제다. AI 모델을 제대로 학습시키기 어려운 만큼 한 번 만들어 놓았다면 알뜰살뜰하게 끝까지 잘 쓸 수 있어야 한다.

[본 기사는 한경비즈니스 제 1304호(2020.11.23 ~ 2020.11.29) 기사입니다.]