Функция кросс-энтропийной стоимости в нейронной сети

10

Я смотрю на функцию стоимости кросс-энтропии, найденную в этом уроке :

C=1nx[ylna+(1y)ln(1a)]

Что именно мы подводим? Это, конечно, над x , но y и a не меняются с x . Все x являются входами в один a . a даже определяется в абзаце выше уравнением как функция суммы всех w 's и x .

Кроме того, n определяется как количество входов в этот конкретный нейрон, правильно? Он сформулирован как «общее количество элементов данных обучения» .


Редактировать:

Правильно ли я считаю, что

C=1nx[ylna+(1-Y)пер(1-a)]

будет функция стоимости для всей сети, тогда как

Сзнак равно[Yперa+(1-Y)пер(1-a)]

будет стоимость отдельных нейронов? Разве сумма не должна быть по каждому выходному нейрону?

Adam12344
источник

Ответы:

14

Вот как бы я выразил потерю кросс-энтропии :

L(Икс,Y)знак равно-1NΣязнак равно1NY(я)перa(Икс(я))+(1-Y(я))пер(1-a(Икс(я)))

Здесь - это набор входных примеров в наборе обучающих данных, а Y = { y ( 1 ) , , y ( n ) } - соответствующий набор меток. для этих входных примеров. ( Х ) представляет собой выход нейронной сети с учетом входного х .Иксзнак равно{Икс(1),...,Икс(N)}Yзнак равно{Y(1),...,Y(N)}a(Икс)Икс

Каждый из равен 0 или 1, и выходная активация a ( x ) обычно ограничивается открытым интервалом (0, 1) с использованием логистической сигмоиды . Например, для однослойной сети (что эквивалентно логистической регрессии) активация будет задана как ( x ) = 1Y(я)a(Икс) гдеW- весовая матрица, аb- вектор смещения. Для нескольких слоев, вы можете расширить функции активации к чемутокакв(х)=1

a(Икс)знак равно11+е-WИкс-б
Wб гдеVиc- весовая матрица и смещение для первого слоя, аz(x)
a(Икс)знак равно11+е-WZ(Икс)-бZ(Икс)знак равно11+е-ВИкс-с
ВсZ(Икс) - активация скрытого слоя в сети.

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

lmjohns3
источник
Спасибо! Так что это даст нам единственное число для нашей ошибки для всей сети по всем нашим образцам. Для обратного распространения мне нужно найти частную производную этой функции по весовой матрице в последнем слое. Как бы я это сделал?
Adam12344
Бэкпроп - это отдельная банка червей! На странице, на которую вы ссылаетесь, есть описание вычислительных производных и т. Д., И есть много вопросов о backprop на stackoverflow и на этом сайте. Попробуйте немного осмотреться, а затем опубликовать отдельный вопрос специально о backprop.
lmjohns3
Это может быть полезно для понимания backprop, он проходит через заднюю опору с четырехслойной нейронной сетью с перекрестной потерей энтропии в мрачных
YellowPillow
5

Что именно мы подводим?

Учебник на самом деле довольно явный:

N

ИксΣa

aзнак равноΣJвесJИксJ,

Позже в том же учебном пособии Нильсен дает выражение для функции стоимости для многослойной, многонейронной сети (уравнение 63):

Сзнак равно-1NΣИксΣJ[YJперaJL+(1-YJ)пер(1-aJL)],

ИксJ

ali_m
источник
Спасибо за понимание, один вопрос: последнее, которое вы определили, не является категориальной перекрестной энтропией, верно?
Томмазо
В своем уроке он также сказал, что «y может иногда принимать значения, промежуточные между 0 и 1», но функция, которую он давал, полностью связана с y, и не было ввода активации. Как мы можем реализовать промежуточные значения в функции st?
Feras
В учебном пособии Нильсена, где показан однослойный персептрон, a = \ sigma (\ sum_ {j} w_j x_j), потому что у вас есть функция активации сигмоида для выходного слоя, а не a = \ sum_ {j} w_j x_j
ARAT