Тензорный поток / Глубокий разум: как мне взять действия из наблюдений для математических алгоритмов, связанных с доказательствами?

Этот вопрос следует задать для получения указаний / предложений / помощи по использованию глубоководных библиотек с открытым исходным кодом: https://github.com/deepmind/lab или https://www.tensorflow.org/ в Python.

Учтите, что я новичок в таких понятиях, как глубокое обучение и искусственный интеллект.

Вопросы:

  • Есть ли примеры использования Deepmind или Tensorflow для математических задач, где мне нужно наблюдать за значениями и предпринимать действия?

Используя подход, аналогичный описанному на этой странице ( https://deepmind.com/blog/open-sourcing-deepmind-lab/), основанный на наблюдениях, действиях, наградах и т. Д., Я хотел бы назвать обучающий агент, чтобы выбрать среди некоторых значений. Я думал что-то вроде этого:

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

Дополнительные примечания:

  • Я не могу тренировать алгоритм заранее

Входные данные примерно такие (только цифры):

edge: (1, 2), face_down: 4, face_up: 5, face_left: 4, face_right: 5
edge: (0, 1), face_down: 4, face_up: 4, face_left: 4, face_right: 5
edge: (5, 4), face_down: 4, face_up: 5, face_left: 4, face_right: 5
edge: (6, 7), face_down: 3, face_up: 5, face_left: 5, face_right: 5
edge: (3, 0), face_down: 4, face_up: 4, face_left: 5, face_right: 4
edge: (4, 1), face_down: 4, face_up: 5, face_left: 5, face_right: 4
edge: (8, 5), face_down: 4, face_up: 5, face_left: 5, face_right: 4
edge: (3, 8), face_down: 4, face_up: 5, face_left: 4, face_right: 5
edge: (2, 3), face_down: 4, face_up: 5, face_left: 5, face_right: 4
edge: (5, 0), face_down: 4, face_up: 4, face_left: 5, face_right: 4
edge: (0, 5), face_down: 4, face_up: 4, face_left: 4, face_right: 5
edge: (1, 0), face_down: 4, face_up: 4, face_left: 5, face_right: 4
edge: (9, 6), face_down: 3, face_up: 5, face_left: 5, face_right: 5
edge: (0, 3), face_down: 4, face_up: 4, face_left: 4, face_right: 5
edge: (7, 9), face_down: 3, face_up: 5, face_left: 5, face_right: 5

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

Существуют ли другие подходы или библиотеки / рамки для решения такой проблемы?

введите описание изображения здесь

1 ответ

В вашем примере кажется, что вы делаете проблему контекстного бандита. Должно быть очень просто решить вашу проблему, используя уравнение Беллмана.

Алгоритм будет выглядеть так:

1) Введите ваши математические значения (состояния) в ваш бандит.

2) Позвольте вашему бандиту выбрать то, что он считает лучшим действием (в начале это будет случайным).

3) Получить награду за выполнение этого действия с учетом этих состояний.

Быстрый пример кодирования и реализации можно найти здесь:

https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-1-5-contextual-bandits-bff01d1aad9c

Вам просто нужно изменить настройку вознаграждения и настройку состояния.

Другие вопросы по тегам