Probabilistic Programming for Advancing Machine Learning (PPAML) - by Dr. Suresh Jagannathan

Machine learning – the ability of computers to understand data, manage results and infer insights from uncertain information – is the force behind many recent revolutions in computing. Email spam filters, smartphone personal assistants and self-driving vehicles are all based on research advances in machine learning. Unfortunately, even as the demand for these capabilities is accelerating, every new application requires a Herculean effort. Teams of hard-to-find experts must build expensive, custom tools that are often painfully slow and can perform unpredictably against large, complex data sets.

The Probabilistic Programming for Advancing Machine Learning (PPAML) program aims to address these challenges. Probabilistic programming is a new programming paradigm for managing uncertain information. Using probabilistic programming languages, PPAML seeks to greatly increase the number of people who can successfully build machine learning applications and make machine learning experts radically more effective. Moreover, the program seeks to create more economical, robust and powerful applications that need less data to produce more accurate results – features inconceivable with today’s technology.

PPAML has five specific tactical objectives:

Shorten machine learning model code to make models faster to write and easier to understand
Reduce development time and cost to encourage experimentation
Facilitate the construction of more sophisticated models that incorporate rich domain knowledge and separate queries from underlying code
Reduce the level of expertise necessary to build machine learning applications
Support the construction of integrated models across a wide variety of domains and tool types
If successful, PPAML could help revolutionize machine learning capabilities in fields from Intelligence, Surveillance and Reconnaissance (ISR) and Natural Language Processing (NLP) to predictive analytics and cybersecurity. The program would help free people wishing to build useful machine learning applications from needing to be experts in machine learning as well as their own areas of interest. Through new, reusable tools and new probabilistic programming languages specifically tailored to probabilistic inference, PPAML aims to decisively reduce the current barriers to machine learning and foster a boom in innovation, productivity and effectiveness.

PPAML started in March 2013 and is scheduled to run 46 months, with three phases of activity through 2017. The PPAML Broad Agency Announcement (BAA) provides detailed information about the program’s objectives and the specific capabilities it seeks. Successful solutions will likely involve contributions from many areas, including statistics and probabilistic modeling, approximation algorithms, machine learning, programming languages, program analysis, compilers, high-performance software and parallel and distributed computing.

기계학습은 최근의 많은 컴퓨터 능력의 진화를 불러왔다. 이메일 스팸 필터, 스마트폰 내의 비서, 그리고 자율주행 자동차까지 전부 기계학습 발전에 기반을 두고 있다. 하지만 이렇게 급증하는 기계학습에 대한 수요에도 불구하고, 기계학습의 적용은 엄청나게 힘든 일이다. 이는 전문가들을 찾기 힘들고 개발하는 비용이 많이 들며, 개발한 도구 역시 굉장히 느리게 작동하는데 크고 복잡한 데이터에 대해서는 예측하기도 힘들기 때문이다.

PPAML은 이러한 문제점을 다룬다. 확률적 프로그래밍은 불확실한 정보를 다루는 새로운 프로그래밍 방법이다. 확률적 프로그래밍 언어를 사용한 PPAML은 기계학습을 설계할 수 있는 사람들을 늘리고, 또 기계학습 전문가들에게도 더 효율적인 설계를 가능하게 한다. 게다가 PPAML은 적은 데이터로도 더 정확한 결과를 뽑아낼 수 있는 새로운 모델을 제시한다.

PPAML의 다섯가지 전략적 목표는 다음과 같다
1) 기계학습 코드를 단축시켜 작성하고 이해하기 쉽게 함
2) 개발 시간과 비용을 줄여 실험에 더 투자할 수 있게 함
3) 풍부한 도메인을 포함할 수 있고, 코드와 query를 분리할 수 있도록 하는 더 정교한 모델을 만듦
4) 기계학습 설계에 필요로 하는 전문성을 낮춤
5) 여러 분야를 통함한 모델을 설계함

만약 성공한다면 PPAML은 Intelligence, Surveillance and Reconnaissance (ISR), Natural Language Processing (NLP) 부터 예측분석, 사이버보안에 이르기 까지 많은 분야의 기계학습 능력을 향상시킬 수 있다. 또 기계학습 전문가가 되고자 하는 사람들에게도 큰 도움이 될 것이다. 재사용 가능한 새로운 툴과 확률적 추론을 가능하게 하는 확률적 프로그래밍 언어를 통해서 PPAML은 기계학습의 진입장벽을 허물고 생산성고 효율성의 혁명을 가져올 것이다.

연구기간: 2013년도부터 46개월