NNUE(Efficiently updatable neural network)는 입력이 신경망 기반 평가 함수이다. NNUE는 주로 알파-베타 트리의 리프 노드에 사용된다.[1] NNUE는 손으로 만든 평가 기능보다 느리지만 '현재 이동을 넘어서는 맹목' 문제를 겪지 않는다.[2]

NNUE는 위 나수(Yu Nasu)가 발명하고 2018년에 컴퓨터 장기에 도입되었다.[3][4] 2020년 8월 6일 NNUE는 처음으로 컴퓨터 체스 엔진인 스톡피시 12에 이식되었다.[5][6] 2021년부터 코모도 드래곤과 같은 최고 등급의 클래식 체스 엔진은 모두 경쟁력을 유지하기 위해 NNUE 구현을 갖추고 있다.

NNUE는 그래픽 처리 장치(GPU)가 필요 없이 중앙 처리 장치에서 효율적으로 실행된다.

원래 2018년 컴퓨터 장기 구현에 사용된 신경망은 W1(16비트 정수)과 W2, W3 및 W4(8비트)의 4개 가중치 계층으로 구성된다. 4개의 완전 연결 레이어, ReLU 활성화 기능을 갖추고 있으며 보드의 점수인 단일 숫자를 출력한다.

W1은 왕의 위치를 인코딩하므로 이 레이어는 왕이 이동한 후에만 재평가하면 된다. 적절한 내장 명령과 함께 증분 계산 및 SIMD(단일 명령 다중 데이터) 기술을 사용했다.[3]

같이 보기 편집

각주 편집

  1. “Stockfish 12”. 《Stockfish Blog》. 2020년 10월 19일에 확인함. 
  2. “Stockfish - Chessprogramming wiki”. 《www.chessprogramming.org》. 2020년 8월 18일에 확인함. 
  3. Yu Nasu (2018년 4월 28일). “Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi” (PDF) (일본어). 
  4. Yu Nasu (2018년 4월 28일). “Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi (Unofficial English Translation)” (PDF) (영어). 
  5. “Introducing NNUE Evaluation”. 2020년 8월 6일. 
  6. Joost VandeVondele (2020년 7월 25일). “official-stockfish / Stockfish, NNUE merge”. 

외부 링크 편집