Вернуть распределение по набору действий из нейронной сети - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь построить нейронную сеть для вывода вероятностного распределения по множеству всего пространства действий.

Мое пространство действий представляет собой вектор из 3 отдельных действий: [a,b,c]

a может иметь в себе 3 возможных действия a1,a2,a3 и аналогично b имеет b1,b2,b3, c имеет c1,c2,c3.Таким образом, всего у меня может быть 27 различных комбинаций этих действий 3^3 = 27.В конечном итоге нейронная сеть должна вывести 27 комбинаций этих действий (что является матрицей 27 x 3): [[a1,b1,c1],[a2,b2,c2],[a3,b3,c3],[a1,b1,c2],[a1,b1,c3],.....] и так далее для всех 27 комбинаций.Просто упомянуть, что вход в мою сеть - это состояние, которое представляет собой вектор из 5 элементов.

Мне нужна вероятность, связанная с каждой из этих 27 комбинаций.

Я знаю, что могу связать вероятность, используя softmax с 27 выходами, но я не понимаю, как сеть может выводить матрицу в этом случае, когда с каждой строкой связана вероятность.

1 Ответ

0 голосов
/ 19 ноября 2018

Есть ли причина, по которой вы хотите вернуть матрицу этих действий? Почему бы просто не сопоставить каждую из 27 комбинаций с целыми числами 0-26? Таким образом, ваша архитектура может выглядеть как [Linear(5, n), ReLU, Linear(n, .) ... Softmax(Linear(., 27))]. Затем, когда вам нужно оценить, вы можете просто сопоставить его с последовательностью действий. Это похоже на то, как в задачах NLP вы отображаете многомерные векторы слов в целые числа через stoi для обучения и возвращаете их через itos.

Я должен отметить, что если ваша парадигма обучения предполагает дальнейшее использование этих дискретных вариантов выбора (скажем, вы используете argmax этого восходящего потока другой сети), то недифференцируемость argmax означает, что эта архитектурная структура не будет изучена что-нибудь. Я упоминаю об этом только потому, что вы используете фразу «пространство действия», что типично для ДХО. Если это так, вы можете рассмотреть такие алгоритмы, как REINFORCE, где последовательности действий можно изучать дискретно и использовать в восходящем направлении через градиент политики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...