Как работают алгоритмы обучения TensorFlow? - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь понять, как работают алгоритмы обучения, используемые TensorFlow.

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

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

1 Ответ

0 голосов
/ 28 марта 2020

При обучении плотной сети с одним скрытым слоем (со скрытыми узлами $ m $) для выполнения двоичной классификации мы минимизируем функцию стоимости

$$ L (W_1, W_2) = \ sum_ {i = 1} ^ N \ ell (y_i, \ sigma (W_2 a (W_1 \ hat x_i)), $$

, где $ x_i \ in \ mathbb R ^ d $ - это $ i $ -й вектор признаков в наборе обучающих данных $ \ hat x_i \ in \ mathbb R ^ {d + 1} $ - это вектор расширенной функции, полученный путем добавления $ 1 $ к $ x_i $, $ W_1 $ - это $ m \ times (d + 1 ) $ матрица, содержащая веса и смещения для скрытого слоя, $ a $ - это функция, которая применяет функцию активации ReLU к каждому из своих входов (а также имеет дополнительный выход, равный $ 1 $), а $ W_2 $ равен $ 1 \ times m $ матрица, содержащая веса и смещения выходного слоя. Здесь $ \ sigma $ - функция logisti c, а $ \ ell $ - двоичная функция кросс-энтропийных потерь.

Править : Mathjax не работает на этом сайте?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...