범용 언어 Gen은 컴퓨터 비전, 로봇공학, 통계학 등에서 폭넓게 사용된다. 일반 목적 언어(General-purpose language)의 하나로 인공지능(AI) 초심자들과 전문가들 모두 활용 가능하다.

이번 주 ACM FCRC 2019 ‘프로그래밍 언어 설계 및 구현 컨퍼런스(Programming Language Design and Implementation conference, PLDI)’에서 발표된 논문(Gen: a general-purpose probabilistic programming system with programmable inference)에서 MIT 연구원들은 ‘Gen’이라는 새로운 확률론적 프로그래밍 시스템을 설명했다.

사용자는 수학을 활용하거나 어려운 코딩 없이 컴퓨터 비전, 로봇공학, 통계학 등 AI 기법이 적용되는 여러 분야의 모델과 알고리즘을 작성 가능하다. Gen은 또한 전문 연구자들이 이전에는 불가능했던 정교한 모델과 추론 알고리즘(예측 작업에 사용)을 작성할 수 있도록 한다.

연구팀은 논문에서 짧은 Gen프로그램이 3D 신체 포즈, 자율 시스템에 응용되는 고난이도 컴퓨터-비전 추론 과제, 인간-기계 상호작용, 증강 현실 등을 유추할 수 있다는 것을 증명했다. 이 프로그램 기반에는 그래픽 렌더링, 딥러닝 및 확률 시뮬레이션 유형을 수행하는 구성 요소가 포함됐다. 이러한 다양한 기법의 조합은 일부 연구자들에 의해 개발된 이전 시스템보다 이 과제에 대한 정확도와 속도를 향상시킨다.

단순성 때문에 자동화 등 일부 사례에서 연구자들은 Gen이 초보자부터 전문가에 이르기까지 누구나 쉽게 사용할 수 있다고 말한다.

MIT 전기공학 및 컴퓨터과학과 박사과정인 제1저자 마르코 쿠수마노-티오너(Marco Cusumano-Towner)는 “이 작업의 한 가지 동기는 컴퓨터 과학이나 수학에 대한 전문 지식이 적은 사람들이 자동화된 AI를 더 쉽게 접근할 수 있도록 하는 것”이라며 “우리는 또한 생산성을 높이려 하며 전문가들이 AI 시스템을 빠르게 반복하고 프로토타입을 더 쉽게 만들수 있음을 의미한다”고 말했다.

연구진은 또 다른 Gen 프로그램을 사용해 데이터 분석을 단순화하는 Gen의 능력을 입증했다. Gen은 데이터에서 기본 패턴을 분석, 해석 및 예측하기 위해 전문가에 의해 일반적으로 사용되는 정교한 통계 모델을 자동으로 생성한다. 그것은 사용자들이 금융 동향, 비행기 여행, 투표 패턴, 그리고 질병의 확산에 대한 통찰력을 얻기 위해 몇 줄의 코드를 작성하는 연구자들의 이전 작업에 바탕을 두고 있다. 이는 정확한 예측을 위해 많은 코딩이 필요했던 이전의 시스템과는 다르다.

확률론적 컴퓨팅 프로젝트를 운영하는 뇌인지과학 연구원 비카시 만싱카(Vikash K. Mansinghka)는 “Gen은 컴퓨터 비전 및 데이터 과학에서 매우 다른 유형의 예를 다루고 최첨단 성능을 제공할 수 있을 정도로 유연하고, 자동화된 효율성이 뛰어난 최초의 시스템”이라고 말했다.

구글은 2015년 초보자와 전문가가 수학에 크게 의지하지 않아도 기계학습(machine learning) 시스템을 자동으로 만들 수 있도록 도와주는 API(응용프로그램 프로그래밍 인터페이스) 오픈소스 라이브러리 텐서플로우(TensorFlow)를 출시했다. 현재 널리 사용되고 있는 이 플랫폼은 AI의 일부 측면을 쉽게 접근하는 데 도움을 주고 있다. 비록 자동화되고 효율적이기는 하지만 전반적으로 AI 중 제한적인 딥러닝 모델에 초점을 맞추고 있다.

그러나 통계적, 확률론적 모델과 시뮬레이션 엔진 등 많은 다른 AI 기술들은 오늘날 이용 가능하다. 일부 다른 확률론적 프로그래밍 시스템은 여러 종류의 AI기술을 다룰 만큼 유연하지만 비효율적으로 운영된다.

연구원들은 자동화, 유연성, 속도 등 세계 최고 수준의 기술을 하나로 결합하려고 했다. 만싱카는 “만약 그렇게 한다면, 우리는 텐서플로우가 심층학습을 위해 했던 것처럼 훨씬 더 광범위한 모델링과 추론 알고리즘을 민주화하는데 도움을 줄 수 있을 것”이라고 말했다.

확률론적 AI에서는 추론 알고리즘이 데이터에 대한 연산을 수행하고 새로운 데이터를 기반으로 지속적으로 확률을 재조정해 예측한다. 그렇게 하면 결국 새로운 데이터에 대한 예측 방법을 설명하는 모델이 생성된다.

이전의 확률론적 프로그래밍 시스템인 처치(Church)에서 사용된 개념을 구축한 연구원들은 MIT에서 개발된 범용 프로그래밍 언어인 줄리아(Julia)에 몇 가지 사용자 정의 모델링 언어를 통합한다. 각 모델링 언어는 다른 유형의 AI 모델링 접근에 최적화돼 더 다목적적이다. Gen은 또한 최적화, 가변적 추론, 특정 확률론적 방법 및 심층 학습(Deep Learning)과 같은 다양한 접근방식을 사용해 추론 작업에서 높은 수준의 인프라를 제공한다. 연구원들은 이를 효율적으로 실행하기 위해 몇 가지 수정을 추가했다.

사용자들은 이미 인공지능 연구를 위해 Gen을 활용할 방법을 찾고 있다. 인텔은 MIT와 협력해 로봇 및 증강현실 시스템에 사용되는 심도 감지 카메라에서 3D 포즈 추정치를 사용하고 있다. MIT 링컨 연구소는 인도주의적 구호 및 재난 대응을 위한 항공로봇 분야에서 Gen 응용 프로그램에 협력하고 있다.

Gen은 ‘MIT Quest for Intelligence’ AI 프로젝트에도 이용되고 있다. Gen은 ‘MIT-IBM Watson AI Lab’ 프로젝트의 중심이다. 18개월 어린이 수준에서 인간 상식을 모델링하는 것을 목표로 하는 미국 국방부(DoD)의 첨단 연구 에이전시가 진행 중인 머신 커먼센스(Machine Common Sense) 프로젝트도 있다.

만싱카는 이 프로젝트의 핵심인물 중 한 명으로 “젠(Gen)을 활용하면 초기 연구자가 여러 가지 AI 기술을 통합하기 쉽다”고 말했다.

이 연구에 참여하지 않은 우버 AI 수석과학자 겸 케임브리지대 주빈 가흐라마니(Zoubin Ghahramani) 교수는 “확률적 프로그래밍은 심층학습 출현 이후 AI 변방에서 가장 유망한 분야 중 하나다. Gen은 이 분야에서 상당한 진보를 나타내며 확률론적 추론에 기초한 AI 시스템의 확장 가능하고 실용적인 구현에 기여할 것”이라고 MIT리뷰 인터뷰에서 밝혔다.

피터 노빅(Peter Norvig) 구글 리서치디렉터(director of research at Google)는 “Gen은 문제 해결자가 확률론적 프로그래밍을 사용할 수 있어 문제에 대해 보다 원칙적인 접근법을 갖도록 허용하지만 확률론적 프로그래밍 시스템의 설계자가 선택하는 것에 제한되지는 않는다”고 말했다.

그는 “일반 목적 프로그래밍 언어는 프로그래머가 작업을 더 쉽게 할 수 있도록 하고 프로그래머가 새로운 문제를 효율적으로 해결할 수 있도록 해주기 때문에 성공적이었다. Gen은 확률론적 프로그래밍에도 동일하다”고 덧붙였다.

Gen 소스코드는 공개적으로 이용가능하며 스트레인지 루프(Strange Loop)과 줄리아콘(JuliaCon) 등 오픈소스 개발자 컨퍼런스에서 제공될 예정이다. 이 연구는 부분적으로 DARPA서 지원을 받았다.