강화 학습

강화학습은 에이전트, 환경, 상태, 행동 및 보상에 기반하며, 이들 모두에 대해 설명합니다.

에이전트가 작업을 수행; 예를 들어 배달을 하는 무인 항공기 또는 비디오 게임을 탐색하는 슈퍼 마리오가 있습니다.

상태는 에이전트가 자신을 발견하는 상황이다; 즉 특정 장소와 순간, 도구, 장애물, 적 또는 아이템과 같은 다른 중요한 것들과 관련하여 에이전트를 배치하는 구성입니다.

행동은 거의 자체 설명이지만, 에이전트가 가능한 조치의 목록 중에서 선택할 수 있습니다. 비디오 게임에서 리스트는 오른쪽이나 왼쪽으로 달리고, 높게 또는 낮게, 뛰어 다니거나 서기 등을 포함 할 수 있습니다. 주식 시장에서이 리스트에는 일련의 유가 증권 및 그 파생 상품 중 하나를 구매, 판매 또는 보유하는 것이 포함될 수 있습니다. 항공 무인기를 다룰 때는 3D 공간에서 다양한 속도와 가속도가 포함됩니다.

보상은 에이전트 행동의 성공 또는 실패를 측정하는 피드백입니다. 예를 들어 비디오 게임에서 Mario가 동전에 닿으면 포인트를 얻습니다. 에이전트는 행동의 형태로 출력을 환경으로 보내고 환경은 에이전트의 새로운 상태와 보상을 반환합니다.

 

 

위의 피드백 루프에서 첨자는 시간 단계 t 및 t + 1을 나타내며 각각은 서로 다른 상태, 즉 순간 t의 상태 및 순간 t + 1의 상태를 나타냅니다. 지도 및 비지도 학습과 같은 다른 형태의 머신러닝과 달리, 강화학습은 차례로 발생하는 상태 – 행동 쌍에 대해서만 순차적으로 고려 될 수 있습니다.

강화학습은 그들이 산출 한 결과로 행동을 판단합니다. 목표 지향적이며 목표는 목표 달성을 위해 일련의 행동을 배우는 것입니다. 비디오 게임에서 목표는 대부분의 점수로 게임을 끝내는 것입니다. 따라서 게임 전체에서 얻은 추가 포인트가 에이전트의 후속 동작에 영향을 미칩니다. 즉, 에이전트는 전장을 쏘거나 코인을 만지거나 유성을 피하여 점수를 최대화해야한다는 것을 알 수 있습니다.

실제 상황에서 목표는 로봇이 포인트 A에서 포인트 B로 이동하는 것이고, 로봇이 포인트 B에 더 가까이 이동할 수 있는 매 포인트는 계산 될 수 있습니다.

강화학습은 입력을 해석하는 방법에 의해 지도 학습과 비지도 학습 모두와 다릅니다. 우리는 “무엇인가”에 대해 그들이 배운 것을 기술함으로써 그들의 차이점을 설명 할 수 있습니다.

 

 

자동 강화학습 에이전트를 상상하는 한가지 방법은 눈과 흰지팡이로 세계를 탐색하려는 맹인입니다. 에이전트는 자신의 환경을 인식 할 수 있는 작은 창을 가지고 있으며 창은 주변의 상황을 인식하는 데 가장 적합한 방법이 아닐 수도 있습니다.

실제로 어떤 유형의 피드백을 주어야하는 지 결정 하는 것은 어려운 문제이며, 피드백의 종류가 제한적이고 잘 정의되어 있는 비디오 게임을 하는 방법을 배우는 알고리즘으로 넘어갑니다. 이러한 비디오 게임 강화 학습에 대한 아이디어가 처음 테스트된 실험실의 무균 환경에 훨씬 가깝습니다.

 

강화학습의 목적은 모든 상태에서 가장 잘 알려진 행동을 선택하는 것입니다. 즉, 행동의 순위를 매기고 서로에 대해 값을 할당해야합니다.

이러한 행동은 상태에 따라 다르기 때문에 우리가 실제로 측정하는 것은 상태 – 행동 쌍의 가치입니다. 즉 특정 상태에서 당신이 어딘가에서 취한 조치입니다.

그 행동이 누군가와 결혼하는 것이라면, 당신이 18세일 때 35세와 결혼하는 것과 당신이 90세일 때 35세와 결혼하는 것은 다른 의미가 있습니다.

액션이 “시작!”이라고 외치면 혼잡한 극장은 소총이있는 사람들 옆에서 액션을 수행하는 것과 다른 의미가 있어야합니다. 문맥을 모른 채 행동의 결과를 예측할 수는 없습니다.

상태 – 액션의 쌍을 Q 함수를 사용하여 생성할 것으로 기대되는 값에 매핑합니다.

Q 함수는 입력으로 에이전트의 상태와 조치를 취하여 예상 보상에 매핑합니다. 강화학습은 상태 – 행동 쌍의 시퀀스를 통해 에이전트를 실행하고, 결과로 얻는 보상을 관찰하고, 에이전트가 취할 수 있는 최상의 경로를 정확하게 예측할 때까지 Q 함수의 예측을 보상에 적용하는 프로세스입니다. 그 예측은 정책으로 알려져 있습니다.

강화학습은 반복적입니다. 가장 흥미로운 응용 분야에서는 상태 – 행동 쌍이 어떤 보상을 창출하는지 알기 시작하지 않습니다. 운동 선수 또는 음악가가 공연을 개선하기 위해 상태를 반복하는 것처럼 여러 번 상태를 지나치며 관계를 학습합니다.

강화학습은 알고리즘에 대해 고정입니다. 그리고 대부분의 사람들은 절대적으로 고정이기 때문에 강화학습은 알고리즘이 인간보다 더 배우고 더 나은 잠재력을 제공한다는 것을 의미합니다. 사실 DeepMind가 최근 발표 한 몇 가지 논문의 요지는 알고리즘이 훈련된 비디오 게임 대부분에 초인적인 성능을 보여줍니다.

신경망 및 강화 학습

신경망은 어디에 적합합니까? 신경망은 상태 – 행동 쌍을 보상으로 매핑하는 것을 배우는 에이전트입니다. 모든 신경 회로망과 마찬가지로 입력을 출력과 관련시키는 함수를 근사하기 위해 계수를 사용하며 오차를 줄여주기 위한 그레디언트를 따라 가중치를 반복적으로 조정하여 올바른 계수 또는 가중치를 찾는 방법을 학습합니다.

강화학습에서 CNN은 에이전트의 상태를 인식하는 데 사용할 수 있습니다. 예를 들어 Mario가 켜져있는 화면이나 무인 항공기가 있는 지형을 예로들 수 있습니다. 즉, 이미지 인식이라는 일반적인 작업을 수행합니다.

그러나 CNN은 지도학습보다 강화학습에서 이미지와 다른 해석을 유도합니다. 지도학습에서 네트워크는 이미지에 라벨을 적용합니다. 즉, 이름을 픽셀과 일치시킵니다.

 

 

실제로, 그것은 확률의 측면에서 이미지에 가장 잘 맞는 레이블의 순위를 매 깁니다. 당나귀의 이미지를 보여 주면 당나귀가 80%, 말이 50%, 개가 될 확률이 30%라고 결정할 수 있습니다.

강화학습에서, 상태를 나타내는 이미지가 주어지면, CNN은 그 상태에서 수행 할 수있는 동작의 순위를 매길 수 있습니다. 예를 들어, 오른쪽으로 달리면 5점을 리턴하고 점프를 하면 7점, 왼쪽으로 달리는 것은 하지 않을 것이라고 예측할 수 있습니다.

 

 

예상되는 보상에 값을 할당하면 Q 함수는 가장 높은 Q 값을 가진 상태 – 행동 쌍을 선택합니다.

강화학습의 시작에서 신경망 계수는 확률적으로 또는 무작위로 초기화 될 수 있습니다. 신경망은 환경에서의 피드백을 사용하여 기대되는 보상과 진실의 보상의 차이를 사용하여 가중치를 조정하고 상태 – 행동 쌍의 해석을 향상시킬 수 있습니다.

이 피드백 루프는 지도학습에서 오류의 역 전파(backpropagation)와 유사합니다. 그러나 지도학습은 신경낭이 예측하려고 하는 진실의 라벨에 대한 지식으로 시작됩니다. 그 목표는 서로 다른 이미지를 각각의 이름으로 매핑하는 모델을 만드는 것입니다.

강화학습은 환경에 의존하여 각 새로운 작업에 대한 응답으로 스칼라 번호(scalar numbe)를 보냅니다. 환경에 의해 반환되는 보상은 알려지지 않은 변수에 따라 다양하거나 지연되거나 영향을 받을 수 있으며 피드백 루프에 노이즈를 발생시킵니다.

이것은 Q 함수를보다 완벽하게 표현할 수 있게 해줍니다. Q 함수는 액션에 의해 생성된 즉각적인 보상뿐만 아니라 시퀀스에서 몇 단계 더 깊은 단계로 반환 될 수있는 지연된 보상도 고려합니다.

인간과 마찬가지로, Q 함수는 재귀적입니다. wetware 메서드 human ()는 human ()이라는 또 다른 메서드를 포함하고 있습니다. 특정 상태 – 행동 쌍에 대해 Q 함수를 호출하면 중첩된 Q 함수를 호출하여 값을 예측해야합니다. 다음 상태는 그 이후의 상태의 Q 함수에 따라 달라집니다.

원문 : https://deeplearning4j.org/reinforcementlearning#reinforcement-learning