AlphaGo Zero'nun birleştirilmiş sinir ağı neden iki ayrı sinir ağından daha verimli?


10

AlphaGo Zero , öncekilere kıyasla çeşitli iyileştirmeler içeriyor. Alpha Go Zero'nun mimari detayları bu hile sayfasında görülebilir .

Bu geliştirmelerden biri, hareket olasılıklarını ve durum değerini aynı anda hesaplayan tek bir sinir ağı kullanırken, daha eski sürümlerde iki ayrı sinir ağı kullanılmıştır. Birleştirilmiş sinir ağının makaleye göre daha verimli olduğu gösterilmiştir:

İki yerine bir sinir ağı kullanır. AlphaGo'nun önceki sürümleri, bir sonraki oynayacak hamleyi seçmek için bir “politika ağı” ve her pozisyondan kazananı tahmin etmek için bir “değer ağı” kullandı. Bunlar AlphaGo Zero'da birleştirilerek daha verimli bir şekilde eğitilmesini ve değerlendirilmesini sağlar.

Bu bana karşı sezgisel görünüyor, çünkü bir yazılım tasarımı perspektifinden endişelerin ayrılmasını ilke ediniyor . Bu yüzden bu birleşmenin neden faydalı olduğunu merak ediyorum.

Verimliliği artırmak için tek bir sinir ağında farklı görevleri birleştiren bu teknik genel olarak diğer sinir ağlarına uygulanabilir mi veya bunun çalışması için belirli koşullar gerekli midir?

Yanıtlar:


6

Bu birleşmenin neden faydalı olduğu kanıtlandı?

Paylaşılan Değer / Politika ağını, Endişelerin Ayrılması yerine bir Değer ve Politika bileşeniyle paylaşılan bir bileşenden (Artık Ağ katmanları) oluşan bir sistem olarak düşünürseniz, bu daha mantıklıdır.

Temel dayanak, ağın paylaşılan kısmının (ResNet), hem sığ Değer hem de Politika ağları için iyi bir giriş temsili olan girdinin (oyuna giden oyun durumları) yüksek düzeyde genelleştirilmesini sağlamasıdır.

Bu durumda, tek bir paylaşılan ResNet'i eğiterek ve bunu Değer ve Politika için iki ResNet'i eğitmekten çok iki daha basit ağ için kullanarak hesaplama yükünü çok azaltabiliriz. Onların durumunda, ikisini birlikte eğitmek de düzenliliği iyileştirir ve böylece daha sağlam, genel bir temsil yaratır.

Özellikle, Silver ve ark. , İnsan Bilgisine Sahip Olmadan Oyunda Ustalaşmak şöyle diyor:

Politika ve değeri tek bir ağda birleştirmek, hareket tahmini doğruluğunu biraz düşürdü, ancak değer hatasını azalttı ve AlphaGo'daki oynama performansını 600 Elo kadar artırdı. Bu kısmen gelişmiş hesaplama verimliliğinden kaynaklanmaktadır, ancak daha da önemlisi, ikili amaç ağı birden çok kullanım durumunu destekleyen ortak bir temsile düzenli olarak düzenler.

Bu teknik genel olarak mı yoksa sadece özel durumlarda mı uygulanabilir?

Yazılım kitaplıklarındaki yaygın bileşenler gibi, yalnızca çözmeye çalıştığınız sorunlar paylaşılan bir sunumdan yararlandığında mantıklıdır.

Benzer görevler için sınıflandırıcılar eğitimi alıyorsanız veya daha büyük, benzer bir veri kümesi üzerinde eğitilmiş bir sınıflandırıcıya sahip olduğunuz az veriyle yeni bir görev eğitiyorsanız kullanabilirsiniz .

Go dışında, genellikle görüntü tanımada kullanılır. ImageNet ILSVRC yarışmalarından olanlar gibi önceden eğitilmiş derin ağlar genellikle başlangıç ​​noktası olarak kullanılır. Bir milyondan fazla görüntü üzerinde (haftalardır!) Eğitilmiş sınıflandırıcılar.

Ardından, en sevdiğiniz bisiklet markasını tanımak için bir ağ oluşturmak istediğinizi varsayalım, ImageNet'te eğitilmiş genel görüntü tanıma boru hattıyla başlıyorsunuz, gerçek sınıflandırmayı yapan son katmanları doğrayın ("bir Border Collie") ve ekleyin sadece önem verdiğiniz bisikletleri seçmek için yeni bir sınıflandırıcı.

Önceden eğitilmiş sınıflandırıcı zaten görüntü tanıma için iyi yapı taşları olan üst düzey görüntü kavramları sağladığından (200 kategoriyi sınıflandırır), bu size çok fazla eğitim kazandırır ve çok sağlam bir sınıflandırıcı yapar.

Tabii ki, sorunların yararlı ortak temsillere sahip olmadığı ve dolayısıyla birleşik ağdan faydalanmadığı birçok durum vardır. Bununla birlikte, doğru durumlarda yararlı bir araçtır.

Bu konuda daha fazla bilgi edinmek için Transfer Öğrenme veya Çok Amaçlı Öğrenme konusuna bakın .


Eğer bu sinir ağının mimarisini analiz etmek için yazılım mühendisliği prensiplerini kullanmak isterse, değer ve politika başkanlarının KURU prensibine uyduğu artık blok ağının da olduğuna dikkat çekerim. Bu verileri ardışık düzendeki diğer bileşenlere (değer ve politika başlıkları) aktarmadan önce verileri önişlemek için aynı bileşene (artık blok ağı) bağlı olarak, her birinin orijinal girdinin aynı temsilini işleyeceğini garanti ederler. Bu işlemin iki ayrı ağ ile çoğaltılması, zaman içinde farklılığı neredeyse garanti eder.
sadakatsu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.