Какие бывают типы целей при обучении модели в Keras?
В модели Keras есть метод fit, которому передаются образцы и цели. Из примеров не понятно какой вид могут принимать цели. Я понял только, что это может быть число для классификации или регрессии или двоичная матрица для категорий, полученная, например, функцией to_categorical. А может быть целью, например, последовательность слов? Например, 1,2,3 (1:"Я", 2:"Люблю", 3:"Сыр" и т.д). Как должен выглядеть массив numpy в этом случае? Какие ещё могут быть виды целей?
Если вы имеете ввиду понять их смысл и сопоставить с одним из вариантов, то это задача семантического моделирования. Если же вы хотите распознавать текст на картинке — это совсем другая задача, OCR. Если из речи построить текст (speech to text) — третья, и так далее.
В любом случае, распознавание текста, особенно с использованием искусственных нейронных сетей — это
очень обширная и довольно сложная тема.
Спасибо, картинки не нужны. Вопрос, по-моему, был довольно четкий. Какого вида кроме числа или разреженного двоичного вектора может быть цель у метода model.fit. Я так понял, что больше никакого. Вид цели зависит от функции потерь или от функции активации? Спасибо за ссылки. Правда из первого примера я увидел только прямое кодирование, во втором по-моему вообще нет никаких примеров.
vovak1919, честно говоря, я так и не понял какую задачу вы пытаетесь решить.
В качестве таргета — всегда числа, да.
Но числами можно много чего описать, те же картинки представляются как 3-мерный массив (RGB) размера (ширина, длина, цвета), а число в каждой ячейке соответствует яркости пикселя.
То есть вы можете использовать в качества таргета любую информацию с вашего компьютера, поскольку она представлена потоком байт и может быть интерпретирована как огромное число.
Владимир Олохтонов, ну да, именно это меня и интересует. Хотелось бы посмотреть простой пример, где в качестве таргета выступает либо массив RGB либо одно значение (R,G,B).
Владимир Олохтонов, спасибо, интересный пример. К сожалению, пока не мой уровень. А почему в этом примере методу train_on_batch в качестве таргетов передается двумерный массив (РазмерПакета, 1), а в другом примере (3.5-classifying-movie-reviews.py), с той-же функцией потерь, но методу fit передается уже одномерный массив (КоличествоОбразцов, )?
Владимир Олохтонов, Документация? Я бы не стал так громко называть комментарии к коду вынесенные на сайт. Ну вот допустим есть метод fit. Если я ему передам в первом случае array(1,2,3), а во-втором array([1],[2],[3]). Правильными будут оба случая? Второй случай описан как массив из которого вычисляется среднее? Во всяком случае я так понял из описания https://keras.io/losses/
Фактически оптимизированная цель - это среднее значение выходного массива по всем точкам данных.
The actual optimized objective is the mean of the output array across all datapoints.