강화학습
강화학습(RL; Reinforcement Learning)은 기계학습이 다루는 문제 중 하나로 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법이다.[1]
목차
개요[편집]
강화학습은 기계학습의 한 영역이다. 행동심리학에서 영감을 받았으며, 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법이다. 이러한 문제는 매우 포괄적이기 때문에 게임이론, 제어이론, 운용과학, 정보이론, 시뮬레이션 기반 최적화, 다중 에이전트 시스템, 떼 지능, 통계학, 유전 알고리즘 등의 분야에서도 연구된다. 강화학습에서 다루는 '환경'은 주로 마르코프 결정 과정(MDP)으로 주어진다. 강화학습은 또한 입출력 쌍으로 이루어진 훈련 집합이 제시되지 않으며, 잘못된 행동에 대해서도 명시적으로 정정이 일어나지 않는다는 점에서 일반적인 지도학습과 다르다. 대신, 강화학습의 초점은 학습 과정에서의 성능이며, 이는 탐색과 이용의 균형을 맞춤으로써 제고된다.[2]
역사[편집]
강화학습의 시작은 크게 두 각지로 볼 수 있다. 하나는 Trial and error, 또 다른 하나는 Optimal control이다.[3]
- Trial and error : 강화학습의 중요한 특징이다. 이는 동물의 행동에 관한 심리학 연구에서 출발했다. 심리학에서 "강화"라는 개념은 상당히 보편적으로 알려진 개념으로 동물이나 인간이 행동 결과에 따라 행동을 변환시키고 발전시킨다는 이론이다. 예시로 스키너라는 심리학자의 "스키너 상자 실험"이라는 것이 있다. "스키너 상자 실험"은 굶긴 쥐를 상자에 넣고, 쥐는 돌아다니다가 우연히 상자 안에 있는 지렛대를 누르게 된다. 지렛대를 누르는 행동과 먹이와의 상관관계를 모르는 쥐는 다시 돌아다닌다. 그러다가 우연히 쥐가 다시 지렛대를 누르면 이제 먹이와 지렛대 사이의 관계를 알게 되고 점점 지렛대를 자주 누르게 된다. 이 과정을 반복하면서 쥐는 지렛대를 누르면 먹이를 먹을 수 있다는 것을 학습한다. 이처럼 자신이 한 행동에 따른 보상으로 더 좋은 보상을 받는 행동을 수행하도록 학습이 되는 것을 볼 수 있다. 이는 강화학습의 모티브가 된다.
- Optimal control : 비용함수의 비용을 최소화하도록 컨트롤러를 디자인하는 것을 말한다. 벨만은 벨만 방정식을 만들어 이 문제를 해결했고, 이 방법을 Dynamic Programming이라고 불린다. 또한 벨만은 MDP(Markov Decision Process)라는 수학적 모델을 만들어 강화학습의 기초를 만든다.
주요 요소[편집]
- 정책 : 정책은 학습 에이전트가 주어진 시간에 행동하는 방식을 정의한다. 대충 말하자면, 정책은 환경의 인식 된 상태에서 해당 주에서 취할 행동으로의 매핑이다. 그것은 심리학에서 일련의 자극 - 반응 규칙 또는 연관이라고 부르는 것에 해당한다. 때에 따라 정책은 단순한 함수 또는 조회 테이블일 수 있지만 다른 경우에는 검색 프로세스와 같은 광범위한 계산이 필요할 수 있다. 이 정책은 행동을 결정하기에 충분하다는 의미에서 강화학습 에이전트의 핵심이다. 일반적으로 정책은 확률적일 수 있다.
- 보상 신호 : 보상 신호는 강화학습 문제에서 목표를 정의한다. 각 시간 단계에서 환경은 강화학습 에이전트에 하나의 숫자인 보상을 보낸다. 에이전트의 유일한 목표는 장기적으로 받는 총 보상을 최대화하는 것이다. 따라서 보상 신호는 에이전트에 대한 양호환 이벤트와 나쁜 이벤트를 정의한다. 생물학적 시스템에서 우리는 보상이 즐거움이나 고통의 경험과 유사하다고 생각할 수 있다. 이들은 에이전트가 직면한 문제의 즉각적이고 명확한 특징이다. 따라서 보상 신호를 생성하는 프로세스는 에이전트에 의해 변경 불가능해야 한다. 에이전트는 프로세스가 직접 생성한 신호를 변경할 수 있으며 보상 신호는 이들 신호에 따라 달라지기 때문에 환경의 상태를 변경하여 간접적으로 신호를 변경할 수 있지만, 신호를 생성하는 기능은 변경할 수 없다. 다른 말로 표현하자면, 에이전트는 직면한 문제를 단순히 다른 문제로 변경할 수 없다. 보상 신호는 정책을 변경하기 위한 기본 중의 기본이다. 정책에 의해 선택된 행동 뒤에 낮은 보상이 있는 경우 정책은 나중에 그 상황에서 다른 행동을 선택하도록 변경될 수 있다. 일반적으로 보상 신호는 환경 상태 및 취해진 조치의 확률적 기능일 수 있다.
- 가치 기능 : 보상 신호는 즉각적인 의미에서 좋은 것을 나타내지만, 가치 기능은 장기적으로 무엇이 유익한지를 지정한다. 대충 말하면, 주 정부의 가치는 해당 주에서부터 시작하여 직원이 미래에 누적할 것으로 예상할 수 있는 총 보상 금액이다. 보상이 환경 상태의 즉각적이고 본질적인 바람직함을 결정하는 반면, 가치는 따르기 쉬운 국가와 해당 주에서 제공되는 보상을 고려한 후 장기간의 바람직함을 나타낸다. 예를 들어, 주에서는 항상 낮은 즉각적인 보상을 산출할 수 있지만 높은 보상을 제공하는 다른 주 다음으로 정기적으로 이어지기 때문에 여전히 높은 가치를 지닌다. 또는 그 반대가 사실일 수 있다. 인간 유추를 만들기 위해 보상은 쾌락(높으면)과 고통(낮으면)과 비슷하지만, 가치는 우리 환경이 특정 상태에 있다는 것을 기쁘고 불만스럽게 하는지에 대한 보다 세련되고 원시적인 판단에 해당한다.
- 환경 모델 : 일부 강화학습 시스템의 네 번째이자 마지막 요소는 환경 모델이다. 이것은 환경의 행동을 모방하거나 더 일반적으로 환경이 어떻게 행동 할 것인가에 대한 추론을 가능하게 하는 것이다. 예를 들어, 상태와 액션이 주어지면, 모델은 결과적인 다음 상태와 다음 보상을 예측할 수 있다. 모델은 계획을 세우는 데 사용되며, 이를 통해 우리는 죄책감에 의한 행동 방침을 결정하는 어떤 방법을 의미한다. 모델은 실제 경험을하기 전에 가능한 미래 상황을 고려하여 조치 과정을 결정하는 방법을 의미한다. 모델과 계획을 사용하는 강화학습 문제를 해결하는 방법을 모델 기반 방법이라고 부른다. 모델을 사용하지 않는 간단한 방법인 시행 착오적인 학습자는 계획과 거의 반대이다.[4]
기술[편집]
강화학습 딥러닝을 성공적으로 적용한 대표적 알고리즘으로는 DQN과 A3C가 있다. 두 알고리즘 모두 딥마인드에서 발표했으며 다른 강화학습 알고리즘의 베이스라인이 되었다.[5]
DQN[편집]
DQN(Deeq Q Network)는 2013년 딥마인드가 'Playing Atari with Deep Reinforcement Learning'이라는 논문에서 소개한 강화학습 알고리즘이다. DQN 이전에도 강화학습에 신경망을 적용하려는 시도가 있었지만 좋은 결과를 내지 못했다. 딥마인드는 아래 3가지 방법을 적용하여 학습에 성공했다.
CNN[편집]
DQN의 장점 중 하나가 게임 화면을 전처리하지 않고 바로 입력으로 사용할 수 있다는 점이다. 벽돌 깨기를 예로 들어보면 행동을 결정하기 위해 바의 위치, 공의 위치 및 속도, 남은 벽돌, 점수 등의 정보가 필요하다. 만약 이러한 정보를 게임 화면에서 추출하려면 상당히 복잡한 전처리를 거쳐야 하며 추출한 결과도 만족스럽지 못하다. 딥마인드는 이런 한계를 극복하기 위해 CNN(Convolution Neural Network)을 사용했다. CNN은 영상에서 최적의 특징을 추출하는 능력이 뛰어나기 때문에 별도의 전처리를 통해서 행동에 필요한 특징을 추출하는 것보다 좋은 결과를 낼 수 있다. CNN의 또 다른 역할은 큐 함수를 근사하여 큐값을 추정하는 것이다. 실제 세계의 상태 공간은 너무나 방대하므로 큐 러닝으로 계산할 수 없다. 네트워크에서 추정한 값이 벨만 방정식의 결과와 같아지도록 학습하면 된다는 것인데, 큐 러닝과 마찬가지로 목표로 삼아야 할 벨만 방정식의 결과가 네트워크의 추정값이다. 식으로 표현하면 "현재 상태에서 추정된 큐값= 보상 + 다음 상태에서 추정된 큐값" 이다. 추정값을 목표로 하면 학습이 되지 않을 것 같지만 보상이 계속해서 더해지기 때문에 결국 올바른 목푯값에 수렴하게 된다.
경험 리플레이[편집]
학습하는 데이터가 뭉쳐있지 않고 고르게 분포해야 정답 근처에 있는 직선을 찾을 수 있다. 강화학습은 이 문제와 밀접한 관련이 있으며 DQN 이전의 시도가 실패한 원인이기도 하다. 지도학습의 경우 이미 데이터와 라벨이 존재하기 때문에 랜덤하게 데이터를 추출하여 학습함으로써 데이터의 상관관계를 줄일 수 있다. 하지만 강화학습은 환경과 상호작용하면서 차례로 데이터가 들어오기 때문에 이웃하는 데이터가 학습된다. 딥마인드는 이 문제를 해결하기 위해 경험 리플레이(Experience Replay)라는 방법을 사용했다. 경험 리플레이는 리플레이 메모리라고 하는 큰 메모리 공간을 만들어 데이터(경험)를 저장한 후 랜덤하게 뽑아서 학습하는 것이다. 이렇게 하면 상관관계가 적고 고르게 분포된 데이터로 학습할 수 있으며 목표에 수렴이 잘 된다.
목표 네트워크 분리[편집]
목푯값도 추정값이기 때문에 학습을 한 번씩 진행할 때마다(스텝마다) 목푯값이 변한다. 올바른 보상이 계속 주어지기 때문에 결국에는 수렴하지만, 학습이 오래 걸리는 문제가 있다. 딥마인드는 논문이 나온 2년 후인 2015년, 네이처에 이 문제를 개선하기 위한 방법을 소개했다. 목푯값이 바뀌는 기간을 매 스텝이 아닌 일정 크기의 스텝으로 늘린 것이다. 다시 말해서 일정 스텝마다 기본 네트워크에서 학습된 피라미터를 목표 네트워크로 업데이트하는 것이다. 여기서 주목할 점은 2013년에 소개된 DQN은 네트워크를 하나만 사용하지만 개선된 DQN은 목표 네트워크가 필요하기 때문에 네트워크가 2개이다. 이 방법을 사용한다고 해서 목푯값이 변하지 않는 것은 아니지만 스텝마다 변하는 폭보다는 훨씬 작기 때문에 학습 속도고 빠르다.
A3C[편집]
DQN으로 강화학습의 전환점을 제공해 주었던 딥마인드는 2016년 2월 DQN의 단점을 개선한 A3C를 발표했다. DQN은 리플레이 메모리를 사용하기 때문에 큰 메모리 공간이 필요하고 오래된 데이터를 학습에 이용한다는 단점이 있다. A3C는 리플레이 메모리를 사용하지 않고 데이터의 상관관계를 줄이기 위해 비동기 방법을 사용했다. 비동기 방법은 쉽게 말해서 에이전트를 여러 개 만드는 것이다. 각각의 에이전트는 독립되어 있고 서로 다른 경험을 하므로 데이터의 상관관계가 적다. 그뿐만 아니라 오래된 데이터가 아닌 각각의 에이전트가 얻은 최신의 데이터(경험)를 이용하기 때문에 학습이 잘된다. 목표 네트워크를 업데이트하는 방법은 DQN과 약간 다르다. A3C는 에이전트가 서로 독립적이기 때문에 각각 네트워크를 가지고 있고 개별적으로 학습을 하지만 각각의 에이전트가 하나의 목푯값으로 수렴해야 하므로 목푯값을 추정하는 글로벌 네트워크를 하나 만들고 에이전트는 주기적으로 글로벌 네트워크에 학습된 피라미터를 업데이트한다. A3C(Asynchronous Advantage Actor-Critic)가 발표되기 이전에는 DQN이 다른 강화학습 알고리즘의 베이스라인이었지만 최근에는 A3C를 베이스라인으로 많이 사용하고 있다.
워크플로[편집]
강화학습을 이용하여 에이전트를 훈련시키는 일반적인 워크플로는 다음과 같은 단계를 따른다.[6]
- 환경 조성 : 먼저 에이전트가 작동하는 환경을 정의해야 하며, 이때 에이전트와 환경 사이의 인터페이스도 정의해야 한다. 환경은 시뮬레이션 모델 또는 실제의 물리적 시스템이다. 시뮬레이션 환경은 더 안전하고 실험도 가능하므로 첫 단계로 적절하다.
- 보상 정의 : 다음으로는 에이전트가 과제 목표와 비교하여 성능을 측정하는 데 사용하는 보상 신호를 정하고, 환경으로부터 이 신호를 어떻게 계산할지 설정한다. 올바른 보상을 설정하는 것은 어렵고 반복이 필요할 수도 있다.
- 에이전트 생성 : 이 단계에서 에이전트를 생성한다. 에이전트는 정책과 학습 알고리즘으로 이루어져 있어 다음과 같은 과정이 필요하다.
- 정책을 표현할 방법을 선택한다.(예: 뉴럴 네트워크 또는 룩업테이블 사용)
- 적절한 학습 알고리즘을 선택한다. 특정한 표현은 대개 특정한 학습 알고리즘 종류와 연계되어 있다. 하지만 최신 알고리즘은 대부분 뉴럴 네트워크를 기반으로 하는데, 큰 상태/행동 공간과 복잡한 문제에는 뉴럴 네트워크가 적합하기 때문이다.
- 에이전트 훈련과 검증 : 훈련 옵션을 설정하고(예: 중지 조건) 에이전트를 훈련해 정책을 튜닝한다. 이를 마치면 훈련된 정책을 검증한다. 애플리케이션에 따라 훈련에 몇 분이나 며칠이 걸릴 수 있다. 복잡한 애플리케이션은 다수의 CPU, GPU, 컴퓨터 클러스터에서 병렬로 훈련한다면 속도가 빨라질 것이다.
- 정책 배포 : 예를 들면 생성된 C/C++ 또는 쿠다(CUDA) 코드를 이용하여, 훈련된 정책 표현을 배포한다. 이때는 정책이 이미 독립된 의사결정 시스템이므로 에이전트 및 트레이닝 알고리즘을 신경 쓰지 않아도 된다. 강화학습을 이용하여 에이전트를 훈련하는 것은 반복적인 과정이다. 이후 단계에서 이루어지는 의사결정과 결과에 따라서 학습 워크플로의 초기 단계로 되돌아가야 할 수도 있다. 예를 들어, 훈련 과정이 정해진 기한 내 최적의 정책에 이르지 못한다면 에이전트를 다시 훈련하기 전에 다음을 수정해야 한다.
- 훈련 설정 사항
- 학습 알고리즘 구성
- 정책 표현
- 보상 신호의 정의
- 동작과 관찰 신호
- 환경의 변화
사례[편집]
게임[편집]
게임은 강화학습이 발전하게 된 토대를 만들어 주었고 지금도 강화학습 알고리즘의 테스트베드로 많이 쓰이고 있다.
- 딥 마인드
- 알파고(AlphaGo) : 바둑에서 이세돌을 4:1로 이기면서 강화학습이 관심을 받게 된 계기를 만들었다. 2017년 5월 커제를 3:0으로 격파하고 그 후 딥마인드에서 공식적으로 은퇴를 선언한 바 있다. 이세돌을 이긴 알파고를 '알파고 리', 커제를 이긴 알파고는 '알파고 마스터'라고 부르고 있다.
- 알파고 제로/알파제로(AlphaGo Zero/AlphaZero) : 알파고 팀은 17년 10월 네이처에 인간의 게임 데이터를 사용하지 않고 바둑의 규칙만 가지고 학습하는 알파고 제로를 발표했다. 알파고 제로는 3일 만에 알파고 리를 100:0으로 제압하고 알파고 마스터 레벨급에 도달했다. 거의 40일 만에 모든 이전의 버전을 능가했다는 것이다. 알파제로는 알파고 제로를 범용으로 만든 버전으로 알파고 제로가 바둑에 한정된 것과 달리, 알파제로는 여러 종류 게임에 적용될 수 있도록 알고리즘을 범용화했다. 알파제로는 2시간이 채 되지 않아 현존하는 가장 강한 쇼기 AI인 엘모를 앞지르고, 체스 역시 4시간 만에 가장 강한 체스 AI인 스톡피쉬를 제압했다.
- 데브시스터즈 : 알파런(AlphaRun) : 강화학습을 이용해 사람 대신 쿠키런을 플레이하는 프로그램이다. 구현하는데 딥러닝(Deep Learning)과 강화학습 기술 8가지가 사용되었다. 게임 패치를 내놓을 때 항상 문제가 되는 것이 기존 패치와의 밸런스 차이이다. QA에서도 밸런스 테스트를 하지만 쿠키런의 경우 쿠키 X 펫 X 보물 X 맵 = 30 X 30 X 9 X 7가지나 되는 경우의 수가 존재하며 평균 플레이 시간(4분)을 고려하면 테스트에 약 5,040일이 소요된다고 한다. 사실상 사람이 모든 경우를 테스트하는 것은 불가능하다. 하지만 알파런을 사용해 다수의 프로세스로 돌리고 플레이 시간을 빠르게 해서 테스트 시간(14일)을 획기적으로 줄일 수 있었다.
지능형 로봇[편집]
아틀라스(Atlas)는 보스턴 다이내믹스가 제작한 휴머노이드 로봇이다. 복잡한 지형에서도 자동으로 자세를 유지하며, 보행 경로를 설정하여 보행할 수 있고, 두 팔로 주위 환경을 조작하는 것은 물론 넘어져도 직접 일어나고 물체까지 들어 올릴 수 있다. 2017년 11월 공개한 영상에서는 징검다리형 구조물을 뛰어서 건너기도 하고 높은 구조물에 올라가서 백 텀블링에 성공해 사람들을 놀라게 한 바가 있다.
금융[편집]
JP모건(JPMorgan)의 LXOM은 고객의 주 주문을 최적의 가격으로 빠르게 실행하는 시스템이다. 어떤 주식을 살 것인지 결정하는 기능은 없지만, 강화학습을 이용하여 어떻게 사고팔지를 효과적으로 판단한다. 대규모 지분 매각 시점을 찾는데 탁월하며 많은 지분을 한 번에 팔 때 투자자가 손일을 최소화하고 최적의 이익을 취할 수 있는 가격대를 찾아준다. 유럽의 테스트에서는 LOXM에 의해 달성된 가격이 벤치마크보다 현저하게 우수함을 보여줬다. 또한, 고객이 동의한 경우 거래 방법을 결정할 때 고객 행동과 반응을 고려하는 부분까지 진화가 가능한 것으로 알려졌다.
자율주행차[편집]
자율주행차에서 강화학습은 카메라로 입력된 이미지 or 센서 데이터를 이용해 최적의 행동을 찾는 데 사용된다. 여기서 최적의 행동이란? 사람이 실제로 자동차를 운전할 때 하는 행동인 직진/정지/후진/차선변경 등을 의미한다. 운전할 때 발생하는 상황은 매우 방대하므로 컴퓨터에 일일이 운전하는 방법을 가르치는 것은 불가능하다. 하지만 강화학습을 이용하면 계속 운전을 시도하면서 받은 보상을 통해 운전하는 방법을 스스로 배우게 되는 것이다. 처음 자율주행차를 학습할 때는 도로에서 바로 주행하는 것이 위험하므로 주로 자동차 게임과 같은 시뮬레이터를 이용한다. 시뮬레이터를 통해 충분히 학습되면 실제 도로에 나가서 추가학습을 한다. 학습이 어느 정도 되어있다고 해도 실제 도로에서 자율주행을 하는 것은 위험하므로 주로 사람이 함께 타는데 최근에는 사람 없이 주행하는 자율주행차도 테스트가 이루어지고 있다. 현재 구글/엔비디아/테슬라 등의 회사가 자율주행차를 연구 중이다.
벤더 동향[편집]
국내 벤더[편집]
- 네이버 : 네이버랩스를 연구법인으로 분사하여 생활 환경지능을 연구하고 있다. 2017년 3월 서울모터쇼에서 자율주행차를 처음으로 공개했고 10월에는 Deview 2017에서 생활 로봇 9종을 선보였다.
- 카이스트 : 항공우주공학과 교수팀에서 개발한 자율주행차 '유레카 터보'가 임시운행허가증을 획득해서 2017년 1월부터 실제 도로에서 운행이 가능해졌다. 연구팀은 2009년부터 자율주행차 연구를 시작해서 자율주행차 5대를 성공적으로 개발했고 현재까지 캠퍼스 내에서 자율주행 테스트를 진행하고 있는 중이다.
- SK텔레콤 : 2017년 초에 차량기술연구소를 만들어 자율주행차의 기반기술을 연구하고 있다. 7월에 국내 통신사 중에서 처음으로 자율주행 임시운행허가를 받아서 9월경 경부고속도로 약 26Km 구간에서 시험주행에 성공한 바 있다.
- 데브시스터즈 : Deview 2016에서 '딥러닝과 강호학습으로 나보다 잘하는 쿠키런 AI 구현하기'를 발표한 이후 국내 강화학습 벤더로써의 인지도가 높아졌다. 2017년 8월에는 네이버 D2에서 '알아두면 쓸 데 있는 신기한 강화학습'이라는 제목으로 강의를 하기도 했다.
글로벌 벤더[편집]
- 딥마인드 : 알파고를 탄생시킨 강화학습의 선구자이다. 2017년 7월에는 에이전트가 스스로 걷는 법을 학습할 수 있는 가상의 환경을 만들어 공개했다. 에이전트는 걷는 방법에 대한 지식이 전혀 없는 상황에서 다양한 지형에 대응해서 걷는 방법을 만들어냈다. 2017년 8월에는 블리자드와 협업하여 스타크래프트2 API를 공개했고 바둑 다음으로 스타크래프트를 정복하기 위해 연구를 진행했다.
- 구글 : 구글 내부에서 자율주행 프로젝트가 시작되었지만, 현재는 알파벳의 자회사인 웨이모로 분리되어 연구를 계속하고 있다. 웨이모의 자율주행 자동차는 2017년 공공 도로 주행 400만 마일(643만 7,376Km)을 돌파했다. 실제 도로 주행과 더불어 더 많은 상황을 만들어 테스트하기 위해 가상의 자율주행 공간인 '카크래프트(Carcraft)'를 제작해 사용하고 있다. 주행 거리나 누적된 데이터는 다른 자율주행자 벤더들이 따라올 수 없는 수준이며 이러한 기술력을 바탕으로 애리조나 피닉스에서는 운전자가 없는 완전 자율 택시 서비스를 시범 운영하기 시작했다.
- 오픈AI : 오픈AI는 비영리 인공지능 연구 기업이다. 강화학습 연구자들에게는 '오픈AI 짐(OpenAI Gym)'으로 유명하다. 오픈AI 짐은 2016년 4월에 퍼블릭 베타를 출시했으며 그 후로 강화학습 연구를 위한 환경이 계속 추가되고 있다.
- 보스턴 다이내믹스 : 보행 로봇 개발에 주력하고 있는 회사이다. 2005년 개발한 군사용 4족 로봇 '빅 독B(ig dog)'으로 유명하다. 2017년 11월 아틀라스가 징검다리 형태의 구조물을 건너고 백 텀블링에 성공한 영상을 공개하여 세상을 놀라게 했다. 그 후 4족 보행로봇 '스팟(Spot)'을 개량한 '스팟미니(SpotMini)', 2족 로봇에 바퀴를 단 로봇인 '핸들(Handel)'을 공개했다.
각주[편집]
- ↑ 〈강화학습(Reinforcement Learning)〉, 《애자일소다》
- ↑ 〈강화 학습〉, 《위키백과》
- ↑ Steve Jeong, 〈1-2 강화학습의 역사〉, 《티스토리》, 2018-10-01
- ↑ chris-chris, 〈1장 강화 학습 문제〉, 《깃허브》, 2017-10-04
- ↑ 〈보상을 통해 학습하는 머신러닝 기술 1편〉, 《LG CNS》, 2018-04-16
- ↑ 이웅재 매스웍스코리아 이사, 〈(기고) 강화 학습에 대해 알아야 할 3가지〉, 《컴퓨터월드》, 2019-08-31
참고자료[편집]
- 〈강화학습(Reinforcement Learning)〉, 《애자일소다》
- SD아카데미, 〈머신러닝의 한 분야, 강화학습(Reinforcement Learning)적용 사례〉, 《네이버 블로그》, 2018-07-05
- 〈강화 학습〉, 《위키백과》
- 〈보상을 통해 학습하는 머신러닝 기술 1편〉, 《LG CNS》, 2018-04-16
- 〈보상을 통해 학습하는 머신러닝 기술 2편〉, 《LG CNS》, 2018-04-23
- chris-chris, 〈1장 강화 학습 문제〉, 《깃허브》, 2017-10-04
- 이웅재 매스웍스코리아 이사, 〈(기고) 강화 학습에 대해 알아야 할 3가지〉, 《컴퓨터월드》, 2019-08-31
- Steve Jeong, 〈1-2 강화학습의 역사〉, 《티스토리》, 2018-10-01
같이 보기[편집]