Укрепление обучения - Как справиться с различным количеством действий, которые делают приближение числа - PullRequest
0 голосов
/ 25 сентября 2018

Я новичок в изучении подкрепления, но я пытаюсь использовать RL в этой задаче:

Дано определение функции в письменном виде, например, на C с 1 до 10 с входных аргументов (только числовые - целое, float и т. д.) и тело функции (представленной в виде абстрактного синтаксического дерева / абстрактного дерева решений с зависимостями данных - как меняются значения внутренних переменных) Я хотел бы аппроксимировать значения этих входных параметров, например, для определенногоблок решений выполнен.Для этого я подумал о рекуррентной сети с ячейками LSTM.

Теперь, чтобы достичь этого, я бы прошел по одному пути в дереве, ведущем к блоку, и принял к сведению любые изменения данных и блоки решений на пути.Эти шаги повлияют на мои прогнозы ввода параметров - какие значения нужно вставить / изменить во входных параметрах, если я хочу выполнить определенный блок решений.

Действие: Изменение значения одноговыбранный входной параметр функции ИЛИ Изменение значения всех входных параметров индивидуально (с помощью математической операции).После выполнения действия перейдите к следующему узлу в дереве.

Награда: Насколько я близок к выполнению данного блока решений (таким образом, удовлетворяющего условию) с заданными значениями входных параметров.

Цель: Выполнить условие в коде и выполнить блок решения (например, если условие выполнено).

Состояние: Текущийположение в AST / ADT с зависимостями данных.

Предполагая, что у меня уже есть способ оценить, насколько далеко я от выполнения требуемого блока принятия решения с учетом текущих значений ввода параметров, я столкнулся с двумя проблемами:

Как бы я справился с изменением количества входных параметров функции в RL?Если я хочу изменить их значения, чтобы они были ближе к выполнению требуемого блока принятия решений, число заданных действий изменяется в зависимости от количества параметров, определенных для данной функции.

Если я уже выбрал один параметр,Каков наилучший способ аппроксимации чисел с использованием RL?В теле функции может происходить множество очень сложных математических операций, поэтому должны ли быть определены действия как логарифм, возведение в степень, деление, умножение и т. Д., Или есть лучший способ с простым добавлением / вычитанием из текущего значения?

Если вы обнаружите какие-либо ошибки в моем определении Действий, Наград, Целей или Штатов, пожалуйста, исправьте меня, так как я все еще большой ученик в этой области.

Спасибо за ваши ответы.

1 Ответ

0 голосов
/ 25 сентября 2018

Если вы имеете в виду различную длину входов и выходов в LSTM. Вы можете использовать кодировщик, декодер LSTM

...