2018.01.29

AI 와 딥러닝의 다음 단계··· 개발자를 위한 '심층 강화 학습' 가이드

James Kobielus | InfoWorld
강화 학습(Reinforcement learning)은 인공 지능 기술 분야에서 일종의 틈새 시장으로 분류됐었다. 그러나 지난 몇 년 동안 점차 많은 AI 관련 이니셔티브에서 더욱 중요하고 큰 역할을 맡기 시작했다. 특히 맥락적 환경에서 동작하는 가상 에이전트의 최적 행위 도출에 유용하게 쓰이고 있다.

시행착오(trial-and-error) 방식으로 알고리즘 보상 함수를 극대화하는 강화 학습은, 이 밖에도 IT 운영 관리, 에너지, 헬스케어, 상업, 금융, 교통 등의 분야에서 적응적 통제(adaptive-control) 및 멀티에이전트 자동화 애플리케이션 등에 적합하다. 또한 전통적인 AI 강세 분야(로보틱스, 게이밍, 시뮬레이션 등)뿐 아니라 새로운 AI 솔루션 분야인 엣지 애널리틱스(edge analytics), 자연어 처리, 기계 통역, 컴퓨터 비전, 그리고 디지털 어시스턴트 등에서도 AI의 교육에 널리 사용되고 있다.

한편 강화 학습 기술은 사물 인터넷 기술의 자동화 엣지 애플리케이션(autonomous edge application) 개발의 근본이 되기도 한다. 산업, 교통, 헬스케어, 소비자 애플리케이션 등, 엣지 애플리케이션 개발의 상당 부분에 AI 기술을 적용한 로보틱스가 관여하고 있는데, 이러한 로보틱스 기술은 다양한 동적 환경 상황에서 맥락적 자율성을 가지고 행동할 수 있기 때문이다.



강화 학습의 작동 기전
여러 분야들에 활용되는 엣지 디바이스의 AI 브레인은 본질적으로 강화 학습 기술에 의존할 수밖에 없다. 왜냐하면 기존의 ‘기반 진실(ground truth)’ 교육 데이터 세트가 없는 상황에서 엣지 디바이스는 스펙에 포함된 일련의 척도에 의거해 제조된 각 요소를 조립하는 등 누적 보상 함수(cumulative reward function)를 극대화 하고자 하기 때문이다.

이는 다른 AI들의 학습 방식과 대조되는데, 다른 AI들은 기반 진실 데이터에 의거하여 알고리즘 상실 함수를 최소화하는 방식으로 학습을 하거나(supervised learning), 데이터 포인트 간 거리 함수를 최소화 하는 방식((unsupervised learning)으로 학습을 한다.

그러나 이러한 AI 학습 방식들이 꼭 서로 단절돼 있는 것만은 아니다. 사실 최근 아주 흥미로운 AI 트렌드 중 하나는 강화 학습 방식과 지도 학습(supervised learning) 및 자율 학습((unsupervised learning) 방식의 융합이다. AI 개발자들 역시 단일 학습 방식으로는 커버하기 힘든 애플리케이션에 다양한 학습 방식을 융합하여 적용하고 있다.

예컨대 지도 학습(supervised learning) 방식은 사전 학습된 데이터 없이는 무용지물이다. 매 초, 매 순간 전례 없는 새로운 이벤트가 발생하는 자율 주행과 같은 분야가 그 예이다. 마찬가지로, (센서 피드 및 기타 복합적 데이터 상에서 패턴을 감지해 내기 위해 군집 분석을 사용하는) 자율 학습(unsupervised learning) 방식의 경우도 실제 의사 결정 시나리오에서 지능적 엔드 포인트가 취해야 할 최적의 액션이 무엇인가를 판별해 내기에는 한계가 있다.

심층 강화 학습(deep reinforcement learning)이란 무엇인가
심층 강화 학습이란 자율적 에이전트가 강화 학습의 시행 착오 알고리즘과 누적 보상 함수를 이용해 신경망 디자인를 가속화하는 방식을 일컫는다. 이러한 디자인들야말로 지도 또는 자율 학습을 이용하는 여러 AI 애플리케이션의 동력원이라고 할 수 있다.

심층 강화 학습은 AI 개발과 교육 자동화에 있어 핵심적인 기술이다. 심층 강화 학습에는 무수한 아키텍처, 노드 타입, 커넥션, 하이퍼파라미터 세팅, 그리고 기타 딥러닝, 머신러닝 등 AI 모델에서 사용하는 많은 옵션들과 관련된 퍼포먼스 트레이드 오프를 빠르게 탐색할 수 있는 강화 학습 주도형 에이전트가 요구된다.

예를 들어, 연구원들은 피쳐 엔지니어링(feature engineering), 컴퓨터 비전, 그리고 이미지 분류 등에 어떤 딥러닝 CNN(convolutional neural network) 아키텍처가 적합할지를 빠르게 판단하기 위하여 심층 강화 학습을 이용하고 있다. AI 툴은 심층 강화 학습을 통해 얻어낸 결과물과 텐서플로우, MXNet, 파이토치(PyTorch) 같은 딥러닝 개발 툴을 이용하여 최적의 CNN을 생성하게 된다.

이런 측면에서 볼 때, 강화 학습 개발 및 교육을 위한 오픈 프레임워크의 등장은 상당히 고무적인 일이다. 심층 강화 학습을 탐색하는 과정에서 아마도 텐서플로우를 비롯한 기타 딥러닝 및 머신러닝 모델링 툴을 사용, 확장, 공유하는 프레임워크를 함께 탐색해 보고자 하는 마음이 들게 될 것이다. 주요 강화 학습 프레임워크의 특징과 출처를 살펴보면 다음과 같다.

- 텐서플로우 에이전트 : 텐서플로우 에이전트(TensorFlow Agents)는 강화 학습을 통하여 다양한 지능적 애플리케이션을 제작, 교육할 수 있는 툴을 제공한다. 텐서플로우의 확장이라 할 수 있는 이 프레임워크는 OpenAI Gym 인터페이스를 다중 평행 환경으로 확장해 텐서플로우에서 에이전트가 일괄 컴퓨테이션을 할 수 있도록 한다. OpenAI Gym 인터페이스는 텐서플로우와 완전히 결합하여 효율적인 알고리즘 이행을 가능케 한다.

이 프레임워크는 PPO(Proximal Policy Optimization) 알고리즘의 최적화 된 이행이라 할 수 있는 BatchPPO와 통합된다. 핵심 요소로는 외장 프로세스 내부에 OpenAI Gym 환경을 건설하는 environment wrapper; 텐서플로우 그래프의 스텝 및 리셋 함수에 액세스를 가능케 하는 batch 통합; 그리고 인-그래프 텐서플로우 batch 프로세스 및 강화 학습 알고리즘을 트레이닝 루프 내부의 단일 오퍼레이션으로 통합하는 요소 등이 있다.  
CIO의 프리미엄 콘텐츠입니다. 이 기사를 더 읽으시려면 개인정보 등록이 필요합니다. 이미 등록하신 분은 '본인확인'을 해주십시오.



2018.01.29

AI 와 딥러닝의 다음 단계··· 개발자를 위한 '심층 강화 학습' 가이드

James Kobielus | InfoWorld
강화 학습(Reinforcement learning)은 인공 지능 기술 분야에서 일종의 틈새 시장으로 분류됐었다. 그러나 지난 몇 년 동안 점차 많은 AI 관련 이니셔티브에서 더욱 중요하고 큰 역할을 맡기 시작했다. 특히 맥락적 환경에서 동작하는 가상 에이전트의 최적 행위 도출에 유용하게 쓰이고 있다.

시행착오(trial-and-error) 방식으로 알고리즘 보상 함수를 극대화하는 강화 학습은, 이 밖에도 IT 운영 관리, 에너지, 헬스케어, 상업, 금융, 교통 등의 분야에서 적응적 통제(adaptive-control) 및 멀티에이전트 자동화 애플리케이션 등에 적합하다. 또한 전통적인 AI 강세 분야(로보틱스, 게이밍, 시뮬레이션 등)뿐 아니라 새로운 AI 솔루션 분야인 엣지 애널리틱스(edge analytics), 자연어 처리, 기계 통역, 컴퓨터 비전, 그리고 디지털 어시스턴트 등에서도 AI의 교육에 널리 사용되고 있다.

한편 강화 학습 기술은 사물 인터넷 기술의 자동화 엣지 애플리케이션(autonomous edge application) 개발의 근본이 되기도 한다. 산업, 교통, 헬스케어, 소비자 애플리케이션 등, 엣지 애플리케이션 개발의 상당 부분에 AI 기술을 적용한 로보틱스가 관여하고 있는데, 이러한 로보틱스 기술은 다양한 동적 환경 상황에서 맥락적 자율성을 가지고 행동할 수 있기 때문이다.



강화 학습의 작동 기전
여러 분야들에 활용되는 엣지 디바이스의 AI 브레인은 본질적으로 강화 학습 기술에 의존할 수밖에 없다. 왜냐하면 기존의 ‘기반 진실(ground truth)’ 교육 데이터 세트가 없는 상황에서 엣지 디바이스는 스펙에 포함된 일련의 척도에 의거해 제조된 각 요소를 조립하는 등 누적 보상 함수(cumulative reward function)를 극대화 하고자 하기 때문이다.

이는 다른 AI들의 학습 방식과 대조되는데, 다른 AI들은 기반 진실 데이터에 의거하여 알고리즘 상실 함수를 최소화하는 방식으로 학습을 하거나(supervised learning), 데이터 포인트 간 거리 함수를 최소화 하는 방식((unsupervised learning)으로 학습을 한다.

그러나 이러한 AI 학습 방식들이 꼭 서로 단절돼 있는 것만은 아니다. 사실 최근 아주 흥미로운 AI 트렌드 중 하나는 강화 학습 방식과 지도 학습(supervised learning) 및 자율 학습((unsupervised learning) 방식의 융합이다. AI 개발자들 역시 단일 학습 방식으로는 커버하기 힘든 애플리케이션에 다양한 학습 방식을 융합하여 적용하고 있다.

예컨대 지도 학습(supervised learning) 방식은 사전 학습된 데이터 없이는 무용지물이다. 매 초, 매 순간 전례 없는 새로운 이벤트가 발생하는 자율 주행과 같은 분야가 그 예이다. 마찬가지로, (센서 피드 및 기타 복합적 데이터 상에서 패턴을 감지해 내기 위해 군집 분석을 사용하는) 자율 학습(unsupervised learning) 방식의 경우도 실제 의사 결정 시나리오에서 지능적 엔드 포인트가 취해야 할 최적의 액션이 무엇인가를 판별해 내기에는 한계가 있다.

심층 강화 학습(deep reinforcement learning)이란 무엇인가
심층 강화 학습이란 자율적 에이전트가 강화 학습의 시행 착오 알고리즘과 누적 보상 함수를 이용해 신경망 디자인를 가속화하는 방식을 일컫는다. 이러한 디자인들야말로 지도 또는 자율 학습을 이용하는 여러 AI 애플리케이션의 동력원이라고 할 수 있다.

심층 강화 학습은 AI 개발과 교육 자동화에 있어 핵심적인 기술이다. 심층 강화 학습에는 무수한 아키텍처, 노드 타입, 커넥션, 하이퍼파라미터 세팅, 그리고 기타 딥러닝, 머신러닝 등 AI 모델에서 사용하는 많은 옵션들과 관련된 퍼포먼스 트레이드 오프를 빠르게 탐색할 수 있는 강화 학습 주도형 에이전트가 요구된다.

예를 들어, 연구원들은 피쳐 엔지니어링(feature engineering), 컴퓨터 비전, 그리고 이미지 분류 등에 어떤 딥러닝 CNN(convolutional neural network) 아키텍처가 적합할지를 빠르게 판단하기 위하여 심층 강화 학습을 이용하고 있다. AI 툴은 심층 강화 학습을 통해 얻어낸 결과물과 텐서플로우, MXNet, 파이토치(PyTorch) 같은 딥러닝 개발 툴을 이용하여 최적의 CNN을 생성하게 된다.

이런 측면에서 볼 때, 강화 학습 개발 및 교육을 위한 오픈 프레임워크의 등장은 상당히 고무적인 일이다. 심층 강화 학습을 탐색하는 과정에서 아마도 텐서플로우를 비롯한 기타 딥러닝 및 머신러닝 모델링 툴을 사용, 확장, 공유하는 프레임워크를 함께 탐색해 보고자 하는 마음이 들게 될 것이다. 주요 강화 학습 프레임워크의 특징과 출처를 살펴보면 다음과 같다.

- 텐서플로우 에이전트 : 텐서플로우 에이전트(TensorFlow Agents)는 강화 학습을 통하여 다양한 지능적 애플리케이션을 제작, 교육할 수 있는 툴을 제공한다. 텐서플로우의 확장이라 할 수 있는 이 프레임워크는 OpenAI Gym 인터페이스를 다중 평행 환경으로 확장해 텐서플로우에서 에이전트가 일괄 컴퓨테이션을 할 수 있도록 한다. OpenAI Gym 인터페이스는 텐서플로우와 완전히 결합하여 효율적인 알고리즘 이행을 가능케 한다.

이 프레임워크는 PPO(Proximal Policy Optimization) 알고리즘의 최적화 된 이행이라 할 수 있는 BatchPPO와 통합된다. 핵심 요소로는 외장 프로세스 내부에 OpenAI Gym 환경을 건설하는 environment wrapper; 텐서플로우 그래프의 스텝 및 리셋 함수에 액세스를 가능케 하는 batch 통합; 그리고 인-그래프 텐서플로우 batch 프로세스 및 강화 학습 알고리즘을 트레이닝 루프 내부의 단일 오퍼레이션으로 통합하는 요소 등이 있다.  
CIO의 프리미엄 콘텐츠입니다. 이 기사를 더 읽으시려면 개인정보 등록이 필요합니다. 이미 등록하신 분은 '본인확인'을 해주십시오.

X