Вопрос может показаться немного странным, потому что я новичок в области статистического вывода и нейронных сетей.
Когда в задачах классификации с использованием нейронных сетей мы говорим, что мы хотим изучить функцию которая отображает пространство входов на пространство выходов y : x y
Подгоняем ли мы параметры ( ) для моделирования нелинейной функции или для моделирования функции плотности вероятности?
Я действительно не знаю, как написать вопрос лучше. Я прочитал несколько раз обе вещи (функция плотности вероятности, или функция просто так), поэтому мое замешательство.
Обычно нейронные сети не используются для моделирования полной плотности вероятности. Их целью является просто моделирование среднего значения распределения (или в детерминированной ситуации просто нелинейная функция). Тем не менее, очень возможно моделировать полные плотности вероятности через нейронные сети.
Один из простых способов сделать это, например, для случая Гаусса - вывести среднее значение из одного выхода и дисперсию из другого выхода сети, а затем минимизировать функцию как часть тренировочный процесс вместо общей квадратичной ошибки. Это процедура максимального правдоподобия для нейронной сети.−logN(y|x;μ,σ)
Когда вы обучаете эту сеть каждый раз, когда вы вставляете значение в качестве входных данных, вы получите и , тогда вы можете подключить весь триплет к плотности чтобы получить значение плотности для любого вам нравится. На этом этапе вы можете выбрать, какое значение использовать, основываясь на реальной функции потери домена. Следует иметь в виду, что для выходная активация должна быть неограниченной, чтобы вы могли передать to тогда как должна быть только положительной активацией.ц сг у , ц , сг е ( у | х ) ~ N ( ц , сг ) у у ц - инф + инф сгx μ σ y,μ,σ f(y|x)∼N(μ,σ) y y μ −inf +inf σ
В общем, если только это не детерминированная функция, к которой мы стремимся, стандартная тренировка квадратов потерь, используемая в нейронных сетях, в значительной степени та же самая процедура, которую я описал выше. Под капотом подразумевается неявное распределение не заботясь о и, если вы внимательно изучите вы получите выражение для квадрата потерь ( функция потерь от максимальной вероятности Гаусса оценщик ). В этом сценарии, однако, вместо значения которое вам по вкусу, вы застреваете с выпуском каждый раз, когда задается новое значение .Gaussian σ −logN(y|x;μ,σ) y μ x
Для классификации выходом будет распределение вместо , которое имеет единственный параметр для излучения. Как указано в другом ответе, этот параметр находится между и поэтому активация выхода должна быть соответственно. Это может быть логистическая функция или что-то еще, которое достигает той же цели.Bernoulli Gaussian 0 1
Более сложным подходом являются сети плотности смеси Бишопа. Вы можете прочитать об этом в часто упоминаемой статье здесь:
https://publications.aston.ac.uk/373/1/NCRG_94_004.pdf
источник
Мой несогласный ответ заключается в том, что в наиболее впечатляющих практических приложениях (например, тех, где они получают наибольшее освещение в СМИ) это не является ни функцией, ни вероятностями. Они реализуют стохастические решения.
На первый взгляд кажется, что NN просто подгоняют функцию, ставят в очередь универсальное приближение . В некоторых случаях, когда используются определенные функции активации и определенные предположения, такие как ошибки Гаусса, или когда вы читаете статьи о байесовских сетях, кажется, что NN может производить распределения вероятностей.
Впрочем, это все просто кстати. Что NN предназначены для моделирования принятия решений. Когда автомобиль управляется искусственным интеллектом, его NN не пытается вычислить вероятность того, что у него есть объект перед ним, а затем, учитывая, что есть объект для расчета вероятности того, что это человек. Он также не рассчитывает отображение входов датчиков на различные виды объектов. Нет, NN должен принять решение, основываясь на всех данных, чтобы направиться вбок или продолжать движение. Это не вычисление вероятности, это говорит машине, что делать.
источник