인공지능/강화학습

matlab 강화학습 - 정책과 학습 Policies and training

이게될까 2024. 5. 8. 01:33
728x90
728x90

https://kr.mathworks.com/videos/reinforcement-learning-part-3-policies-and-learning-algorithms-1554395009678.html

 

Reinforcement Learning, Part 3: Policies and Learning Algorithms

This video provides an introduction to the algorithms that reside within the agent. We’ll cover why we use neural networks to represent functions and why you may have to set up two neural networks in a powerful family of methods called actor-critic.

kr.mathworks.com

이번엔 정책, 학습에 초점을 맞춰서 에이전트에 대해 설명하겠다.

 

정책이 상태 관측을 가져와서 행동을 출력하는 함수이다.

테이블이나 다른 함수는 불편하다 -> 신경망으로 활용한다

 

인공 신경망에 대해 설명하네요

2024.01.15 - [인공지능/자연어 처리] - 자연어 처리 - 인공지능 선형대수, 인공 신경망

 

자연어 처리 - 인공지능 선형대수, 인공 신경망

선형대수 0에서 시작하는 것 잊지 말기(코딩에서는) 메틀렙은 1에서 시작하지만 대부분은 0에서 시작한다고 알면 됩니다. 크기가 같아야 진행한다. 단순히 모든 원소에 곱해주면 된다. 가로 * 세

yoonschallenge.tistory.com

이 내용 정도가 나옵니다.

CNN, FCN, RNN 모두 상관없다 다 사용할 수 있다.

신경망 - 정책을 표현한다.

 

행위자 - 환경 스테이트를 받아서 액션을 출력한다.

 

정책 경사 메서드 - 액션의 확률을 출력한다.
보상이 극대화 되도록 학습한다.

 

가치 함수 기반 알고리즘 - 그리드 월드 == 비평가 Critic
여기선 액션의 수가 적으니 테이블로 적을 수 있다.

벨만 방정식도 나오네요

2024.04.20 - [인공지능/공부] - 강화 학습 정리 - 3강 벨만 방정식

 

강화 학습 정리 - 3강 벨만 방정식

R- 보상, 리워드 G - 리턴 v - 상태 가치 방정식 q - 액션 가치 방정식 E - 평균 취하기 * - 최적 값 t - 상태 시간 단위 (k 보다 작은 시간인데 이전에서 나왔던 시간의 개념과 똑같다.) k - 에피소드 시

yoonschallenge.tistory.com

음 그럼 신경망이 2개가 사용되는 거네?

여기서 액션은 연속된 값을 쓰는게 아니려 비연속적인 값 몇개로 나눠서 쓴다.

학습을 계속 진행하면 정확한 value를 뽑는다.

 

행위자 - 액션을 선택해준다.

비판가 - 가치를 추정한다.

 

정책이 비평가를 따른다고 볼 수 있다.

 

 

지난 영상에서 우리는 주로 환경 설정, 즉 환경에 무엇이 포함되어 있는지, 그리고 환경으로부터의 보상이 에이전트의 행동을 안내하는 데 어떻게 사용되는지에 집중했습니다. 이 비디오에서는 에이전트 설정, 특히 RL 워크플로의 마지막 세 단계에 중점을 두겠습니다.

이제 이러한 단계를 완전히 다루려면 몇 학기 분량의 자료가 필요합니다. 다행히도 이것이 이 17분짜리 비디오의 목표는 아닙니다. 대신, 더 완전한 다른 소스를 살펴볼 때 더 이해하기 쉽도록 무슨 일이 일어나고 있는지에 대한 일반적인 이해를 제공하는 높은 수준의 몇 가지 주제를 소개하고 싶습니다. 따라서 이번 영상에서는 다음 두 가지 주요 질문을 다루겠습니다.

첫째, 테이블이나 전달 함수와 같은 다른 것이 아닌 함수를 표현하기 위해 신경망을 사용하는 이유는 무엇입니까? 둘째, 두 개의 신경망을 설정해야 하는 이유와 배우 평론가라는 강력한 방법 계열에서 이들이 어떻게 서로를 보완하는지입니다. 그럼 시작해 보겠습니다. 저는 Brian입니다. MATLAB Tech Talk에 오신 것을 환영합니다.

지난번에는 정책이 어떻게 상태 관찰을 받아들이고 작업을 출력하는 함수인지 설명하면서 끝났습니다. 그런 다음 테이블과 구체적으로 정의된 함수가 많은 경우에 훌륭한 솔루션이 아닌 이유에 대한 아이디어를 간략하게 소개했습니다. 이는 상태 및 작업 공간이 매우 커지면 테이블이 실용적이지 않고 복잡한 환경에 적합한 기능 구조를 만들기가 어렵기 때문입니다. 그러나 신경망을 사용하면 이 두 가지 문제를 모두 해결할 수 있습니다.

신경망은 보편적인 함수 근사자가 될 수 있는 방식으로 연결된 노드 또는 인공 뉴런의 그룹입니다. 이는 노드와 연결의 올바른 조합이 주어지면 모든 입력 및 출력 관계를 모방하도록 네트워크를 설정할 수 있음을 의미합니다. 예를 들어 로봇 비전 시스템의 수백 픽셀 값을 이 함수의 입력으로 사용할 수 있고 출력은 로봇의 팔과 다리를 구동하는 액추에이터 명령이 될 수 있기 때문에 이는 우리에게 좋습니다. 비록 그 기능이 극도로 복잡할지라도 우리는 그것을 달성할 수 있는 일종의 신경망이 있다는 것을 알고 있습니다. 

신경망 수학에 익숙하지 않다면 이 주제에 대해 3 Blue 1 Brown이 쓴 4부작 시리즈를 강력히 추천합니다. 그는 네트워크 내에서 무슨 일이 일어나고 있는지에 대한 환상적인 시각화를 제공하므로 여기서는 대부분의 논의를 건너뛰겠습니다. 하지만 저는 몇 가지 사항만 강조하고 싶습니다.

왼쪽에는 함수에 대한 각 입력에 대해 하나씩 입력 노드가 있고 오른쪽에는 출력 노드가 있습니다. 그 사이에는 숨겨진 레이어라고 불리는 노드 열이 있습니다. 이 네트워크에는 2개의 입력, 2개의 출력, 각각 3개의 노드로 구성된 2개의 숨겨진 레이어가 있습니다. 완전히 연결된 네트워크에는 각 입력 노드에서 다음 레이어의 각 노드로, 그런 다음 해당 노드에서 그 다음 레이어로, 다시 출력 노드까지 화살표 또는 가중치 연결이 있습니다. 노드의 값은 모든 입력 노드의 합에 해당 가중치와 편향을 곱한 값과 같습니다. 우리는 레이어의 모든 노드에 대해 이 계산을 수행하고 이를 선형 방정식 시스템으로 간단한 행렬 형태로 작성할 수 있습니다.

이제 이와 같이 간단하게 노드의 값을 계산한 다음 이를 다음 계층에 입력으로 공급하여 동일한 유형의 선형 작업을 수행하고 다시 출력 계층에 공급하면 아마도 문제가 발생할 수 있습니다. 도대체 어떻게 수많은 선형 방정식이 범용 함수 근사자로 작동할 수 있습니까? 구체적으로 어떻게 비선형 함수를 나타낼 수 있습니까? 그 이유는 인공 신경망의 가장 중요한 측면 중 하나인 한 단계를 생략했기 때문입니다. 노드의 값이 계산된 후 어떤 방식으로든 노드의 값을 변경하는 활성화 함수가 적용됩니다. 두 가지 널리 사용되는 활성화 함수는 노드 값을 0과 1 사이로 압축하는 시그모이드 함수와 기본적으로 음수 노드 값을 0으로 만드는 ReLU 함수입니다. 다양한 활성화 함수가 있지만 공통점은 비선형이라는 것입니다. 이는 모든 함수에 근접할 수 있는 네트워크를 만드는 데 중요합니다.

이제 왜 이런 일이 일어나는지 알아보겠습니다. 저는 ReLU와 시그모이드 활성화를 각각 사용하여 어떻게 시연할 수 있는지 보여주는 Brendon Fortuner와 Michael Neilson의 설명을 정말 좋아합니다. 설명에 해당 블로그의 링크를 걸어 두었습니다.

좋아요, 이제 우리가 어디에 있는지 상기시켜 보겠습니다. 우리는 많은 수의 관찰을 받아들여 이를 일부 비선형 환경을 제어하는 ​​일련의 작업으로 변환할 수 있는 함수를 찾고 싶습니다. 그리고 이 함수의 구조는 우리가 직접 풀기에는 너무 복잡하기 때문에 시간이 지남에 따라 함수를 학습하는 신경망을 사용하여 이를 근사화하려고 합니다. 그리고 어떤 네트워크든 연결하고 강화 학습 알고리즘을 풀어 가중치와 편향의 올바른 조합을 찾으면 끝이라고 생각하기 쉽습니다. 불행히도 평소처럼 그렇지 않습니다. 

우리가 찾고 있는 기능에 근접할 만큼 충분히 복잡하지만 훈련이 불가능하거나 불가능할 정도로 느려질 정도로 너무 복잡하지는 않도록 신경망에 대해 미리 몇 가지 선택을 해야 합니다. 예를 들어, 이미 본 것처럼 활성화 함수, 숨겨진 레이어 수, 각 레이어의 뉴런 수를 선택해야 합니다. 하지만 그 외에도 우리는 네트워크의 내부 구조를 제어할 수도 있습니다. 내가 그린 네트워크처럼 완전히 연결되어야 합니까, 아니면 잔여 신경망처럼 연결이 레이어를 건너뛰어야 합니까? 순환 신경망을 사용하여 내부 메모리를 생성하기 위해 스스로 루프백해야 합니까? 뉴런 그룹이 컨볼루션 신경망처럼 함께 작동해야 합니까? 등등.

선택의 여지가 많지만 다른 제어 기술과 마찬가지로 올바른 접근 방식은 하나도 없습니다. 많은 경우, 해결하려는 문제 유형에 이미 효과가 있었던 네트워크 구조에서 시작하여 거기에서 조정하는 것으로 귀결됩니다.

이제 우리는 이러한 신경망을 사용하여 에이전트의 정책을 표현한다고 계속 말하지만 이것이 정확히 무엇을 의미하는지에 관해서는 강화 학습 알고리즘의 몇 가지 클래스에 대한 상위 수준 설명을 살펴봐야 합니다. 가치 함수 기반, 배우 평론가. 다음은 확실히 지나치게 단순화된 내용이겠지만, RL에 접근할 수 있는 방법에 대한 기본적인 이해를 얻으려는 경우 이것이 시작하는 데 도움이 될 것이라고 생각합니다.

높은 수준에서 볼 때, 정책 함수 기반 학습 알고리즘은 상태 관찰을 받아 동작을 출력하는 신경망을 훈련하려고 하기 때문에 많은 의미가 있다고 생각합니다. 이는 제어 시스템에서 컨트롤러가 수행하는 작업과 밀접한 관련이 있습니다. 이 신경망은 에이전트에게 어떻게 행동할지 직접 알려주기 때문에 액터라고 부를 것입니다. 

구조는 매우 간단해 보입니다. 이제 문제는 이러한 유형의 네트워크를 훈련하는 방법에 대한 것입니다. 이것이 어떻게 수행되는지에 대한 일반적인 느낌을 얻기 위해 Atari 게임 Breakout을 살펴보겠습니다.

익숙하지 않다면 Breakout은 패들을 사용하여 튀는 공을 조종하여 벽돌을 제거하는 게임입니다. 이 게임에는 세 가지 동작만 있습니다. 패들을 왼쪽, 오른쪽으로 움직이거나 전혀 움직이지 않는 것과 패들의 위치, 공의 위치와 속도, 나머지 벽돌의 위치를 ​​포함하는 거의 연속적인 상태 공간입니다.

이 예에서는 관찰이 게임의 화면 캡처이며 한 번에 한 프레임씩 공급되므로 모든 픽셀에 대해 신경망에 하나의 입력이 있다고 가정합니다. 이제 네트워크 세트를 훈련하는 데는 여러 가지 접근 방식이 있습니다. 하지만 저는 다양한 변형이 가능한 하나의 광범위한 접근 방식을 강조하겠습니다. 바로 정책 그라데이션 방법입니다. 정책 그라디언트 방법은 확률론적 정책과 함께 작동할 수 있습니다. 즉, 결정론적(왼쪽 또는 오른쪽 선택) 대신 정책이 왼쪽 또는 오른쪽 선택 확률을 출력한다는 의미입니다. 확률론적 정책은 탐색이 확률에 내장되어 있기 때문에 탐색/이용 문제를 처리합니다. 이제 우리가 학습하면 에이전트는 확률을 업데이트하기만 하면 됩니다. 오른쪽보다 왼쪽을 선택하는 것이 더 나은 선택입니까? 이 상태에서 좌회전할 확률을 조금 더 높여보세요. 그런 다음 시간이 지남에 따라 에이전트는 이러한 확률을 가장 많은 보상을 생성하는 방향으로 조금씩 움직입니다.

그렇다면 행동이 좋은지 아닌지 어떻게 알 수 있을까요? 아이디어는 다음과 같습니다. 현재 정책을 실행하고, 그 과정에서 보상을 수집하고, 보상을 증가시키는 행동의 확률을 높이기 위해 네트워크를 업데이트합니다. 패들이 왼쪽으로 가서 공을 놓치고 부정적인 보상을 초래한다면? 그런 다음 신경망을 변경하여 다음에 에이전트가 해당 상태에 있을 때 패들을 바로 움직일 확률을 높이세요. 본질적으로 보상과 관련하여 각 가중치와 편향의 미분을 취하여 긍정적인 보상 증가 방향으로 조정합니다. 이러한 방식으로 학습 알고리즘은 네트워크의 가중치와 편향을 이동하여 보상 기울기를 위로 올립니다. 이것이 이름에 그라데이션이라는 용어가 사용되는 이유입니다.

이 뒤에 숨어 있는 수학은 제가 이 비디오에서 설명하고 싶은 것보다 더 많습니다. 하지만 실제로 미분을 취하지 않고도 기울기를 찾는 것이 어떻게 가능한지 알아보려면 정책 기울기 정리를 읽어 보시기 바랍니다. 설명란에 링크를 남겨두었습니다.

정책 경사 방법의 단점 중 하나는 가장 가파른 상승 방향을 따르는 순진한 접근 방식이 전체가 아닌 로컬 최대값에 수렴할 수 있다는 것입니다. 또한 시끄러운 측정에 대한 민감성으로 인해 천천히 수렴할 수 있습니다. 예를 들어 보상을 받기 위해 많은 순차적 작업이 필요하고 결과적인 누적 보상이 에피소드 간에 높은 차이를 보이는 경우 이러한 현상이 발생합니다. 에이전트가 단일 보상을 받기 전에 수백 또는 수천 개의 순차적 작업을 연결해야 한다고 상상해 보세요. 극도로 희박한 보상 시스템을 사용하여 에이전트를 교육하는 데 얼마나 시간이 걸릴 수 있는지 알 수 있습니다. 이 점을 명심하세요. 이 비디오가 끝날 때쯤에 그 문제에 대해 다시 다루겠습니다.

함수 기반 학습 알고리즘의 가치를 살펴보겠습니다. 이를 위해 널리 사용되는 그리드 세계를 환경으로 사용하는 예부터 시작해 보겠습니다. 이 환경에는 X 그리드 위치와 Y 그리드 위치라는 두 가지 개별 상태 변수가 있습니다. 그리드 세계에는 긍정적인 보상을 갖는 상태는 단 하나 뿐이고 나머지는 부정적인 보상을 갖습니다. 우리는 에이전트가 가장 많은 보상을 받기를 원한다는 아이디어입니다. 즉, 가능한 최소한의 움직임으로 긍정적인 보상을 얻는 것을 의미합니다. 에이전트는 위, 아래, 왼쪽 또는 오른쪽으로 한 번에 한 칸만 이동할 수 있으며 강력한 인간에게는 보상을 얻기 위해 정확히 어느 방향으로 가야 하는지 쉽게 알 수 있습니다. 하지만 에이전트는 환경에 대해 아무것도 모른다는 점을 명심해야 합니다. 단지 네 가지 행동 중 하나를 취할 수 있다는 것과 행동을 취한 후 환경으로부터 자신의 위치와 보상을 돌려받는다는 사실만 알고 있을 뿐입니다.

가치 함수 기반 에이전트를 사용하면 함수는 상태와 해당 상태에서 가능한 작업 중 하나를 가져와 해당 작업을 수행하는 값을 출력합니다. 값은 첫 번째 비디오에서 이야기한 것처럼 해당 주에서 할인된 총 보상의 합계입니다. 이러한 방식으로 정책은 단순히 가능한 모든 작업의 ​​가치를 확인하고 가장 높은 가치가 있는 작업을 선택하는 것입니다. 이 기능은 가능한 행동을 살펴보고 에이전트의 선택을 비판하기 때문에 비평가로 생각할 수 있습니다. 그리드 세계에는 유한한 수의 상태와 동작이 있으므로 조회 테이블을 사용하여 이 기능을 나타낼 수 있습니다. 이를 Q-테이블이라고 하며, 여기에는 모든 상태와 작업 쌍에 대한 값이 있습니다.

그렇다면 에이전트는 이러한 값을 어떻게 학습합니까? 글쎄, 처음에는 이를 모두 0으로 초기화할 수 있으므로 에이전트에게는 모든 작업이 동일하게 보입니다. 이것은 탐색 속도 엡실론이 들어오는 곳이며 에이전트가 임의의 조치를 취할 수 있도록 합니다. 해당 작업을 수행한 후 새로운 상태가 되고 환경에서 보상을 수집합니다. 에이전트는 해당 보상, 즉 새로운 정보를 사용하여 방금 수행한 작업의 값을 업데이트합니다. 그리고 유명한 벨만 방정식을 사용하여 이를 수행합니다.

Bellman 방정식을 사용하면 에이전트는 전체 문제를 여러 개의 간단한 단계로 분할하여 시간이 지남에 따라 Q 테이블을 풀 수 있습니다. 따라서 동적 프로그래밍을 통해 한 단계에서 상태/작업 쌍의 실제 값을 해결하는 대신 에이전트는 방문할 때마다 상태/작업 쌍을 업데이트합니다. 이 방정식을 말로 설명하여 이해가 되기를 바랍니다.

에이전트가 조치를 취한 후 보상을 받습니다. 가치는 행동으로 인한 즉각적인 보상 그 이상입니다. 이는 미래에 기대되는 최대 수익입니다. 따라서 상태/작업 쌍의 값은 에이전트가 방금 받은 보상에 에이전트가 앞으로 수집할 것으로 예상되는 보상의 양을 더한 값입니다. 그리고 우리가 말했듯이 에이전트가 먼 미래의 보상에 너무 많이 의존하지 않도록 감마로 미래 보상을 할인합니다. 이는 이제 상태/작업 쌍 s, a의 새 값입니다. 그래서 우리는 이 값을 Q 테이블에 있는 값과 비교하여 오류를 얻거나 에이전트의 예측이 얼마나 벗어났는지 확인합니다. 오류에 학습률을 곱하고 결과 델타 값이 이전 추정값에 추가됩니다.

에이전트가 두 번째로 동일한 상태로 돌아오면 업데이트된 값을 갖게 되며 동일한 작업을 선택할 때 다시 조정됩니다. 그리고 모든 상태/작업 쌍의 실제 값이 최적의 경로를 활용하기에 충분히 알려질 때까지 이 작업을 계속해서 반복합니다. 

이 아이디어를 각도와 각속도의 두 가지 상태가 있는 역진자로 확장해 보겠습니다. 단, 이제 상태는 연속적입니다. 값 함수는 조회 테이블을 제외하고 연속 상태 공간을 처리할 수 있습니다. 그래서 우리는 신경망이 필요합니다. 아이디어는 동일합니다. 상태 관찰과 동작을 입력하면 신경망이 값을 반환합니다. 

이 설정은 연속적인 행동 공간에서는 잘 작동하지 않는다는 것을 알 수 있습니다. 왜냐하면 모든 무한한 행동을 어떻게 시도하고 최대값을 찾을 수 있기 때문입니까? 큰 작업 공간의 경우에도 계산 비용이 많이 들지만 나 자신보다 앞서 가고 있습니다. 지금은 행동 공간이 불연속적이고 에이전트가 5가지 가능한 토크 값 중 하나를 선택할 수 있다고 가정하겠습니다. 그것은 합리적인 것 같습니다.

그래서 여기에 아이디어가 있습니다. 관찰된 상태와 작업을 네트워크에 제공하면 값이 반환되며, 우리의 정책은 다시 가능한 모든 작업의 ​​값을 확인하고 가장 높은 값을 갖는 작업을 선택하는 것입니다. 그리드 세계와 마찬가지로 신경망은 처음에 정크 값으로 설정되고 학습 알고리즘은 벨만 방정식 버전을 사용하여 새 값이 무엇인지 결정하고 이에 따라 네트워크의 가중치와 편향을 업데이트합니다. 그리고 에이전트가 상태 공간을 충분히 탐색하면 가치 함수에 대한 좋은 근사치를 갖게 되며 어떤 상태에서든 최적의 동작을 선택할 수 있습니다.

꽤 깔끔하죠? 하지만 액션 공간이 상대적으로 작아야 한다는 단점이 있었습니다. 그러나 제어 문제에서는 역진자 문제에 연속적인 범위의 토크를 적용할 수 있는 것과 같이 연속적인 작업 공간이 있는 경우가 많습니다.

이를 통해 두 가지 기술을 배우/비평가라는 알고리즘 클래스로 병합하게 됩니다. 행위자는 정책 함수 방법에서와 마찬가지로 현재 상태에서 최선의 행동이라고 생각하는 것을 취하려고 하는 네트워크이고, 비평가는 상태의 가치를 추정하려는 두 번째 네트워크입니다. 가치 기반 방법에서 했던 것처럼 배우가 취한 행동입니다. 평론가는 배우가 취한 단 하나의 행동만 보고 모든 행동을 평가하여 최선의 행동을 찾으려고 노력할 필요가 없기 때문에 이는 연속 행동 공간에 효과적입니다.

기본적으로 작동 방식은 다음과 같습니다. 행위자는 정책 기능 알고리즘과 동일한 방식으로 작업을 선택하고 환경에 적용됩니다. 비평가는 해당 상태와 작업 쌍의 가치가 무엇이라고 생각하는지 추정한 다음 환경의 보상을 사용하여 가치 예측이 얼마나 정확한지 결정합니다. 오류는 이전 상태의 새로운 추정 값과 비판 네트워크의 이전 상태 값 간의 차이입니다. 새로운 추정값은 받은 보상과 현재 상태의 할인된 값을 기반으로 합니다. 비평가가 예상한 것보다 상황이 좋아졌는지 아니면 나빠졌는지 판단하는 데 오류를 사용할 수 있습니다.

비평가는 이 오류를 사용하여 가치 함수와 동일한 방식으로 자신을 업데이트하므로 다음에 이 상태에 있을 때 더 나은 예측을 할 수 있습니다. 행위자는 또한 비평가의 반응과 가능한 경우 오류 항을 업데이트하여 나중에 해당 조치를 다시 취할 확률을 조정할 수 있습니다.

즉, 이제 정책은 보상을 직접 사용하기보다는 비평가가 권장하는 방향으로 보상 기울기를 상승시킵니다.

따라서 배우와 비평가 모두 최적의 행동을 학습하려는 신경망입니다. 배우는 좋은 행동이 무엇이고 나쁜 행동인지 알기 위해 비평가의 피드백을 통해 올바른 행동을 학습하고, 비평가는 배우가 취하는 행동을 적절하게 비판할 수 있도록 받은 보상으로부터 가치 함수를 학습합니다. 이것이 에이전트에 두 개의 신경망을 설정해야 하는 이유입니다. 각각은 매우 특정한 역할을 수행합니다.

행위자-비평 방법을 사용하면 에이전트는 정책 및 가치 함수 알고리즘의 가장 좋은 부분을 활용할 수 있습니다. 배우 평론가는 연속 상태 공간과 행동 공간을 모두 처리할 수 있으며 반환된 보상의 분산이 높을 때 학습 속도를 높일 수 있습니다. 다음 영상에서는 배우 평론가 기반 알고리즘을 사용하여 이족보행 로봇이 걷게 하는 예를 보여드리겠습니다.

이 비디오를 마무리하기 전에 RL 워크플로우의 마지막 단계인 대상 하드웨어에 알고리즘을 배포하는 것에 대해 간략하게 논의하고 싶습니다. 지금까지 에이전트는 시뮬레이션된 환경과 상호작용하여 오프라인으로 학습했습니다. 그러나 정책이 충분히 최적이면 학습이 중지되고 개발된 제어 법칙과 마찬가지로 정적 정책이 대상에 배포됩니다. 그러나 우리는 정책과 함께 강화학습 알고리즘을 배포할 수 있는 능력도 갖추고 있으며 실제 환경에서 대상에 대한 학습을 ​​계속할 수 있습니다. 이는 정확하게 모델링하기 어렵거나 시간이 지남에 따라 천천히 변화하는 환경에 중요하므로 에이전트는 이러한 변화에 적응할 수 있도록 가끔 계속해서 학습해야 합니다.

좋아요, 지금은 이 영상을 남겨두겠습니다. 향후 Tech Talk 동영상을 놓치고 싶지 않다면 이 채널을 구독하는 것을 잊지 마세요. 또한 내 채널인 Control System Lectures를 확인하고 싶으시다면 거기에서 더 많은 제어 주제도 다루고 있습니다. 시청해 주셔서 감사드리며, 다음에 뵙겠습니다.

https://www.youtube.com/watch?v=2pWv7GOvuf0

https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi

 

Neural networks

Learn the basics of neural networks and backpropagation, one of the most important algorithms for the modern world.

www.youtube.com

https://towardsdatascience.com/can-neural-networks-really-learn-any-function-65e106617fc6

 

Can neural networks solve any problem?

Visualizing the Universal Approximation Theorem

towardsdatascience.com

 

https://lilianweng.github.io/posts/2018-04-08-policy-gradient/

 

Policy Gradient Algorithms

[Updated on 2018-06-30: add two new policy gradient methods, SAC and D4PG.] [Updated on 2018-09-30: add a new policy gradient method, TD3.] [Updated on 2019-02-09: add SAC with automatically adjusted temperature]. [Updated on 2019-06-26: Thanks to Chanseok

lilianweng.github.io

https://arxiv.org/pdf/1402.1869

 

https://kr.mathworks.com/videos/tech-talks/controls.html

 

MATLAB Tech Talks - Controls

Control systems are found everywhere, from cars and airplanes to hard drives and medical devices.

kr.mathworks.com

https://kr.mathworks.com/discovery/reinforcement-learning.html

 

강화학습이란?

강화 학습은 에이전트가 반복된 시행착오를 통해 과제를 학습하는 머신러닝 기법입니다. 비디오와 코드 예제를 통해 자세히 알아볼 수 있습니다.

kr.mathworks.com

 

728x90