Реализация многопеременных, многопрофильных RNN в Python - PullRequest
1 голос
/ 13 мая 2019

У меня есть набор данных, в котором есть элементы со следующим макетом / схемой:

{
    words: "Hi! How are you? My name is Helennastica",
    ratio: 0.32,
    importantNum: 382,
    wordArray: ["dog", "cat", "friend"],
    isItCorrect: false,
    type: 2
}

где у меня много разных типов данных, в том числе:

  • Массивы (только одного типа, например, массив строк или массив чисел, но не оба)
  • Booleans
  • Числа с фиксированными минимальными и максимальными значениями (т. Е. По шкале от 0 до 1)
  • Неограниченные целые числа (любое целое число от -∞ до ∞)
  • Строки, с некоторым словарем, некоторыми новыми словами

Задача состоит в том, чтобы создать RNN (, ну, как правило, систему, которая может быстро переобучаться, когда получает один дополнительный бит данных вместо повторной обработки всего этого - я думаю RNN является лучшим выбором (см. ниже для обоснования), который может использовать все эти факторы для классификации любого набора данных в одну из 4 категорий - помеченных клавишей type в приведенном выше примере, число 0-3.

У меня есть множество примеров в вышеуказанном формате (с предоставленным ответом), и у меня есть база данных, заполненная примерами без категорий. Мое намерение состоит в том, чтобы иметь возможность запускать модель ML на этом наборе и сортировать их по категориям. Причина, по которой мне нужно иметь возможность быстро переучиваться, заключается в функции обратной связи: если ИИ получает что-то не так, любой пользователь может сообщить об этом, и в этом случае этот конкретный JSON будет добавлен в набор данных. Очевидно, что для переобучения с более чем 1000 JSON только для того, чтобы добавить еще одного, потребуется много времени - если я не ошибаюсь, RNN может обойти это.

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

Я предполагаю, что это не будет слишком сложно при использовании Tensorflow, и я понимаю немного математики и логики, лежащих в его основе (но не формально образованных, поэтому у меня, вероятно, есть пробелы!), Но, к сожалению, у меня по сути нет опыта использования Tensorflow / любые другие среды ML (кроме кода для вставки копий для некоторых других проектов). Если бы кто-то мог указать мне правильное направление в форме репозитория Github / Python или даже написать некоторый демонстрационный код, чтобы помочь решить эту проблему, это было бы очень полезно. И если вы просто собираетесь исправить некоторые из моих технических знаний / скажите мне, где я поступил ужасно неправильно, я был бы признателен за этот отзыв (просто оставьте его в качестве комментария).

Заранее спасибо!

...