brunch

You can make anything
by writing

C.S.Lewis

by 명연재 Mar 21. 2022

유사한 이미지를 찾는 인공지능

인공지능에는 어떤 지능이_#1

'발가락이 닮았다' 김동인의 단편 소설이다. 고등학교 어느 때쯤인가 읽은 기억이 있다. 세세한 내용은 기억이  난다. 태어난 아이가 친자인지 걱정하는 사람이 있고, 옆에 있던 사람이 한마디 말을 내뱉는다.


"발가락뿐 아니라, 얼굴도 은 데가 있"


작년 가을부터 진행하는 AI 프로젝트가 하나 있다. 어떤 상품 이미지를 올리면 유사한 이미지 AI 추천해 주어야 하는 모델을 만드는 일이다. 네이버에 보면 쇼핑 렌즈라는 것이 있다. 비슷한  만든다고 보면 된다. (한번 시도해 보시길 추천한다.)


네이버나 구글 같은 검색엔진은 사용자가 궁금해하는 몇몇 단어로 구성된 키워드를 판단해서 관련(relevant) 정보가 있는 사이트순위 정보를 제공한다. 좋은 검색엔진이란 뭘까? 관련성이 높은 사이트를 앞쪽에 배치하여 제공하는 것이 아마도 성능의 기준이  듯하다. 사용자의 소중한 검색 시간을 줄여주니 말이다.


이미지(image)에서 유사하다는 건 어떻게 정의할 수 있을까? (사실 이것이 이번 프로젝트의 본질적인 질문이다.)


요즘 많이 사용되는 CNN이라고 불리는 합성곱 신경망 계열을 이용하면 웬만한 이미지 분류 문제는 좋은 성능으로 문제를 해결할 수 있다. 2년 전에 H사의 프로젝트를 수행했다. 내심 걱정을 했는데, 훌륭한 성과로 프로젝트가 잘 마무리 됐다.(https://www.sentv.co.kr/news/view/571125)


제안을 하던 초기에는 이런저런 아이디어가 넘쳐 났다. 주어진 이미지의 색깔, 전체적인 모양, 질감, 구조적인 특징 등을 잘 고려하면 아주 쉽게 문제를 해결할 수 있을 듯했다.


'어쩌면 일반화된 솔루션을 찾을 수도 있겠구나'  


자만이었다. 분류 문제의 경우 대상이 명확한 특징을 가지면 가질수록 문제는 쉽게 풀리고 높은 성능이 담보된다. (개와 고양이가 가지는 이미지 특징을 떠올리면 쉽게 이해야  것이다.) 하지만 어떤 이미지가 유사하다 또는 비슷하다는 것은 말처럼 한마디로 정의하기가 쉽지 않다. 대단히 주관적인 영역이며, 단순한 일반화의 논리가 먹히기는 더욱 어렵다.


사람을 볼 때 어떻게 보는가? 전체적인 모습도 있지만 부분 부분 특징이 중요한 경우도 많다. 유사하다는 문제에 전체적인 유사성과 부분과 지역(local)적인 특징 부분이 혼재되면 문제는 더 복잡해진다. '나는 키도 커야 하지만 쌍꺼풀 있는 얼굴이 제일 중요해' 뭐 이런 상황에 해당된다.


AI 무언가를 만들면 요술 방망이처럼 생각하는 사람들이 많다. 물론 정밀하게 디자인하면 여러 가지 요소를 세밀하게 고려한 AI 모델을 만들 수도 있다. 그렇지만 사공이 많으면 배가 산으로 가듯이, AI에서 개별성과 특수한 상황이 너무 고려되면 모델을 망치는 경우도 많다.


'어쩌면 산으로 가겠는데, 어떡하지?'


유형이 다양하다 보니 개별적인 특수성을 고려하면 AI 모델 걷잡을  없이 복잡해질 듯했다. 이런 경우는 개발하는 것도 문제지만 나중에 유지보수도  부담이 된다. 분석이던 모델이던 결과와 성능이 훌륭하면 간단한 것이 답이 되는  맞다. 우선 원칙과 기준이 되는 모델을  만들어서 강건해지면 부수적인 특수성을 그때 다시 고민하면 된다.


결단을 내려야 했다. 이미지가 가지는 다양한 특징을 폭넓게 고려하고, 누구라도 납득할  있는 기준을 결합하자. 이미지 특징 추출과 유사이미지 재순서(re-ranking)결합하는 방식으로 AI 아키텍처를 재설계했다. (아래 이미지 참조)


이제 훈련을 수행하면서 실험 결과를 테스트하고 있다. 얼추 모델이 결과를 내는데, 미세하게 조정해야 할 것이 많다. 예를 들면 어디까지의 이미지는 유사하고 어디까지는 유사하지 않다고 하는 주관적인 기준을 백분율 같은 수치로 결정해야 한다. AI에서 이런 영역을 한계점(threshold)이라 한다. 이런 미세 조정을 아키텍처라고 부르는 단계 단계마다를 수행해서 이음매를 붙여야 전체 완성품이 된다.


항아리를 올렸을 때(query), AI가 추천한 유사 이미지

상기 이미지는 육각형 형태의 항아리 모양의 이미지를 올렸을 때, AI 추천한 유사한 이미지의 결과이다. 이런 이미지 이외에 별의 별 다양한 모양이 많다. 길쭉한 사각형, 정사각형, 마름모, 아래가 좁은 마름모, 어깨가 둥근 사각형 등등.


현재 목표는 수백 수천번 수행했을 때, 대략 85%의 정확도가 목표다.


'이미지의 전체 모양이 닮아야 한다. 발가락만 닮으면 안 된다.'


최종 테스트까지 앞으로 한 몇 주 남았다. 몇몇 대표 유형을 정리해서 실험을 하고 결과를 분석하려고 한다. 명확한 성능의 기준이 있으면 결과물에 대해 상호 납득하기가 좋다. 명백하기 때문이다. 하지만 AI의 I는 지능(intelligence)인데, 그러다 보니 애매한 구석도 종종 생긴다. AI에 대한 기대가 더 그렇기도 하다.


호호야, 살다 보면 수학 공식처럼 분명한 정답도 있지만, 서로 합의하며 조정하고 그려가야 하는 문제도 있단다. 어쩌면 전자보다는 후자가 훨씬 많은 것이 우리가 사는 실제 인생의 모습이 아닌가 싶구나. 그래서 늘 뜻대로 안 되고 계획은 수정되고...


p.s. 요 몇 달간은 글쓰기가 무척 싫어졌다. 내가 뭐라고? 아무튼 그랬다. 그러다가 내가 뭐라고를 다시 생각해 봤다. 뭐 좋은 의도, 조금이라도 세상에 도움이 되는 일이라면 그냥 하면 되는 거였다. 거기에 내가 뭐라고는 불필요한 질문이 아닌지?










작가의 이전글 인생 성공 부스터샷
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari