Epoch in Machine Learning
Оновлено: 31.07.2023
Що таке епоха в ML?
У машинному навчанні один прохід навчальних даних через алгоритм називається епохою. Номер епохи є критичним гіперпараметром для алгоритму. Він визначає кількість епох або повних проходів всього навчального набору даних через процес навчання алгоритму. Внутрішні параметри моделі набору даних оновлюються з кожною епохою.
Як результат, алгоритм градієнтного навчання називається на честь однієї епохи пакетів. Розмір партії епохи зазвичай дорівнює одиниці і завжди є цілим числом.
Альтернативно його можна представити у вигляді пронумерованого за епохами циклу, де кожен шлях циклу проходить через весь навчальний набір даних.
При використанні алгоритмів навчання кількість епох може сягати тисяч, і процес запрограмовано на продовження доти, доки похибка моделі не буде відповідним чином мінімізована. Зазвичай у навчальних посібниках та прикладах використовуються такі цифри, як 10, 100, 1000 і навіть більше.
Для процесу навчання можна побудувати лінійні графіки, використовуючи епохи машинного навчання на осі X і помилки навичок або моделі на осі Y. Ці лінійні графіки називаються кривою навчання алгоритму, і їх можна використовувати для діагностики таких проблем, як недостатнє, надмірне або правильне засвоєння навчальної вибірки.
Епоха та партія в машинному навчанні
Коли обробляється певна кількість зразків, модель оновлюється. Це називається розміром партії зразків. Кількість повних проходів у навчальному наборі даних не менш важлива і називається епохою в машинному навчанні.
- Розмір партії зазвичай дорівнює 1 і може дорівнювати або бути меншим за номер вибірки у навчальному наборі даних. Епоха у нейронній мережі, також відома як число навчання епохи, зазвичай є цілим числом від 1 до нескінченності.
Як наслідок, метод можна виконувати протягом будь-якого проміжку часу. За допомогою заданого номера епохи та коефіцієнта нульової швидкості з часом можна зупинити роботу алгоритму.
Як розмір партії, так і епоха є гіперпараметрами в машинному навчанні алгоритмів навчання, з цілочисельними значеннями, що використовуються навчальною моделлю. Ці значення не виявляються процесом навчання, оскільки вони не є внутрішніми параметрами моделі і повинні бути вказані для процесу під час навчання алгоритму на навчальному наборі даних.
Ключові висновки
- Це термін машинного навчання, який означає кількість проходів алгоритму машинного навчання через весь навчальний набір даних. Коли є велика кількість даних, прийнято групувати набори даних у пакети. Деякі люди використовують термін "ітерація" в широкому сенсі, називаючи процес прогону однієї партії через модель ітерацією.
- У контексті нейронних мереж - це один цикл у всьому навчальному наборі даних. Навчання мережі зазвичай займає більше епох. Іншими словами, значення епохи в нейронній мережі полягає в тому, що якщо ми використовуємо більше епох, ми можемо очікувати кращого узагальнення при отриманні нових вхідних даних.
- Це часто плутають з ітерацією. Кількість ітерацій, необхідних для завершення однієї епохи, - це кількість кроків або кількість партій через розділені пакети навчальних даних. Одна з евристичних причин полягає в тому, що це дозволяє мережі бачити попередні дані і коригувати параметри. Це робиться для того, щоб модель не була упередженою на основі останніх кількох точок даних під час навчання.
- Майте на увазі, що надання мережі можливості вивчати дані за кілька епох не гарантує, що вона буде збігатися або покращуватися. Хоча були спроби перетворити цей процес на алгоритм, зазвичай потрібне всебічне розуміння самих даних. Іншими словами, вибір кількості епох, необхідних для мережі, є мистецтвом машинного навчання.
- Враховуючи складність і різноманітність даних в реальних додатках, для досягнення розумної коректності тестових даних може знадобитися від сотень до тисяч епох. Крім того, термін "епоха" має кілька визначень залежно від теми, що розглядається.