Реалізація глибокого аналізу для бібліотеки Keras у TensorFlow

Tensorflow - комплексная платформа машинного обучения, разработанная в Google в 2015 году, которая приобрела огромную популярность

https://www.tensorflow.org/

Терміни та поняття

В контексте машинного обучения устойчиво применяются термины:

Модель

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

Метрика

Метрика - это измеримая характеристика, используемая для оценки производительности модели. Она представляет собой числовой показатель, который позволяет оценить, насколько хорошо модель справляется с конкретной задачей. В задачах классификации метрики могут включать в себя точность (accuracy), полноту (recall), точность (precision) и другие. В общем смысле, метрика является инструментом измерения эффективности модели на основе определенных критериев.

Сэмпл

Сэмпл - элемент набора данных.

Партия: набор N образцов. Образцы в партии обрабатываются независимо, параллельно. В случае обучения, партия приводит только к одному обновлению модели.

Как правило, партия аппроксимирует распределение входных данных лучше, чем один вход. Чем больше партия, тем лучше аппроксимация; однако верно и то, что обработка партии займет больше времени и все равно приведет только к одному обновлению. Для вывода (оценка/предсказание) рекомендуется выбрать такой размер пакета, который будет как можно больше, не выходя из памяти (так как большие партии обычно приводят к более быстрому выводу/предсказанию).

Эпоха /epoch

произвольное отсечение, обычно определяемое как «один проход по всему набору данных», используемое для разделения обучения на отдельные фазы, что полезно для протоколирования и периодической оценки.

Тензор

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

  • скаляр - это тензор нулевого ранга (0D тензор)
  • вектор - тензор первого ранга (1D тензор)
  • матрица - тензор второго ранга (2D тензор)
  • и так далее...

Модель

Базовая структура данных библиотеки Keras — это модель, описывающая способ организации слоев. Простейшим типом модели является модель Sequential, представляющая собой линейный стек слоев. Для более сложных архитектур вы должны использовать функциональное программирование (Keras functional API), которое позволяет строить произвольные графы слоев.

Последовательная модель Sequential

//

Компиляция

После того, как архитектура модели была задана, необходимо выполнить сборку-компиляцию:

model.compile(loss=’categorical_crossentropy’, optimizer=’sgd’, metrics=[‘accuracy’])

Для компиляции можно задать оптимизатор....

model.compile(loss=keras.losses.categorical_crossentropy,
optimizer=keras.optimizers.SGD(lr=0.01,momentum=0.9,nesterov=True))

 

!!! куча

# Этот код вернет тензор
inputs = Input(shape=(784,))

# Экземпляр слоя применяется к тензору и возвращает новый тензор
output_1 = Dense(64, activation=’relu’)(inputs)
output_2 = Dense(64, activation=’relu’)(output_1)
predictions = Dense(10, activation=’softmax’)(output_2)

Джерела

Обучение и оценка модели с Keras stabuev@habr.com (Feb 4, 2020)

Университете Искусственного Интеллекта
Keras FAQ //ru-keras.com/keras-faq/
API модели Sequential //ru-keras.com/sequential/
+ руководство //ru-keras.com/guide-sequential/
Functional API //ru-keras.com/functional-api/
+ руководство //ru-keras.com/guide-functional-api/

Leave a Reply