Представьте себе соревнование, в котором мы пытаемся создать лучшую модель искусственного интеллекта, которая сможет определить, изображена ли на фотографии кошка или собака. Но как нам решить, чья модель лучше?

Допустим, каждая модель дает «шанс» (вероятность) того, что на фотографии изображен кот или собака. Чтобы объяснить, представьте, что у нас есть только 2 фотографии:

Фото №1:
Модель говорит: с вероятностью 30 % это кошка и с вероятностью 70 %, что это собака.

Фото №2:
Модель говорит: с вероятностью 60 % это кошка и с вероятностью 40 %, что это собака.

Допустим, мы точно знаем, что ответом для Примера №1 является кошка, а для Примера №2кошка. также.

Чтобы выяснить, насколько хороша наша модель, мы воспользуемся «шансом», который она дает для правильного ответа в каждом примере:

  • Пример №1: там написано 30% вероятность появления кошки.
  • Для примера №2: там написано 60% вероятность появления кошки.

Теперь мы перемножаем эти «шансы», чтобы увидеть, соответствуют ли предсказания нашей модели правильным ответам.

0.3 × 0.6 = 0.18

Это простое число показывает, насколько хорошо работает наша модель.

А что, если у нас будет 1000 примеров?

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

Лог(0,3 × 0,6) = Лог(0,3) + Лог(0,6)

= -0.22 – 0.52

= -0.74

А поскольку речь идет о проигрыше (меньшие значения означают лучшие прогнозы), мы поменяем знак итогового числа.

Потери = 0,74

Итак, у нас есть одно число, которое показывает, насколько плоха наша модель.
В нейронных сетях мы изменим параметры сети, чтобы уменьшить это число.