Чи має значення перехресна ентропія в контексті регресії?


14

Чи має значення перехресна ентропія в контексті регресії (на відміну від класифікації)? Якщо так, чи могли б ви навести приклад іграшки через TensorFlow? Якщо ні, то чому б і ні?

Я читав про крос-ентропію в нейронних мережах та глибоке навчання Майкла Нільсена, і, здається, щось таке, що природно можна було б використати як для регресії, так і для класифікації, але я не розумію, як би ви ефективно застосовували це в TensorFlow з моменту Функції втрат приймають логіти (яких я теж не розумію), і вони перераховані тут під класифікацією


2
Я знайшов тут квору, яка говорить про різні, ніж те, що прийнято як відповідь на це питання
Siddharth Shakya

Якщо ви читаєте всю відповідь, то бачите, що він дає "безперервну версію" крос-ентропії, яка є досить класною, але виявляється просто помилкою середнього квадрату (MSE).
JacKeown

Відповіді:


11

Ні, не має сенсу використовувати функції TensorFlow, як tf.nn.sigmoid_cross_entropy_with_logitsдля завдання регресії. У TensorFlow "крос-ентропія" є скороченою (або жаргонною) для "категоричної поперечної ентропії". Категорична перехресна ентропія - це операція на ймовірності. Проблема регресії намагається передбачити постійні результати, а не класифікації.

Жаргон "перехресна ентропія" трохи вводить в оману, оскільки існує будь-яка кількість функцій втрати перехресної ентропії; однак, це умова в машинному навчанні називати цю втрату як "перехресну ентропію" втрату.

Якщо ми розглянемо межі функцій TensorFlow, на які ви посилаєтеся, то, звичайно, існує будь-яка кількість можливих функцій перехресної ентропії. Це тому, що загальна концепція крос-ентропії полягає у порівнянні двох розподілів ймовірностей. Залежно від того, з якими двома розподілами ймовірностей ви хочете порівняти, ви можете отримати іншу втрату, ніж типова категорична перехресна ентропія. Наприклад, перехресна ентропія гауссової цілі з деякою мінливою середньою, але фіксованою діагональною коваріацією зводиться до середньоквадратичної помилки. Загальна концепція перехресної ентропії більш детально викладена в цих питаннях:


6
Хоча, слід зазначити, що використання двійкової кросцентропії як функції втрати в регресійній задачі, де вихідні значення є реальними значеннями в діапазоні [0,1], є досить розумною і достовірною справою.
сьогодні

[0,1]

6

Відповідь, надана @Sycorax, є правильною. Однак варто зазначити, що використання (бінарної) перехресної ентропії в регресійній задачі, де значення вихідних значень знаходяться в діапазоні [0,1], є дійсною і розумною справою. Насправді він використовується в автокодерах зображень (наприклад, тут і в цьому документі ). Можливо, вам буде цікаво ознайомитися з простим математичним доказом того, чому це працює в даному випадку в цій відповіді .


[0,1]

@InfProbSciX "це може бути не розумним підходом до вирішення будь-якої регресії, де результати знаходяться в діапазоні [0,1]." Тож "розумний" у якому сенсі? Або як ви визначаєте розумність функції втрат для конкретного завдання? Я підозрюю, що це твердження може бути правдивим для будь-якої функції втрат. Чи є якась функція втрати, яку було б розумно використовувати для всіх видів регресійних завдань, звичайно після визначення "розумного"?
сьогодні

Y=fθ(X)+ϵϵYBernoulli(pθ)ентропія бінарного хреста. Якщо закон - це лінійна регресія з нормальним попереднім коефіцієнтом, втрата відповідає штрафу L2 тощо. Там, де це можливо, я буду складати закон, а потім отримувати збитки.
InfProbSciX

@InfProbSciX Дякуємо за вашу відповідь. Отже, як ви вже згадували, залежно від завдання регресії (і припущень щодо розподілу даних, помилок тощо) функція втрат може бути недоцільною для використання. І, як я вже згадував, це стосується всіх функцій втрат, включаючи кросцентропію. Звичайно, я бачу, що саме тому, що вихідні значення знаходяться в діапазоні [0,1], це не гарантує, що кросцентропія є оптимальною функцією втрати вибору, і я не намагався передати інше у своїй відповіді.
сьогодні

5

Рамки глибокого навчання часто змішують моделі та втрати і посилаються на перехресну ентропію мультиноміальної моделі з нелінійністю softmax cross_entropy, що вводить в оману. Загалом, ви можете визначити перехресну ентропію для довільних моделей .

fθ(x)ylogfθ(x),
y


2

На жаль, відповідь, прийнята на даний момент від @Sycorax, хоча й детальна, невірна.

Насправді, найкращий приклад регресу через категоричну крос-ентропію - Wavenet - був реалізований у TensorFlow .

Принцип полягає в тому, що ви дискретизуєте свій вихідний простір, і тоді ваша модель лише передбачить відповідний бін; див. Розділ 2.2 статті для прикладу в області звукового моделювання. Тож, якщо технічно модель здійснює класифікацію, можлива вирішена задача - регресія.

Очевидним недоліком є ​​те, що ви втрачаєте вихідну роздільну здатність. Однак це може не бути проблемою (принаймні, я думаю, що штучний помічник Google говорив дуже людським голосом ), або ви можете пограти з деякою постільною обробкою, наприклад, інтерполяцією між найбільш вірогідним біном та двома сусідами.

З іншого боку, такий підхід робить модель набагато потужнішою порівняно зі звичайним однолінійним виведенням, тобто дозволяє висловити багатомодальні прогнози або оцінити її впевненість. Зауважте, що останнє може бути природно досягнуто іншими способами, наприклад, маючи явний дисперсійний вихід (журналу), як у варіаційних автоінкодерах.

У будь-якому випадку, цей підхід не підходить до масштабного виводу, оскільки тоді розмір вихідного шару зростає експоненціально, що робить його як обчислювальним, так і моделюючим питанням.


1
Я бачу, що ви говорите, але я особисто не вважав би дискретизацію вашого вихідного простору виконанням "регресії" настільки, наскільки це наближення проблеми регресії за допомогою класифікації ... але я думаю, що це лише питання термінології / конвенції.
JacKeown

1
Домовились. 32-розрядний плаваючий простір все одно дискретний :-)
dedObed

-1

Я переглянув це питання, оскільки зараз не погоджуюся з відповіді, яку я раніше прийняв. Перехресна втрата ентропії МОЖЕ бути використана при регресії (хоча це не часто).

Це зводиться до того, що крос-ентропія - це поняття, яке має сенс лише при порівнянні двох розподілів ймовірностей. Ви можете розглянути нейронну мережу, яка видає середнє і стандартне відхилення для нормального розподілу як своє передбачення. Тоді це було б суворіше покарано за те, що він був більш впевнений у поганих прогнозах. Так, так, це має сенс, але тільки якщо ви випускаєте розподіл в якомусь сенсі. Посилання від @SiddharthShakya в коментарі до мого оригінального запитання показує це.


1
Ця відповідь, схоже, відповідає на питання інакше, ніж його задають. Функції, з якими ви пов’язані у запитанні, стосуються конкретного виду перехресної ентропії, і ваше запитання, здається, запитує, чи можна використовувати ці функції в регресії, і моя відповідь написана так, ніби ви запитуєте, як використовувати ці функції ви посилаєтесь на. Тут відповідь, здається, відповідає на питання "Чи можна перехресну ентропію узагальнити поза класифікацією?" Редагуючи Q, було б зрозуміло, що акцент робиться на тому, як визначаються математичні поняття, а не на фокусуванні на використанні функцій Tensorflow.
Sycorax каже, що повернемо Моніку

Я розумію ваше заперечення, але я планую залишити питання таким, яким воно є, оскільки це моє оригінальний запит, який, на мою думку, міг би допомогти людям з тим самим питанням, яке я мав. У будь-якому випадку, весь пост повинен містити достатню кількість інформації загалом.
JacKeown
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.