AlphaGo의 정책 네트워크와 가치 네트워크의 차이점


25

Google의 AlphaGo ( http://googleresearch.blogspot.co.uk/2016/01/alphago-mastering-ancient-game-of-go.html ) 에 대한 고급 요약을 읽었으며 '정책'이라는 용어를 발견했습니다. 네트워크 "및"값 네트워크 " 높은 수준에서 저는 정책 네트워크가 움직임을 제안하는 데 사용되고 가치 네트워크는 "검색 트리의 깊이를 줄이고 각 위치에서 승자를 검색하는 대신 검색 트리의 깊이를 줄이고 (추정)"하는 데 사용됩니다. 게임의 끝. "

이 두 네트워크는 나에게 중복되어 보입니다. 가치 네트워크를 사용하여 정책을 제거하지 않는 경우 정책 네트워크는 어떻게됩니까? 가치 네트워크가 딥 러닝 신경망이라는 것은 분명합니다. 정책 네트워크는 실제 신경망이 아닌 이론적 인 추상화 일 뿐입니 까? 가치 네트워크의 목표 변수는 승리 / 손실 인 것 같습니다. 정책 네트워크에 대한 대상 변수가 있습니까? 그렇다면 무엇입니까? 정책 네트워크는 무엇을 최적화하려고합니까?

Nature에 게재 된 Google 논문의 전체 PDF는 https://vk.com/doc-44016343_437229031?dl=56ce06e325d42fbc72 에서 확인할 수 있습니다.


빠른 참고 사항 : 정책 네트워크의 목표 변수는 확률 분포입니다. 논문에서 : "이 신경망 (가치 네트워크)은 정책 네트워크와 유사한 구조를 가지고 있지만 확률 분포 대신 단일 예측을 출력합니다"
Zimano

3
다른 사람이 나와 같은이 오래된 질문에 걸려 넘어지면 AlphaGo의 후임자 인 "AlphaGo Zero"와 그 후자 인 "AlphaZero"가 결과를 가진 하나의 네트워크 만 훈련함으로써 실제로 중복성을 제거한다는 사실을 알게되어 기쁩니다. 정책 네트워크 (가능한 이동에 대한 확률 분포를 제공함)와 가치 네트워크 (보드가 주어질 확률을 제공함)의 기능을 수행합니다. 블로그 게시물 : deepmind.com/blog/alphago-zero-learning-scratch 및 논문이 링크되어 있습니다.
Kevin Wang

답변:


11

간단히 말해 각 그물은 언급 한 바와 같이 다른 목적을 가지고 있습니다.

  • 트리 검색의 깊이를 줄이기 위해 리프 노드에서 값 네트워크를 사용했습니다.
  • 정책 네트워크는 노드에서 검색의 폭을 줄이는 데 사용되었습니다 (유망한 즉각적인 조치로 안내).

일반적으로 가치 함수 방법을 사용하여 최적의 정책을 찾거나 정책 공간에서 직접 검색하여 매개 변수화 된 정책 기능을 최적화 할 수 있습니다 (물론 장단점이 있습니다). 각각의 경우 함수 근사값 (예 : Deep Nets)을 사용할 수 있습니다. 나는 주로 당신이 정책 망에 대해 혼란스러워서 이에 대한 나의 대답에 집중하는 것을 본다.

정책 순은 처음이었다 :

인간이 보드 상태를 가질 가능성이 가장 높은 움직임을 수행하도록 훈련받습니다. 네트는 상태에서 동작으로의 매핑의 기초가되는 확률 함수에 근접 할 수 있습니다. 가용 한 데이터로 정책을 구축하는 것이 좋습니다. 전문가 이동을 통한 감독 된 훈련 후 정책 네트웍은 게임을 충분히 플레이 할 수있다 (마스터 레벨과는 거리가 멀지 만). 간단히, 당신은 프로 선수들의 일반적인 행동 선택 패턴을 포착하려고 시도했습니다.

그때,

그것은 이전에 배운 정책을 최적화하기 위해 상대방과의 게임에서 훈련되었습니다. 이번에는 가중치가 REINFORCE 알고리즘을 사용하여 업데이트되었습니다. 이렇게하면 예상 보상을 최대화하기 위해 순 매개 변수를 업데이트합니다. 결국 당신은 프로 선수와 같은 행동을 선택할뿐만 아니라 게임에서 이길 수있는 네트를 가지고 있습니다 (그러나 계획 할 수는 없습니다!).

이 단계 후에, 그들은 회귀에 의해 학습 된 정책의 조금 더 시끄러운 버전의 가치 함수를 근사했습니다 (입력은 상태 보드이고 게임 결과를 목표로합니다). 이 네트워크를 사용하여 리프 노드 평가에 영향을 줄 수 있습니다.

개념적으로 말하면, 정책 그물은 당신에게 행동에 대한 확률을 제공하지만, 이것이 게임, 국가를 이기기 위해 좋은 결과를 낳을 것이라는 것을 나타내지는 않습니다. AlphaGo에는 "맹점"이 있었고 토너먼트 중에는 실제로 나쁜 움직임을 보였지만 인간이 생각할 수 없었던 예외적 인 움직임도있었습니다.

마지막으로 이러한 네트와 함께 계획 알고리즘 (MCTS)을 사용할 수 있습니다. 왜 우리가이 모든 단계를 밟았습니까? 간단히 말해서 "직관"이없는 간단한 MCTS는 실패했을 것입니다.


나는 Actor-Critic에 대해 배웠고 순수한 가치 기반 정책과 정책 기반 방법 사이의 비용 / 혜택을 어떻게 상쇄시키는 지에 대해이 질문으로 돌아 왔습니다. 이 답변은이 세부 사항을 설명하는 데 가장 가깝다고 생각하지만 David Silver의 강의에서 잘 설명되어 있습니다 : www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/pg.pdf (7 강의 YouTube ( youtube.com/… ) 에서도 볼 수 있습니다 .
Neil Slater

순수한 MCTS 기반 접근 방식은 성공적인 것으로 나타 났으므로 더 넓은 맥락에서 실패했을 것이라고는 말할 수 없습니다.
Zimano

1
나는 Go 게임의 경우와 마스터 게임 레벨에 도달하는 것에 대해서만 언급하고 있습니다. 실제로 David Silver (다른 연구원들과 마찬가지로)는 박사 이후 MCTS와 함께 Go 게임을 해결하는 작업을하고있었습니다. 그러나 위의 방법들을 조합 할 때까지 최고 수준에서 경쟁 할 수있는 것은 없습니다.
Constantinos

9

여기에 서로 다른 두 네트워크를 이해하는 간결한 사고 과정이 있습니다.

우선, 목표는 철저한 검색을 사용하지 않고 최적의 솔루션을 찾거나 매우 최적의 솔루션을 찾는 것입니다.

위치 또는 상태에 따라 N 이동이 가능하며 각 이동마다 전체 검색 트리에 자체 깊이 D가 있습니다. 이론적으로나 수학적으로 모든 경로를 살펴보고 최적의 솔루션을 찾는 것이 가능합니다. 그러나 전체 검색을 원하지 않습니다.

이제 우리는 근사 접근법을 개발하기 위해 두 가지 별도의 질문을 받았습니다.

Q1. 위치 당 N을 벗어나는 움직임을 어떻게 건너 뛰거나 무시할 수 있습니까? (즉, 호흡 감소)

Q2. 최적의 솔루션을 찾지 못하고 게임이 끝날 때까지 검색 트리를 탐색하지 않고 검색 트리에서 중간 정도의 깊이에서 멈추는 방법 (즉, 깊이 감소)

정책 네트워크는 주로 N 밖으로 쓸모없는 움직임을 걸러 내기 위해 설계되었지만 최적의 솔루션을 찾지 못했습니다. 여기서이 네트워크는 처음에는 SL과 같은 인간 전문가 이동에 의존하고 나중에 RL에 의해 개선됩니다.

가치 네트워크는 주로 전체 검색없이 우승 확률을 찾기 위해 설계되었습니다.

이 두 네트워크는 최적의 솔루션을 찾는 데 공통적 인 목표를 가지고 있지만 전략적으로 선택할 때마다 각 네트워크마다 다른 역할을합니다.

나는 이것이 도움이되기를 바랍니다. 나는 그것이 여전히 높은 수준이라는 것을 알고 있습니다.


두 가지 방법으로 설명하는 것이 매우 간결합니다.
Tim

6

OP가 AlphaGo와 알파-베타를 혼동하고 있다고 생각합니다. 알파-베타에서는 잘라내기를 돕기 위해 정책 네트워크를 사용해야하지만 여기서는 그렇지 않습니다. 알고리즘이 몬테카를로 트리 검색 (MCTS)에 의존하기 때문에 다시 정리하지 않습니다.

내 대답이 너무 길다고 생각되는 사람은 요약 섹션으로 건너 뛸 수 있습니다. 여기서 두 네트워크가 중복되지 않는 이유를 설명합니다.

다음 예에서는 아이디어를 이해하기 쉽게 단순화 할 것입니다.

예:

두 가지 법적 움직임이있는 위치에 있다고 상상해보십시오. 첫 번째 움직임은 당신에게 치명적이지만, 두 번째 움직임은 당신에게 승리 이점을 제공합니다.

  • 첫 번째 움직임 : 당신을위한 강제 손실
  • 두 번째 움직임 : 당신을 위해 강제 승리

평가 네트워크

Google이 제공하는 평가 네트워크가 완벽하다고 가정 해 봅시다. 이 예제에서는 모든 리프 위치를 완벽하게 평가할 수 있습니다. 이 예에서는 가치 네트워크를 변경하지 않습니다.

예제를 단순화하기 위해 가치 네트워크가 제공한다고 가정 해 봅시다.

  • -당신을 위해 손실 잎 위치에 -1000
  • 당신에게이기는 잎 위치에 +1000

정책 네트워크

Google이 두 개의 정책 네트워크를 제공한다고 가정 해 보겠습니다. 우리의 입장에서 생성 된 확률은 다음과 같습니다.

  • 정책 1 : 이동 1의 경우 0.9, 이동 2의 경우 0.1
  • 정책 2 : 이동 1의 경우 0.2, 이동 2의 경우 0.8

첫 번째 정책 네트워크는이 예에 대해 잘못된 사전 확률을 제공합니다 . 이동 1에 대해 0.9를 주며 이는지는 이동입니다. 구글조차 완벽한 정책 네트워크를 훈련시킬 수는 없기 때문에 괜찮습니다.

첫 번째 정책 네트워크로 재생

AlphaGo는 Monte-Carlo로 시뮬레이션을 생성해야하며 이동 1 또는 2를 선택해야합니다. 이제 AlphaGo는 균일하게 분포 된 랜덤 변수를 그리고 다음을 선택합니다 :

  • 난수가 <= 0.9 인 경우 1을 이동하십시오.
  • 난수가 0.9보다 크면 2만큼 이동

따라서 AlphaGo는 가장 첫 번째 시뮬레이션에서 시뮬레이션으로지는 이동을 훨씬 더 많이 선택합니다. 첫 번째 시뮬레이션에서는 값 네트워크를 사용하여 시뮬레이션 점수를 얻습니다. 논문에서 그것은 :

여기에 이미지 설명을 입력하십시오

이 시뮬레이션은 손실로 이어지기 때문에이 값은 -1000입니다.

이제 AlphaGo는 두 번째 시뮬레이션을 생성해야합니다. 다시 말하지만, 첫 번째 움직임은 훨씬 더 많이 선택 될 것입니다. 그러나 결국 두 번째 조치는 다음과 같은 이유로 선택됩니다.

  • 두 번째 움직임에 대한 우리의 사전 확률은 0이 아닌 0.1입니다.
  • AlphaGo는 많이 탐색되지 않은 움직임을 시도하도록 권장됩니다. 논문에서 이것은 다음 방정식에 의해 수행됩니다.

여기에 이미지 설명을 입력하십시오

N이동의 수는 이동 검색과는 분모에 있습니다. 첫 번째 움직임을 검색할수록 u기능이 작아집니다 . 따라서 AlphaGo가 실제로 다음 방정식으로 이동을 선택하기 때문에 두 번째 이동을 선택할 확률이 향상됩니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

이것이 핵심 방정식입니다. 주의 깊게 살펴보십시오.

  • P사전 확률에 대한 용어 가 있습니다 (정책 네트워크에서 제공).
  • Q평가 점수에 대한 용어 가 있습니다 (가치 네트워크에서 제공).

이제 우리는 두 번째 움직임이 결국 선택 될 것임을 알고 있습니다. 그것이 일어날 때, 가치 네트워크는 +1000을 제공합니다. 이 증가 하여 나중에 시뮬레이션에서 Q두 번째 이동이 훨씬 더 많이 선택 수 있습니다.

충분한 시뮬레이션이 제공되면 시뮬레이션을 위해 두 번째 이동이 선택된 횟수는 첫 번째 이동이 선택된 횟수보다 많아야합니다.

마지막으로, AlphaGo가 결정한 움직임은 (종이에서 인용) :

검색이 완료되면 알고리즘은 루트 위치에서 가장 많이 방문한 이동을 선택합니다.

두 번째 정책 네트워크로 재생

우리의 두 번째 정책 네트워크는 정책 네트워크에 의해 주어진 사전 확률이 처음에 정확하기 때문에 이동 2를 선택하는 데 적은 반복이 필요합니다.

비고

여기에있는 모든 것은 Bayesian분석 과 매우 유사합니다 . 우리는 정책 네트워크에 의해 주어진 사전 확률로 시작한 다음, 확률 배제 (가치 네트워크에 의해 주어진)를 이동시키기 위해 데이터를 생성한다.

요약

  • 정책 네트워크는 Monte-Carlo 검색이 어떤 움직임을 선택해야하는지 안내하기 위해 사전 확률을 생성하는 데 사용됩니다.
  • 가치 네트워크는 정책 네트워크를 검증하기 위해 데이터를 생성하는 데 사용됩니다. 정책 네트워크가 나쁘면 AlphaGo는 수렴하기 위해 더 많은 컴퓨팅 리소스가 필요합니다.
  • 베이지안 분석처럼 생각할 수 있습니다

이것이 내부 메커니즘에 대해 훨씬 더 깊은 통찰력을 제공한다고 생각합니다. 왜 두 네트워크가 왜 그런지를 설명하는지 확실하지 않습니다. 내가 가진 문제는 "평가 네트워크를 가정합니다 ... 완벽합니다". 이 경우 실제로 정책 네트워크가 중복됩니다. 가능한 모든 이동에 대해 한 번만 이동하고 최고의 가치 네트워크 평가를 사용하여 이동하십시오. 물론 가치 네트워크는 완벽하지 않으며, 게임이 진행됨에 따라 더욱 정확해질 것으로 생각됩니다. . . 그러나 그것이 얼마나 진실 / 유용한 지, 또는 이것이 대답을 완료했는지는 알 수 없습니다.
Neil Slater

@NeilSlater Ok. 네트워크가 완벽하지는 않지만 더 많은 MC 시뮬레이션이 필요하다는 점에서 여전히 좋은 이유입니다.
SmallChess

@StudentT 주요 방정식에 대한 멋진 설명. 몬테카를로 트리 검색의 입장을 이해하기 위해 "10 개의 움직임을 미리 볼 필요가있다"고 말하는 것은 의미가 없습니다. MCTS는 깊이 우선 증명 번호 검색이며 체스에서 반복 심화와 같이 고정 깊이에 도달하지 않습니다. 게임이 끝나기 전에 노드를 평가할 수있는 가치 네트워크를 사용하더라도, 우리는 여전히 광범위한 첫 번째 방법으로 이들에 도달하지 않으며 노드 등의 최소-최대 평가가 없습니다.
Imran

@Imran 내 게시물을 자유롭게 편집하십시오.
SmallChess

3

정책 네트워크 (Policy Network) : 게임에 특정 입력을 제공하여 명확한 결과를 얻는 것을 배우는 네트워크를 정책 네트워크라고합니다.

가치 네트워크 : 가치 네트워크는 현재 상태에 대한 예상 누적 점수를 계산하여 게임 상태에 가치 / 점수를 할당합니다 s. 모든 상태는 가치 네트워크를 통과합니다. 더 많은 보상을받는 주들은 분명히 네트워크에서 더 많은 가치를 얻습니다.

더 나은 이해 애니메이션과 여기에 이동 : 강화 학습의 가치 네트워크 대 정책 네트워크를

여기에 이미지 설명을 입력하십시오


0

내가 이해하는 것의 차이점은 출력에 있습니다. 정책 네트워크가 가능한 이동에 대한 확률 분포를 출력하는 경우, 가치 네트워크는이 보드 구성이 주어지면 당첨 확률로 해석 될 수있는 실제 값을 반환합니다. 거기에서 몬테카를로 트리 검색은 상위 K 값의 네트워크 출력을 가져 와서 검색 트리를 다시 좁히는 것을 통해 수행됩니다.

내가 틀렸다면 나를 바로 잡아야 할 의무를 느낀다.


2
당신은 틀린 AFAIK는 아니지만 이것이 질문에 대한 대답이라고 생각하지 않습니다. OP는 RL의 가치 기반 또는 정책 기반 모델의 차이점을 알고있는 것 같습니다. 두 접근 방식은 실제로 다른 출력을 갖습니다. 그러나 둘 중 하나를 보는 것이 더 일반적이며 두 모델은 일반적으로 "Value_maxarg (S ') == Policy_maxarg (S, A)"에서 중복됩니다. 여기서 S는 현재 상태이고 A는 S '가 결과 상태입니다. 즉, 더 일반적인 RL 설정의 두 네트워크는 출력이 다르더라도 동일한 결과를 생성합니다.
Neil Slater
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.