알파제로의 블랙박스가 오픈되었습니다! PNAS에 DeepMind 논문 게재
체스는 항상 AI의 시험장이었습니다. 70년 전, 앨런 튜링(Alan Turing)은 스스로 학습하고 경험을 통해 지속적으로 발전할 수 있는 체스 게임 기계를 만드는 것이 가능할 것이라는 가설을 세웠습니다. 지난 세기에 등장한 '딥블루'는 처음으로 인간을 이겼으나 인간의 체스 지식을 암호화하기 위해 전문가에 의존했고, 2017년 탄생한 알파제로는 튜링의 추측을 신경망 기반 강화학습 기계로 실현했다.
AlphaZero는 인위적으로 설계된 휴리스틱 알고리즘을 사용할 필요도 없고 인간이 체스를 두는 것을 지켜볼 필요도 없으며 전적으로 체스 자체를 두는 방식으로 훈련됩니다.
그렇다면 정말 체스에 대한 인간의 개념을 배우는 걸까요? 이것은 신경망 해석 가능성 문제입니다.
이에 대한 응답으로 AlphaZero의 저자인 Demis Hassabis는 DeepMind의 동료 및 Google Brain의 연구원과 협력하여 AlphaZero의 신경망에서 인간 체스 개념의 증거를 찾는 연구를 진행했으며, 훈련 중에 네트워크가 어떻게 획득했는지 보여줍니다. 이러한 개념의 배치는 또한 AlphaZero가 인간과 다른 체스 플레이 스타일을 드러냈습니다. 이 논문은 최근 PNAS에 게재되었습니다.
문서 주소: https://www.pnas.org/doi/epdf/10.1073/pnas.2206625119
AlphaZero는 훈련을 통해 인간 체스 개념을 습득합니다.
AlphaZero의 네트워크 아키텍처에는 다음이 포함됩니다. 백본 네트워크 잔여 네트워크(ResNet)와 별도의 정책 헤드 및 값 헤드는 네트워크 블록과 스킵 연결로 구성된 일련의 레이어로 구성됩니다.
훈련 반복 측면에서 AlphaZero는 무작위로 초기화된 매개변수가 있는 신경망으로 시작하여 반복적으로 자신과 체스를 두고 체스 말의 위치 평가를 학습하며 생성된 데이터를 기반으로 여러 번 훈련됩니다. 프로세스.
AlphaZero 네트워크가 인간이 이해하는 체스 개념을 얼마나 잘 나타내는지 확인하기 위해 이 연구에서는 희소 선형 프로빙 방법을 사용하여 훈련 중 네트워크 매개변수의 변화를 인간이 이해할 수 있는 개념의 변화로 매핑했습니다.
그림 1의 주황색으로 표시된 것처럼 개념을 사용자 정의 함수로 정의하는 것부터 시작하세요. 일반화된 선형 함수 g는 체스 개념 c에 근접하기 위한 프로브로 훈련됩니다. 근사값 g의 품질은 레이어가 개념을 얼마나 잘 (선형적으로) 인코딩하는지 나타냅니다. 주어진 개념에 대해 각 네트워크의 모든 계층에 대한 훈련 프로세스 중에 생성된 네트워크 시퀀스에 대해 프로세스가 반복됩니다.
그림 1: AlphaZero 네트워크에서 인간이 인코딩한 체스 개념 탐색(파란색).
예를 들어 함수를 사용하여 우리 편이나 장소에 "주교"(♗)가 있는지 확인할 수 있습니다.
물론 이보다 더 복잡한 체스 개념이 많이 있습니다. 예를 들어 체스 말 Mobility(이동성)의 경우 체스 말을 움직일 때 우리와 적의 점수를 비교하는 함수를 작성할 수 있습니다.
이 실험에서는 체스의 특정 분야에 대한 지식을 요약하여 개념 함수를 미리 지정했습니다.
다음 단계는 프로브를 훈련시키는 것입니다. 연구원들은 ChessBase 데이터 세트에서 자연적으로 발생하는 10^5개의 체스 위치를 훈련 세트로 사용하고 깊이 d의 네트워크 활성화로부터 희소 회귀 프로브 g를 훈련하여 주어진 개념 c의 값을 예측했습니다.
AlphaZero 자체 학습 주기의 다양한 훈련 단계에서 네트워크를 비교하고 각 네트워크의 다양한 계층에 있는 다양한 개념 프로브의 점수를 비교함으로써 네트워크가 특정 개념을 학습한 시간과 위치를 알 수 있습니다. 추출되었습니다.
마지막으로 "계산되는 개념이 무엇인지", "네트워크에서 계산이 발생하는 위치", "개념이 언제 나타나는지"에 대한 세 가지 지표인 각 개념의 언제 어디서 다이어그램을 얻습니다. 네트워크 훈련 중" 시각화. 그림 2와 같습니다.
그림 2: A부터 B까지의 개념은 '총점 평가', '일반화되었는가', '위협 평가', '적을 물리칠 수 있는가' 편의 여왕?", "적의 움직임이 우리 편을 죽일 것인가?", "말의 힘의 점수 평가", "말의 힘의 점수", "우리에게 왕의 병사가 있습니까?"
그림 C에서 볼 수 있듯이 AlphaZero가 강력해짐에 따라 "위협" 개념의 기능과 AlphaZero의 표현(선형 프로브로 감지할 수 있음)이 점점 더 관련성이 없어집니다.
이러한 What-When-Where 플롯에는 감지 방법을 비교하는 데 필요한 두 개의 기준선이 포함됩니다. 하나는 레이어 0에 표시된 입력 회귀이고 다른 하나는 훈련 시 무작위 가중치를 사용하는 네트워크 활성화의 회귀입니다. 모든 곳에 0단계가 표시됩니다. 위 그림의 결과로부터 회귀 정확도의 변화는 전적으로 네트워크 표현의 변화에 의해 결정된다는 결론을 내릴 수 있습니다.
그리고 많은 What, When, Where 그래프의 결과는 동일한 패턴을 보여줍니다. 즉, 전체 네트워크의 회귀 정확도는 약 32k 단계까지 매우 낮으며, 네트워크 깊이가 증가하면 후속 레이어에서 안정화되고 변경되지 않습니다. 따라서 모든 개념 관련 계산은 네트워크 초기에 상대적으로 발생하는 반면 후속 잔차 블록은 이동 선택을 수행하거나 주어진 개념 집합 외부의 기능을 계산합니다.
또한 훈련이 진행됨에 따라 AlphaZero의 표현을 통해 인간이 정의한 많은 개념을 높은 예측 정확도로 예측할 수 있습니다.
더 발전된 개념의 경우 연구원들은 AlphaZero가 이를 마스터한 위치에서 차이점을 발견했습니다. 첫째, 2k 훈련 단계에서 0과 크게 다른 개념은 "물질"과 "공간"입니다. "king_safety", "위협" 및 "이동성"과 같은 더 복잡한 개념은 8k 훈련 단계에서 0과 크게 다릅니다. 0이며 32,000개의 훈련 단계가 끝날 때까지 실질적으로 증가하지 않습니다. 이 결과는 그림 2의 What-When-Where 플롯에 표시된 급격한 상승점과 일치합니다.
또한 대부분의 What-When-Where 그래프의 주목할만한 특징은 네트워크의 회귀 정확도가 처음에는 급격히 증가하다가 정체기에 도달하거나 감소한다는 것입니다. 이는 지금까지 AlphaZero에서 발견된 일련의 개념이 네트워크의 초기 레이어만 감지하고 이후 레이어를 이해하려면 새로운 개념 감지 기술이 필요함을 시사합니다.
AlphaZero의 오프닝 전략은 인간과 다릅니다AlphaZero가 인간의 체스 개념을 학습한 것을 관찰한 후, 연구원들은 오프닝 전략 측면에서 AlphaZero의 체스 전술에 대한 이해를 더욱 탐구했습니다. 왜냐하면 오프닝의 선택은 플레이어가 관련 개념에 대한 이해도 의미하기 때문입니다. .
연구원들은 AlphaZero와 인간이 서로 다른 개방 전략을 가지고 있음을 관찰했습니다. 시간이 지남에 따라 AlphaZero는 선택 범위를 좁힌 반면 인간은 선택 범위를 확장했습니다.
그림 3A는 흰색의 첫 번째 움직임에 대한 인류의 선호의 역사적 진화를 보여줍니다. 초기 단계에서는 e4가 첫 번째 움직임으로 인기를 얻었고 나중에는 개방 전략이 더욱 균형 잡히고 유연해졌습니다.
그림 3B는 훈련 단계와 함께 AlphaZero의 개방 전략의 진화를 보여줍니다. 보시다시피 AlphaZero는 항상 모든 옵션에 균등한 가중치를 두는 것부터 시작한 다음 점차적으로 옵션의 범위를 좁혀갑니다.
그림 3: 훈련 단계 및 시간에 대한 첫 번째 단계에 대한 AlphaZero와 인간 선호도의 비교.
이는 e4부터 점진적으로 확장되는 인간 지식의 진화와 뚜렷한 대조를 이루는 반면 AlphaZero는 훈련 후반 단계에서 분명히 d4를 선호합니다. 그러나 자가 플레이 훈련은 탐색을 용이하게 하기 위해 많은 무작위성이 추가된 빠른 플레이를 기반으로 하기 때문에 이러한 선호도를 과도하게 설명할 필요는 없습니다.
이 차이의 이유는 불분명하지만 인간과 인공 신경망의 근본적인 차이를 반영합니다. 한 가지 가능한 요인은 인간 체스에 대한 역사적 데이터가 마스터 플레이어의 집단적 지식을 강조하는 반면 AlphaZero의 데이터에는 초보자 수준의 체스 플레이와 단일 진화 전략이 포함되어 있다는 것입니다.
그렇다면 AlphaZero의 신경망이 여러 번 훈련되면 특정 개방 전략에 대해 안정적인 선호도를 보일까요?
연구 결과, 이러한 선호도는 다양한 훈련에서 안정적이지 않은 경우가 많으며 AlphaZero의 개방 전략은 매우 다양합니다. 예를 들어, 클래식 Ruy Lopez 오프닝(일반적으로 "스페인 오프닝"으로 알려짐)에서 AlphaZero는 초기 단계에서 검정색을 선택하는 것을 선호하며 일반적인 플레이 방식, 즉 1.e4 e5, 2.Nf3 Nc6, 3을 따릅니다. .Bb5.
그림 4: Ruy Lopez 시작
다른 학습에서 AlphaZero는 점차적으로 3.f6 및 3.a6 중 하나로 수렴됩니다. 또한 AlphaZero 모델의 다양한 버전은 각각 특정 작업에 대해 다른 작업보다 강한 선호도를 보였으며 이러한 선호도는 훈련 초기에 확립되었습니다.
이것은 성공적인 체스 플레이에는 다양성이 있다는 추가적인 증거이며, 이러한 다양성은 인간과 기계 사이뿐만 아니라 AlphaZero의 다양한 훈련 반복에도 존재합니다.
알파제로의 지식 습득 과정
그렇다면, 위의 오프닝 전략 연구 결과와 알파제로의 개념 이해는 어떤 연관이 있을까요?
이번 연구를 통해 다양한 개념의 What-When-Where 그래프에 뚜렷한 변곡점이 있음을 발견했는데, 이는 개방 선호도의 중요한 변화와 일치합니다. 특히, 소재와 모빌리티의 개념은 개방성과 직접적인 관련이 있는 것으로 보입니다. 오프닝 전략 .
재료의 개념은 주로 훈련 단계 10k와 30k 사이에 학습되었으며, 같은 기간 동안 조각 이동성의 개념은 점차 AlphaZero의 가치 머리에 통합되었습니다. 체스 말의 물질적 가치에 대한 기본적인 이해는 체스 말의 이동성에 대한 이해보다 먼저 이루어져야 합니다. 그런 다음 AlphaZero는 이 이론을 25,000개에서 60,000개 훈련 단계 사이의 개방 설정에 통합했습니다.
저자는 체스에 대한 AlphaZero 네트워크 지식의 진화를 추가로 분석했습니다. 먼저 체스의 힘을 발견한 다음, 주로 이동성과 관련된 개념, 마지막으로 개선 단계에서 짧은 시간 내에 기본 지식의 폭발적인 성장을 이루었습니다. 신경망의 개방 전략은 수십만 개의 훈련 단계를 통해 개선됩니다. 전체적인 학습 시간은 길지만 구체적인 기본 능력은 상대적으로 짧은 시간 내에 빠르게 발현됩니다.
이 결론을 뒷받침하기 위해 전 세계 체스 챔피언 Vladimir Kramnik도 참여했으며, 그의 관찰은 위의 과정과 일치했습니다.
마지막으로 이 작업은 AlphaZero 네트워크에서 학습한 체스판 표현이 많은 인간 체스 개념을 재구성할 수 있음을 보여주고, 네트워크에서 학습한 개념적 내용, 훈련 시간에 개념을 학습하는 데 걸리는 시간, 계산 개념 네트워크 위치. 더욱이 AlphaZero의 체스 플레이 스타일은 인간과 동일하지 않습니다.
이제 인간이 정의한 체스 개념의 관점에서 신경망을 이해했으므로 다음 질문은 다음과 같습니다. 신경망이 인간 지식 이상의 것을 배울 수 있습니까?
위 내용은 알파제로의 블랙박스가 오픈되었습니다! PNAS에 DeepMind 논문 게재의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











CentOS 시스템에서 HDFS 구성 확인에 대한 완전한 안내서이 기사에서는 CentOS 시스템에서 HDF의 구성 및 실행 상태를 효과적으로 확인하는 방법을 안내합니다. 다음 단계는 HDF의 설정 및 작동을 완전히 이해하는 데 도움이됩니다. Hadoop 환경 변수 확인 : 먼저 Hadoop 환경 변수가 올바르게 설정되어 있는지 확인하십시오. 터미널에서 다음 명령을 실행하여 Hadoop이 올바르게 설치되고 구성되었는지 확인하십시오. Hadoopversion Check HDFS 구성 파일 : HDFS의 Core 구성 파일은/etc/hadoop/conf/directory에 있으며 Core-Site.xml 및 HDFS-Site.xml이 중요합니다. 사용

CentOS 종료 명령은 종료이며 구문은 종료 [옵션] 시간 [정보]입니다. 옵션은 다음과 같습니다. -H 시스템 중지 즉시 옵션; -P 종료 후 전원을 끕니다. -R 다시 시작; -대기 시간. 시간은 즉시 (현재), 분 (분) 또는 특정 시간 (HH : MM)으로 지정할 수 있습니다. 추가 정보는 시스템 메시지에 표시 될 수 있습니다.

Centos에 MySQL을 설치하려면 다음 단계가 필요합니다. 적절한 MySQL Yum 소스 추가. mysql 서버를 설치하려면 yum install mysql-server 명령을 실행하십시오. mysql_secure_installation 명령을 사용하여 루트 사용자 비밀번호 설정과 같은 보안 설정을 작성하십시오. 필요에 따라 MySQL 구성 파일을 사용자 정의하십시오. MySQL 매개 변수를 조정하고 성능을 위해 데이터베이스를 최적화하십시오.

Docker는 Linux 커널 기능을 사용하여 효율적이고 고립 된 응용 프로그램 실행 환경을 제공합니다. 작동 원리는 다음과 같습니다. 1. 거울은 읽기 전용 템플릿으로 사용되며, 여기에는 응용 프로그램을 실행하는 데 필요한 모든 것을 포함합니다. 2. Union 파일 시스템 (Unionfs)은 여러 파일 시스템을 스택하고 차이점 만 저장하고 공간을 절약하고 속도를 높입니다. 3. 데몬은 거울과 컨테이너를 관리하고 클라이언트는 상호 작용을 위해 사용합니다. 4. 네임 스페이스 및 CGroup은 컨테이너 격리 및 자원 제한을 구현합니다. 5. 다중 네트워크 모드는 컨테이너 상호 연결을 지원합니다. 이러한 핵심 개념을 이해 함으로써만 Docker를 더 잘 활용할 수 있습니다.

Visual Studio 코드를 사용하여 헤더 파일을 정의하는 방법은 무엇입니까? .h 또는 .hpp 접미사 이름 (예 : 클래스, 함수, 변수)을 사용하여 헤더 파일을 만들고 기호를 선언합니다. 소스 파일에 헤더 파일을 포함시키기 위해 #include 지시문을 사용하여 프로그램을 컴파일합니다. 헤더 파일이 포함되어 있고 선언 된 기호를 사용할 수 있습니다.

SSH 서비스를 다시 시작하라는 명령은 SystemCTL SSHD를 다시 시작합니다. 자세한 단계 : 1. 터미널에 액세스하고 서버에 연결; 2. 명령을 입력하십시오 : SystemCTL SSHD 재시작; 3. 서비스 상태를 확인하십시오 : SystemCTL 상태 SSHD.

Yaml은 Docker의 컨테이너, 이미지 및 서비스를 구성하는 데 사용됩니다. 구성하려면 : 컨테이너의 경우 Docker-Compose.yml에 이름, 이미지, 포트 및 환경 변수를 지정하십시오. 이미지의 경우 기본 이미지, 빌드 명령 및 기본 명령이 DockerFile에 제공됩니다. 서비스의 경우 Docker-Compose.service.yml에 이름, 미러, 포트, 볼륨 및 환경 변수를 설정하십시오.

C 코드에서 C를 쓰는 것은 가능할뿐만 아니라 효율적이고 우아합니다. 핵심은 코드 완료, 구문 강조 및 디버깅과 같은 기능을 제공하는 우수한 C/C 확장 기능을 설치하는 것입니다. VS Code의 디버깅 기능은 버그를 신속하게 찾는 데 도움이되며 Printf 출력은 구식이지만 효과적인 디버깅 방법입니다. 또한 동적 메모리 할당되면 메모리 누출을 방지하기 위해 반환 값을 확인하고 메모리를 풀어야하며 이러한 문제를 디버깅하는 것이 VS 코드에서 편리합니다. VS 코드는 성능 최적화에 직접 도움을 줄 수는 없지만 코드 성능을 쉽게 분석 할 수있는 우수한 개발 환경을 제공합니다. 좋은 프로그래밍 습관, 가독성 및 유지 관리도 중요합니다. 어쨌든, 대 코드는입니다
