MuZero의 체스 용 두 번째 바이너리 플레인은 어떻게 정의됩니까?
에서 MuZero 용지 (부록 E, 13 페이지)
체스에서는 8 개의 평면이 동작을 인코딩하는 데 사용됩니다. 첫 번째 원-핫 평면은 조각이 이동 한 위치를 인코딩합니다. 다음 두 평면은 조각이 이동 된 위치를 인코딩합니다. 즉, 보드에있는 경우 대상 위치를 인코딩하는 원-핫 평면과 대상이 (보드에서) 유효한지 여부를 나타내는 두 번째 이진 평면입니다. 이는 단순성을 위해 정책 작업 공간이 모든 가능한 작업의 상위 집합을 열거하고 모든 작업이 합법적이지 않으며 정책 예측 및 역학 함수 입력을 인코딩하기 위해 동일한 작업 공간을 사용하기 때문에 필요합니다. 나머지 5 개의 이진 평면은 승진 유형 (여왕, 기사, 비숍, 루크, 없음)을 나타내는 데 사용됩니다.
두 번째 이진 평면은 모두 0입니까 아니면 모두 1입니까? 또는 다른 것? 이사가 보드에서 벗어 났는지 어떻게 알 수 있습니까? 내 게임의 경우 보드에서 합법적 인 이동인지는 알지만 이동이 보드에서 벗어난 것인지는 알 수 없습니다.
답변
두 번째 이진 평면은 모두 0입니까 아니면 모두 1입니까? 또는 다른 것? 이사가 보드에서 벗어 났는지 어떻게 알 수 있습니까? 내 게임의 경우 보드에서 합법적 인 이동인지는 알지만 이동이 보드에서 벗어난 것인지는 알 수 없습니다.
두 번째 바이너리 플레인은 정의상 원-핫이고, 하나는 하나이고 나머지는 모두 0입니다. 이 정의가 충족되지 않으면 더 이상 "원-핫"이 아닙니다.
이 백서는 "기타"구현을 정확히 구현하는 방법을 설명하지 않습니다. 연구 논문은 코딩 수준으로 들어 가지 않습니다. 그러나 "보드 밖"을 감지하는 것은 어려운 작업이 아닙니다.
https://webcache.googleusercontent.com/search?q=cache:djj-G4T_PwgJ:https://craftychess.com/hyatt/boardrep.html+&cd=2&hl=en&ct=clnk&gl=au
보드 표현 진화의 다음 단계는 더 큰 배열 안에 보드를 묶어 잘못된 사각형이 가장자리를 벗어나 쉽게 감지되도록하는 것입니다.
가능성은 보드에 테두리를 추가하는 것입니다. Crafty가 그랬습니다. 보드를 10x10으로 확장합니다. 기사 점프를 처리해야하므로 9x9가 아닙니다.
정확히 어떻게해야하는지는 구현 정의입니다. AlphaZero는 오픈 소스가 아니기 때문에 Google이 무엇을했는지 모릅니다. 예를 들어 보겠습니다.