Sự khác biệt giữa mạng chính sách và mạng giá trị của AlphaGo


25

Tôi đã đọc một bản tóm tắt cấp cao về AlphaGo của Google ( http://googleresearch.blogspot.co.uk/2016/01/alphago-mastering-ancient-game-of-go.html ) và tôi đã tìm thấy các điều khoản "chính sách mạng "và" mạng giá trị ". Ở cấp độ cao, tôi hiểu rằng mạng chính sách được sử dụng để đề xuất di chuyển và mạng giá trị được sử dụng để "Giảm độ sâu của cây tìm kiếm [và ước tính] người chiến thắng ở mỗi vị trí thay vì tìm kiếm tất cả các cách Kết thúc trò chơi."

Hai mạng này có vẻ dư thừa đối với tôi. Mạng chính sách đang làm gì nếu không sử dụng mạng giá trị để cắt xén chính sách của mình? Có vẻ như khá rõ ràng rằng mạng giá trị là một mạng lưới thần kinh học tập sâu; mạng chính sách chỉ là một sự trừu tượng hóa về mặt lý thuyết chứ không phải là một mạng lưới thần kinh thực tế? Biến mục tiêu cho mạng giá trị dường như là thắng / thua. Có một biến mục tiêu cho mạng chính sách; Nếu vậy, nó là cái gì? Mạng chính sách đang cố gắng tối ưu hóa là gì?

Có thể tìm thấy bản pdf đầy đủ của giấy của Google, được xuất bản trên tạp chí tại đây: https://vk.com/doc-44016343_437229031?dl=56ce06e325d42fbc72


Lưu ý nhanh: Biến mục tiêu cho mạng chính sách là phân phối xác suất. Từ bài báo: "Mạng thần kinh này (mạng giá trị) có kiến ​​trúc tương tự mạng chính sách, nhưng đưa ra một dự đoán duy nhất thay vì phân phối xác suất"
Zimano

3
Nếu bất cứ ai khác vấp phải câu hỏi cũ này, như tôi, bạn sẽ rất vui khi biết rằng người kế nhiệm của AlphaGo, "AlphaGo Zero", cũng như người kế nhiệm của nó "AlphaZero" thực sự thoát khỏi sự dư thừa bằng cách chỉ đào tạo MỘT mạng có kết quả phục vụ các chức năng của cả mạng chính sách (đưa ra phân phối xác suất qua các lần di chuyển có thể) và mạng giá trị (đưa ra xác suất chiến thắng được đưa ra cho hội đồng quản trị). Bài đăng trên blog ở đây: deepmind.com/blog/alphago-zero-learning-scratch và bài viết được liên kết trong.
Kevin Wang

Câu trả lời:


11

Tóm lại mỗi mạng có một mục đích khác nhau như bạn đã đề cập:

  • Mạng giá trị được sử dụng tại các nút lá để giảm độ sâu của tìm kiếm cây.
  • Mạng chính sách đã được sử dụng để giảm độ rộng của tìm kiếm từ một nút (hướng tới các hành động ngay lập tức đầy hứa hẹn).

Nói chung, bạn có thể sử dụng các phương thức hàm giá trị để tìm một chính sách tối ưu hoặc trực tiếp tìm kiếm trong không gian chính sách để tối ưu hóa hàm chính sách được tham số hóa (tất nhiên có những ưu và nhược điểm). Bạn có thể sử dụng các hàm xấp xỉ hàm (ví dụ Deep Nets) trong từng trường hợp. Tôi thấy rằng chủ yếu là bạn nhầm lẫn về mạng chính sách nên tôi tập trung câu trả lời của tôi vào đây.

Mạng chính sách là lần đầu tiên:

được huấn luyện để thực hiện các động tác mà nhiều khả năng con người sẽ làm với trạng thái bảng (vì vậy đầu vào là trạng thái bảng và đầu ra là biểu đồ cho thấy xác suất của mỗi hành động được đưa ra ở trạng thái đó). Mạng có thể xấp xỉ hàm xác suất nằm dưới ánh xạ từ trạng thái sang hành động. Rốt cuộc là hợp lý để suy nghĩ để bắt đầu xây dựng chính sách của bạn từ dữ liệu có sẵn. Sau khi đào tạo có giám sát bằng cách sử dụng các chuyên gia di chuyển, mạng chính sách có thể chơi trò chơi đủ (mặc dù cách xa trình độ của Master). Đơn giản, bạn đã cố gắng nắm bắt mô hình chung về lựa chọn hành động của người chơi chuyên nghiệp.

Sau đó,

nó được đào tạo trong các trò chơi với chính đối thủ, để tối ưu hóa chính sách đã học trước đó. Lần này, trọng số của nó đã được cập nhật bằng thuật toán REINFORCE. Bằng cách này, bạn cập nhật các tham số ròng theo hướng tối đa hóa phần thưởng dự kiến. Cuối cùng, bạn có một mạng lưới không chỉ chọn các hành động như một người chơi chuyên nghiệp mà còn hướng tới chiến thắng trò chơi (Tuy nhiên, nó không thể lên kế hoạch!).

Sau bước này, họ đã xấp xỉ hàm giá trị của phiên bản ồn hơn một chút của chính sách đã học, bằng hồi quy (đầu vào là bảng trạng thái và nhắm mục tiêu kết quả của trò chơi). Bạn có thể sử dụng mạng này để ảnh hưởng đến việc đánh giá nút lá.

Về mặt khái niệm, mạng chính sách cung cấp cho bạn xác suất qua các hành động, nhưng điều này không cho thấy rằng bạn sẽ kết thúc tốt đẹp, vì chiến thắng trong trò chơi, trạng thái. AlphaGo có một số "điểm mù" và trong suốt giải đấu đã thực hiện một số động tác thực sự tồi tệ nhưng cũng là một động thái đặc biệt mà con người không bao giờ có thể nghĩ tới.

Cuối cùng, bạn có thể sử dụng thuật toán lập kế hoạch (MCTS) kết hợp với các lưới này. Tại sao chúng tôi thực hiện tất cả các bước này? Tóm lại, MCTS đơn giản mà không có "trực giác" nào sẽ thất bại.


Tôi vừa trở lại câu hỏi này khi biết về Actor-Critic, và cách nó bù đắp chi phí / lợi ích giữa các phương pháp dựa trên Giá trị thuần túy so với Chính sách. Tôi nghĩ rằng câu trả lời này gần nhất để giải thích chi tiết này, nhưng nó được trình bày rất rõ trong bài giảng của David Silver: www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/pg.pdf (bài 7, nó cũng có sẵn trên YouTube - youtube.com/ trên ).
Neil Slater

Mặc dù vậy, các phương pháp dựa trên MCTS thuần túy đã cho thấy thành công, vì vậy trong bối cảnh rộng hơn tôi sẽ không nói rằng nó sẽ thất bại.
Zimano

1
Tôi chỉ đề cập đến trường hợp của trò chơi cờ vây và cũng là về việc đạt đến cấp độ chơi trò chơi Master. Trên thực tế David Silver (như các nhà nghiên cứu khác) đã nghiên cứu giải quyết trò chơi cờ vây với MCTS kể từ khi học tiến sĩ. Nhưng không có gì có thể cạnh tranh ở mức cao nhất cho đến khi kết hợp các phương pháp trên.
Constantinos

9

Đây là quá trình suy nghĩ ngắn gọn của tôi trong việc hiểu hai mạng khác nhau.

Trước hết, mục tiêu là tìm ra một giải pháp tối ưu (hoặc rất gần tối ưu) mà không cần sử dụng một tìm kiếm toàn diện, điều này chắc chắn là thách thức.

Mỗi vị trí hoặc trạng thái, sẽ có N di chuyển có thể và trên mỗi lần di chuyển sẽ có độ sâu D riêng trong một cây tìm kiếm đầy đủ. Về mặt lý thuyết hoặc toán học có thể đi qua tất cả các con đường và tìm một giải pháp tối ưu. Tuy nhiên, chúng tôi không muốn thực hiện tìm kiếm đầy đủ.

Bây giờ chúng tôi có hai câu hỏi riêng biệt để phát triển một cách tiếp cận gần đúng.

Q1. Làm thế nào chúng ta có thể bỏ qua hoặc bỏ qua một số di chuyển ra khỏi N mỗi vị trí? (tức là giảm hơi thở)

Quý 2 Làm thế nào chúng ta có thể dừng lại ở độ sâu trung gian trong cây tìm kiếm thay vì đi qua cho đến khi kết thúc trò chơi mà không tìm thấy giải pháp tối ưu? (tức là giảm độ sâu)

Mạng chính sách được thiết kế chủ yếu để lọc các bước di chuyển vô dụng ra khỏi N, nhưng không tìm được giải pháp tối ưu. Ở đây, mạng này ban đầu dựa vào các động thái của chuyên gia về con người, tức là SL và được cải thiện bởi RL sau này.

Mạng giá trị được thiết kế chủ yếu để tìm xác suất chiến thắng mà không cần tìm kiếm đầy đủ.

Hai mạng này có một mục tiêu chung là tìm kiếm một giải pháp tối ưu, tuy nhiên, trong mỗi lựa chọn chiến lược di chuyển, mỗi mạng đóng một vai trò khác nhau.

Tôi chỉ hy vọng điều này sẽ giúp. Tôi biết nó vẫn ở mức cao.


Hai cách giải thích của bạn rất súc tích.
Tim

6

Tôi nghĩ OP đã nhầm lẫn về AlphaGo với alpha-beta. Trong phiên bản alpha-beta, bạn thực sự sử dụng mạng chính sách để giúp cắt tỉa, nhưng không phải ở đây. Một lần nữa, không có cắt tỉa vì thuật toán dựa trên tìm kiếm cây Monte-Carlo (MCTS).

Bất cứ ai nghĩ rằng câu trả lời của tôi quá dài có thể bỏ qua phần tóm tắt, trong đó tôi nêu lý do tại sao hai mạng không dư thừa.

Trong ví dụ sau, tôi sẽ thực hiện một số đơn giản hóa để làm cho ý tưởng của tôi dễ hiểu hơn.

Thí dụ:

Hãy tưởng tượng bạn có một vị trí có hai động thái hợp pháp. Bước đầu tiên là một điểm chết đối với bạn, tuy nhiên, bước thứ hai mang lại cho bạn lợi thế chiến thắng.

  • Bước đầu tiên: mất mát bắt buộc cho bạn
  • Bước thứ hai: chiến thắng bắt buộc cho bạn

Mạng lưới đánh giá

Giả sử mạng lưới đánh giá Google cung cấp cho bạn là hoàn hảo. Nó có thể đánh giá bất kỳ vị trí lá trong ví dụ của chúng tôi một cách hoàn hảo. Chúng tôi sẽ không thay đổi mạng giá trị của chúng tôi trong ví dụ.

Để đơn giản hóa ví dụ của chúng tôi, hãy giả sử mạng giá trị của chúng tôi cung cấp:

  • -1000 cho bất kỳ vị trí lá nào là mất mát cho bạn
  • +1000 cho bất kỳ vị trí lá nào là chiến thắng cho bạn

Mạng chính sách

Giả sử Google cung cấp cho bạn hai mạng chính sách. Các xác suất được tạo ra cho vị trí của chúng tôi là:

  • Chính sách 1: 0,9 cho di chuyển 1 và 0,1 cho di chuyển 2
  • Chính sách 2: 0,2 cho di chuyển 1 và 0,8 cho di chuyển 2.

Lưu ý rằng mạng chính sách đầu tiên của chúng tôi đưa ra xác suất trước không chính xác cho ví dụ của chúng tôi. Nó cho 0,9 cho di chuyển 1, đó là một nước đi mất. Điều này là tốt vì thậm chí Google không thể đào tạo một mạng chính sách hoàn hảo.

Chơi với mạng chính sách đầu tiên

AlphaGo cần tạo một mô phỏng với Monte-Carlo và nó cần chọn di chuyển 1 hoặc 2. Bây giờ, AlphaGo vẽ một biến ngẫu nhiên phân phối thống nhất và nó sẽ chọn:

  • Di chuyển 1 nếu số ngẫu nhiên là <= 0,9
  • Di chuyển 2 nếu số ngẫu nhiên> 0,9

Vì vậy, AlphaGo có nhiều khả năng chọn động thái thua để mô phỏng (trong lần mô phỏng đầu tiên của chúng tôi). Trong mô phỏng đầu tiên của chúng tôi, chúng tôi cũng sẽ sử dụng mạng giá trị để lấy điểm cho mô phỏng. Trong bài báo, đó là:

nhập mô tả hình ảnh ở đây

Giá trị này sẽ là -1000, vì mô phỏng này sẽ dẫn đến thua lỗ.

Bây giờ, AlphaGo cần tạo mô phỏng thứ hai. Một lần nữa, di chuyển đầu tiên sẽ có nhiều khả năng để chọn. Nhưng cuối cùng, bước thứ hai sẽ được chọn vì:

  • Xác suất trước của chúng tôi cho lần di chuyển thứ hai là 0,1, không phải bằng không
  • AlphaGo được khuyến khích thử các động tác chưa được khám phá nhiều. Trong bài báo, điều này được thực hiện bởi phương trình này:

nhập mô tả hình ảnh ở đây

Lưu ý rằng đó Nlà số lượng di chuyển được tìm kiếm cho di chuyển và nó nằm trong mẫu số. Càng tìm kiếm di chuyển đầu tiên của chúng tôi, uchức năng càng nhỏ . Do đó, xác suất để chọn nước đi thứ hai của chúng tôi được cải thiện vì AlphaGo thực sự chọn một nước đi theo phương trình này:

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Đây là phương trình chính . Hãy nhìn vào nó một cách cẩn thận:

  • Nó có một thuật ngữ Pcho xác suất trước (được đưa ra bởi mạng chính sách)
  • Nó có một thuật ngữ Qcho điểm đánh giá (được đưa ra bởi mạng giá trị)

Bây giờ, chúng tôi biết di chuyển thứ hai của chúng tôi cuối cùng sẽ được chọn. Khi điều đó xảy ra, mạng giá trị cho +1000. Điều này sẽ tăng lên Q, điều này làm cho bước thứ hai có nhiều khả năng được chọn trong các mô phỏng sau này.

Cho đủ mô phỏng, số lần di chuyển thứ hai được chọn cho mô phỏng nên nhiều hơn số lần di chuyển đầu tiên được chọn.

Cuối cùng, động thái mà AlphaGo quyết định thực hiện là (trích từ bài báo):

Khi tìm kiếm hoàn tất, thuật toán sẽ chọn di chuyển được truy cập nhiều nhất từ ​​vị trí gốc.

Chơi với mạng chính sách thứ hai

Mạng chính sách thứ hai của chúng tôi sẽ cần ít lần lặp hơn để chọn di chuyển 2 vì xác suất trước được cung cấp bởi mạng chính sách là chính xác ngay từ đầu.

Nhận xét

Mọi thứ ở đây rất giống với Bayesianphân tích. Chúng tôi bắt đầu với một số xác suất trước (được đưa ra bởi mạng chính sách), sau đó chúng tôi tạo dữ liệu để di chuyển phân phối xác suất (được cung cấp bởi mạng giá trị).

Tóm tắt

  • Mạng chính sách được sử dụng để tạo xác suất trước để hướng dẫn những gì di chuyển tìm kiếm Monte-Carlo nên chọn
  • Mạng giá trị được sử dụng để tạo dữ liệu để xác thực mạng chính sách. Nếu mạng chính sách xấu, AlphaGo sẽ cần nhiều tài nguyên điện toán hơn để hội tụ (nếu có).
  • Bạn có thể nghĩ về nó giống như phân tích Bayes

Tôi nghĩ rằng điều này mang lại cái nhìn sâu sắc hơn nhiều cho các cơ chế nội bộ. Tôi vẫn không chắc chắn liệu nó giải thích tại sao hai mạng. Vấn đề tôi có là "giả sử mạng đánh giá ... là hoàn hảo". Nếu đó là trường hợp, thì thực sự mạng chính sách là dư thừa. Chỉ cần nhìn một bước tiến lên (cho tất cả các động thái có thể) và chọn một bước có đánh giá mạng giá trị tốt nhất. Tất nhiên, mạng giá trị không hoàn hảo và tôi nghi ngờ nó sẽ chính xác hơn khi tiếp tục vào trò chơi. . . nhưng tôi không biết nó đúng / hữu ích như thế nào, hoặc liệu nó có hoàn thành câu trả lời này không.
Neil Slater

@NeilSlater Ok. Các mạng không hoàn hảo, nhưng lý do tôi có ở đây vẫn tốt, chỉ là chúng tôi cần nhiều mô phỏng MC hơn.
SmallChess

@StudentT Giải thích hay về một số phương trình chính. Tôi sẽ thực hiện một thay đổi nhỏ: Sẽ không có ý nghĩa gì khi nói "Bạn cần nhìn thấy mười bước đi trước" để hiểu vị trí trong Tìm kiếm Cây Monte Carlo. MCTS là một tìm kiếm số bằng chứng sâu đầu tiên, và chúng tôi thực sự không bao giờ đạt đến độ sâu cố định như chúng ta sẽ làm với việc lặp lại sâu trong cờ vua. Ngay cả với mạng giá trị cho phép chúng tôi đánh giá các nút trước khi kết thúc trò chơi, chúng tôi vẫn không tiếp cận các nút này theo chiều rộng đầu tiên và không có đánh giá tối thiểu nào về các nút, v.v.
Imran

@Imran Hãy thoải mái chỉnh sửa bài viết của tôi.
SmallChess

3

Mạng chính sách : Mạng học cách cung cấp đầu ra xác định bằng cách cung cấp Đầu vào cụ thể cho trò chơi được gọi là Mạng chính sách.

Mạng giá trị : Mạng giá trị gán giá trị / điểm cho trạng thái của trò chơi bằng cách tính điểm tích lũy dự kiến ​​cho trạng thái hiện tại s. Mọi tiểu bang đều đi qua mạng giá trị. Các tiểu bang nhận được nhiều phần thưởng hơn rõ ràng nhận được nhiều giá trị hơn trong mạng.

Hiểu rõ hơn với Ảnh động Đến đây: Mạng chính sách và Mạng giá trị trong học tập củng cố

nhập mô tả hình ảnh ở đây


0

Từ những gì tôi hiểu sự khác biệt là trong đầu ra. Khi mạng chính sách đưa ra phân phối xác suất qua các lần di chuyển có thể, mạng giá trị trả về giá trị thực có thể được hiểu là xác suất chiến thắng được đưa ra cho cấu hình bảng này. Từ đó, việc tìm kiếm cây Monte-Carlo được thực hiện thông qua việc lấy các chuyển động K hàng đầu từ đó và sau đó thu hẹp cây tìm kiếm bằng cách lấy các đầu ra mạng giá trị K hàng đầu.

Cảm thấy bắt buộc phải sửa tôi nếu tôi sai.


2
Bạn không sai AFAIK, nhưng tôi không nghĩ điều này trả lời câu hỏi. OP dường như nhận thức được sự khác biệt giữa mô hình dựa trên giá trị hoặc dựa trên chính sách trong RL. Hai cách tiếp cận thực sự có đầu ra khác nhau. Tuy nhiên, thông thường hơn là thấy cái này hoặc cái kia, không phải cả hai và hai mô hình thường là dự phòng trong đó "Value_maxarg (S ') == Policy_maxarg (S, A)" trong đó S là trạng thái hiện tại, A là hành động để lấy và S 'là trạng thái kết quả. Tức là hai mạng trong một thiết lập RL thông thường hơn sẽ chỉ tạo ra cùng một kết quả, mặc dù các đầu ra khác nhau.
Neil Slater
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.