Різниця Кераса між валлосом та втратою під час тренувань


18

У чому різниця між val_lossта lossпід час тренувань у Керасі?

Напр

Epoch 1/20
1000/1000 [==============================] - 1s - loss: 0.1760, val_loss: 0.2032  

На деяких сайтах я читав, що під час перевірки відмова не працювала.


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

Відповіді:


15

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

Завдяки одному з наших дорогих друзів, я цитую і пояснити зміст з тут , які є корисними.

validation_split: Плаваю між 0 і 1. Частина даних тренувань, що використовуються як дані валідації. Модель буде виділяти цю частину навчальних даних, не буде тренуватись на ній, а також оцінюватиме втрати та будь-які показники моделі на цих даних наприкінці кожної епохи. Дані перевірки вибираються з останніх зразків у наданих даних x та y перед перемішуванням.

validation_data: кортеж (x_val, y_val) або tuple (x_val, y_val, val_sample_weights), за яким можна оцінити втрати та будь-які показники моделі в кінці кожної епохи. Модель не буде навчатися за цими даними. Це замінить валідацію_спліт.

Як ви можете бачити

fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)

fitВикористовуваний метод Kerasмає параметр з назвою validation_split, який вказує відсоток даних, що використовуються для оцінки моделі, що створюється після кожної епохи. Оцінивши модель, використовуючи цей об'єм даних, про що буде повідомлено, val_lossякщо ви встановили багатослівний 1; крім того, як чітко визначено в документації, ви можете використовувати або validation_dataабо validation_split. Дані перехресної перевірки використовуються для того, щоб перевірити, чи ваша модель надто відповідає даних чи ні. Це те, що ми можемо зрозуміти, чи є наша модель здатністю до узагальнення чи ні.

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