КОРОТКИЙ ВІДПОВІДЬ
За іншими відповідями Мультиноміальна логістична втрата та перехресна ентропія втрати однакові.
Перехресна ентропійна втрата - це функція альтернативної вартості для NN з функцією активації сигмоїдів, що вводиться штучно для усунення залежності від від рівнянь оновлення. Деякі рази цей термін уповільнює процес навчання. Альтернативні методи - регульована функція витрат.σ′
У таких типах мереж, можливо, потрібно мати ймовірності як вихід, але цього не відбувається з сигмоїдами в багаточленній мережі. Функція softmax нормалізує виходи та примушує їх у межах . Це може бути корисно, наприклад, у класифікації MNIST.[0,1]
ДОВГИЙ ВІДПОВІДЬ З деякими оглядами
Відповідь досить довга, але я спробую підсумувати.
Першими сучасними штучними нейронами, які були використані, є сигмоїди, функцією яких є:
σ(x)=11+e−x
який має таку форму:
Крива хороша тим, що гарантує, що вихід знаходиться в діапазоні .[0,1]
Щодо вибору функції витрат, то природним вибором є квадратична витратна функція, похідна якої гарантовано існує, і ми знаємо, що вона має мінімум.
Тепер розглянемо NN з сигмоїдами, навченими квадратичною функцією витрат, з шарами.L
Ми визначаємо функцію витрат як суму квадратичних помилок у вихідному шарі для набору входів :X
C=12N∑xN∑j=1K(yj(x)−aLj(x))2
де - j-й нейрон у вихідному шарі , потрібний вихід і - кількість навчальних прикладів.aLjLyjN
Для простоти розглянемо помилку для одного входу:
C=∑j=1K(yj(x)−aLj(x))2
Тепер вихід активації для нейрона в шарі , :jℓaℓj
aℓj=∑kwℓjk⋅aℓ−1j+bℓj=wℓj⋅aℓ−1j+bℓj
Більшість випадків (якщо не завжди) NN тренується за допомогою однієї з методик спуску градієнта, яка в основному полягає в оновленні ваг і зміщення невеликими кроками до напрямку мінімізації. Мета полягає в застосуванні невеликої зміни ваг і ухилів у бік напрямку, що мінімізує функцію витрат.wb
Для невеликих кроків виконуються наступні дії:
ΔC≈∂C∂viΔvi
Наші - ваги та ухили. Будучи функцією витрат, ми хочемо мінімізувати, тобто знаходити належне значення . Припустимо, ми обираємо , тоді:
viΔviΔvi=−η∂C∂vi
ΔC≈−η(∂C∂vi)
що означає зміну в параметрі зменшило функції витрат з допомогою .ΔviΔC
Розглянемо -й вихідний нейрон:j
C=12(y(x)−aLj(x)2
aLj=σ=11+e−(wℓj⋅aℓ−1j+bℓj)
Припустимо, ми хочемо оновити вагу яка є вагою від нейрона у шарі до -го нейрона в шарі \ ell. Тоді ми маємо:wℓjkkℓ−1j
wℓjk⇒wℓjk−η∂C∂wℓjk
bℓj⇒bℓj−η∂C∂bℓj
Взяття похідних за допомогою ланцюгового правила:
∂C∂wℓjk=(aLj(x)−y(x))σ′aℓ−1k
∂C∂bℓj=(aLj(x)−y(x))σ′
Ви бачите залежність від похідної сигмоїди (у першому є wrt у другій wrt насправді, але це не сильно змінюється, оскільки обидва є експонентами).wb
Тепер похідна для загальної єдиної змінної сигмоїди дорівнює:
zdσ(z)dz=σ(z)(1−σ(z))
Тепер розглянемо один вихідний нейрон і припустимо, що нейрон повинен виводити замість цього він виводить значення, близьке до : ви побачите і з графіку, що сигмоїда для значень, близьких до є плоскою, тобто її похідна близька до , тобто оновлення параметра дуже повільні (оскільки рівняння оновлення залежать від .0110σ′
Мотивація функції перехресної ентропії
Щоб побачити, як була створена перехресна ентропія, припустимо, щойно з'ясували, що термін уповільнює процес навчання. Ми можемо задатися питанням, чи можна вибрати функцію витрат, щоб термін зник. В основному можна захотіти:σ′σ′
∂C∂w∂C∂b=(a−y)=x(a−y)
З ланцюгового правила у нас є:
Порівнюючи потрібне рівняння з правилом ланцюга, отримуємо
Використовуючи метод прикриття:
∂C∂b=∂C∂a∂a∂b=∂C∂aσ′(z)=∂C∂aσ(1−σ)
∂C∂a=a−ya(1−a)
∂C∂a=−[ylna+(1−y)ln(1−a)]+const
Щоб отримати функцію повної вартості, нам слід провести середнє значення для всіх навчальних зразків
де константа тут є середнім показником окремих констант для кожного прикладу навчання.∂C∂a=−1n∑x[ylna+(1−y)ln(1−a)]+const
Існує стандартний спосіб інтерпретації крос-ентропії, який походить з області теорії інформації. Грубо кажучи, ідея полягає в тому, що перехресна ентропія - це міра подив. Ми отримуємо низький сюрприз, якщо вихід - це те, чого ми очікуємо ( ), і високий сюрприз, якщо результат несподіваний.ay
Softmax
Для двійкової класифікації перехресна ентропія нагадує визначення в теорії інформації, і значення все ще можуть трактуватися як ймовірності.
При багаточленній класифікації це вже не відповідає дійсності: результати мають відмітити суму до .1
Якщо ви хочете, щоб вони дорівнювали до ви використовуєте функцію softmax, яка нормалізує результати, щоб сума дорівнювала .11
Також якщо вихідний шар складається з функцій softmax, термін уповільнення відсутній. Якщо ви використовуєте функцію вартості журналу ймовірності з вихідним шаром softmax, в результаті ви отримаєте форму часткових похідних, а в свою чергу рівняння оновлення, схожу на форму, знайдену для функції перехресної ентропії з сигмоїдними нейронами
Однак