AlphaGo Zero의 통합 된 신경망이 두 개의 개별 신경망보다 더 효율적인 이유는 무엇입니까?


10

AlphaGo Zero 에는 이전 제품과 비교하여 몇 가지 개선 사항이 포함되어 있습니다. 이 치트 시트 에서 Alpha Go Zero의 아키텍처 세부 사항을 볼 수 있습니다 .

이러한 개선 사항 중 하나는 이동 확률과 상태 값을 동시에 계산하는 단일 신경망을 사용하는 반면, 이전 버전은 별도의 신경망을 사용했습니다. 이 논문에 따르면 병합 된 신경망이 더 효율적이라는 것이 밝혀졌습니다.

두 개가 아닌 하나의 신경망을 사용합니다. 이전 버전의 AlphaGo는 "정책 네트워크"를 사용하여 다음 플레이를 선택하고 "값 네트워크"를 사용하여 각 위치에서 게임의 승자를 예측했습니다. 이것들은 AlphaGo Zero에 결합되어보다 효율적으로 훈련되고 평가 될 수 있습니다.

이것은 소프트웨어 설계 관점 에서 우려 의 기본 분리를 위반하기 때문에 직관적이지 않은 것 같습니다 . 이것이 제가 궁금해하는 이유이며,이 합병이 유익한 이유는 무엇입니까?

효율성을 높이기 위해 단일 신경망에서 다른 작업을 병합하는이 기술을 일반적으로 다른 신경망에 적용 할 수 있습니까, 아니면 특정 조건이 필요합니까?

답변:


6

이 합병이 유리한 이유는 무엇입니까?

공유 가치 / 정책 네트워크를 우려 분리가 아닌 최상위에 가치 및 정책 구성 요소가있는 공유 구성 요소 (잔여 네트워크 계층)로 구성되는 것으로 생각하면 더 합리적입니다.

기본 전제는 네트워크의 공유 부분 (ResNet)이 얕은 가치 및 정책 네트워크 모두에 대한 좋은 입력 표현 인 입력 (이동으로 이어지는 게임 상태)의 높은 수준의 일반화를 제공한다는 것입니다.

이 경우 단일 공유 ResNet을 교육하고이를 가치와 정책에 대해 2 개의 ResNet을 교육하는 것보다 2 개의 훨씬 간단한 네트워크에 사용함으로써 계산 부하를 크게 줄일 수 있습니다. 두 경우를 함께 훈련하면 정규화가 향상되어보다 강력하고 일반적인 표현이 만들어집니다.

구체적으로, Silver 의 Alpha Go Zero 논문 . , Human Knowledge없이 Go of Game을 마스터하면 다음 과 같이 말합니다.

정책과 가치를 단일 네트워크로 결합하면 이동 예측 정확도가 약간 감소했지만 AlphaError의 가치 오류는 약 600 Elo 정도 향상되었습니다. 이것은 부분적으로 향상된 계산 효율성 때문이지만,보다 중요한 이중 목표는 네트워크를 여러 사용 사례를 지원하는 공통 표현으로 정규화하는 것입니다.

이 기술은 일반적으로 또는 특별한 경우에만 적용 할 수 있습니까?

소프트웨어 라이브러리의 일반적인 구성 요소와 마찬가지로 해결하려는 문제가 공유 표현의 이점을 활용할 때만 의미가 있습니다.

유사한 작업을 위해 분류자를 훈련 시키거나 이미 분류자가 더 크고 유사한 데이터 세트에 대해 훈련 된 데이터가 거의없는 새 작업을 훈련하는 경우이 도구를 사용할 수 있습니다 .

Go 외부에서는 이미지 인식에 자주 사용됩니다. ImageNet ILSVRC 대회 와 같은 심층 사전 훈련 된 네트워크 가 일반적으로 출발점으로 사용됩니다. 그들은 백만 개가 넘는 이미지에 대해 (주 동안!) 훈련 된 분류 자입니다.

그런 다음, 좋아하는 자전거 브랜드를 인식 할 수있는 네트워크를 만들고 싶다고 말하면 ImageNet에서 훈련 된 일반 이미지 인식 파이프 라인으로 시작하여 실제 분류를 수행하는 마지막 레이어 ( "보더 콜리")를 생성합니다. 당신이 관심있는 자전거 만 골라내는 작은 새 분류기.

사전 훈련 된 분류기는 이미 이미지 인식을위한 훌륭한 빌딩 블록 인 고급 이미지 개념을 제공하기 때문에 (200 개의 범주를 분류),이를 통해 많은 훈련을 절약하고 매우 강력한 분류기를 만들 수 있습니다.

물론 문제에 유용한 공유 표현이 없기 때문에 결합 된 네트워크의 이점이없는 경우가 많습니다. 그럼에도 불구하고 올바른 상황에서 유용한 도구입니다.

이에 대한 자세한 내용은 Transfer Learning 또는 Multi-Task Learning 을 참조하십시오.


이 신경망의 아키텍처를 분석하기 위해 소프트웨어 엔지니어링 원리를 사용하고자한다면, 가치와 정책 책임자가 머무는 잔차 블록 네트워크가 DRY 원칙을 존중한다는 점도 지적 할 것입니다. 파이프 라인의 다른 구성 요소 (값 및 정책 헤드)에이 데이터를 전달하기 전에 데이터를 전처리하기 위해 동일한 구성 요소 (잔여 블록 네트워크)에 따라 각 구성 요소가 원래 입력의 동일한 표현을 처리하도록 보장합니다. 이 처리를 두 개의 개별 네트워크로 복제하면 시간이 지남에 따라 차이가 거의 보장됩니다.
sadakatsu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.