Как я стабилизировал и ускорил обучение нейронной сети без фреймворков | Мариям Махмуд | СЕП, 2025

Нормализация партии с нуля в Numpy

Нажмите Enter или нажмите, чтобы просмотреть изображение в полном размере

После реализации Адам оптимизаторЯ заметил еще одну болезнь: часто глубокие сети взорвались или исчезнули градиенты в зависимости от инициализации. Некоторые нейроны «застряли», и конвергенция резко замедлилась.

Исправление? Нормализация партии (BN)Полем Вместо того, чтобы бороться с инициализацией веса или крошечными скоростями обучения, BN нормализует активации внутри сети. Вот как я реализовал это снова, ничто иное, кроме NumpyПолем

Что такое нормализация партии?

Нажмите Enter или нажмите, чтобы просмотреть изображение в полном размере

Зачем использовать Batchnorm?

✅ Предотвращает градиенты исчезновения/взрыва
✅ Ускоряет тренировки
✅ Снижает чувствительность к инициализации
✅ действует как регулятор

Batchnorm Forward Pass в Numpy

Вот класс для BN, который работает в режиме обучения:

class BatchNorm:
def __init__(self, dim, momentum=0.9, epsilon=1e-8):
self.gamma = np.ones((1…

2025-09-21 18:26:00


1758480002
#Как #стабилизировал #ускорил #обучение #нейронной #сети #без #фреймворков #Мариям #Махмуд #СЕП

Ещё по этой теме

Read more:  Google включает свои Близнецы на подключенные устройства, заменяя Google Assistant

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.