PROGLIB_ACADEMY Telegram 3202
How to: как «на самом деле» работает Dropout

Если вы думаете, что Dropout просто обнуляет часть нейронов, это лишь половина правды. Есть ещё один важный шаг, который делает обучение стабильным.

Разберёмся на примере:
— Представьте, что у нас есть 100 нейронов в предыдущем слое, все с активацией 1.
— Все веса соединений с нейроном A в следующем слое равны 1.
— Dropout = 50% — половина нейронов отключается во время обучения.

Что происходит:
— Во время обучения: половина нейронов выключена, так что вход нейрона A ≈ 50.
— Во время inference: Dropout не применяется, вход A = 100.

Проблема:
Во время обучения нейрон получает меньший вход, чем во время inference. Это создаёт дисбаланс и может ухудшить обобщающую способность сети.

Секретный шаг Dropout:
Чтобы это исправить, Dropout масштабирует оставшиеся активации во время обучения на коэффициент 1/(1-p), где p — доля отключённых нейронов.

— Dropout = 50% (p = 0.5).
— Вход 50 масштабируется: 50 / (1 - 0.5) = 100.

Теперь во время обучения вход нейрона A примерно соответствует тому, что он получит при inference. Это делает поведение сети стабильным.

Проверим на практике:
import torch
import torch.nn as nn

dropout = nn.Dropout(p=0.5)
tensor = torch.ones(100)

# Обучение (train mode)
print(dropout(tensor).sum()) # ~100 (масштабировано)

# Вывод (eval mode)
dropout.eval()
print(dropout(tensor).sum()) # 100 (без Dropout)


В режиме обучения оставшиеся значения увеличиваются, в режиме inference — нет.

Вывод:
Dropout не просто отключает нейроны — он ещё масштабирует оставшиеся активации, чтобы модель обучалась корректно.

🏃‍♀️ Proglib Academy

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🙏1👾1



tgoop.com/proglib_academy/3202
Create:
Last Update:

How to: как «на самом деле» работает Dropout

Если вы думаете, что Dropout просто обнуляет часть нейронов, это лишь половина правды. Есть ещё один важный шаг, который делает обучение стабильным.

Разберёмся на примере:
— Представьте, что у нас есть 100 нейронов в предыдущем слое, все с активацией 1.
— Все веса соединений с нейроном A в следующем слое равны 1.
— Dropout = 50% — половина нейронов отключается во время обучения.

Что происходит:
— Во время обучения: половина нейронов выключена, так что вход нейрона A ≈ 50.
— Во время inference: Dropout не применяется, вход A = 100.

Проблема:
Во время обучения нейрон получает меньший вход, чем во время inference. Это создаёт дисбаланс и может ухудшить обобщающую способность сети.

Секретный шаг Dropout:
Чтобы это исправить, Dropout масштабирует оставшиеся активации во время обучения на коэффициент 1/(1-p), где p — доля отключённых нейронов.

— Dropout = 50% (p = 0.5).
— Вход 50 масштабируется: 50 / (1 - 0.5) = 100.

Теперь во время обучения вход нейрона A примерно соответствует тому, что он получит при inference. Это делает поведение сети стабильным.

Проверим на практике:

import torch
import torch.nn as nn

dropout = nn.Dropout(p=0.5)
tensor = torch.ones(100)

# Обучение (train mode)
print(dropout(tensor).sum()) # ~100 (масштабировано)

# Вывод (eval mode)
dropout.eval()
print(dropout(tensor).sum()) # 100 (без Dropout)


В режиме обучения оставшиеся значения увеличиваются, в режиме inference — нет.

Вывод:
Dropout не просто отключает нейроны — он ещё масштабирует оставшиеся активации, чтобы модель обучалась корректно.

🏃‍♀️ Proglib Academy

#буст

BY Proglib.academy | IT-курсы




Share with your friend now:
tgoop.com/proglib_academy/3202

View MORE
Open in Telegram


Telegram News

Date: |

When choosing the right name for your Telegram channel, use the language of your target audience. The name must sum up the essence of your channel in 1-3 words. If you’re planning to expand your Telegram audience, it makes sense to incorporate keywords into your name. Public channels are public to the internet, regardless of whether or not they are subscribed. A public channel is displayed in search results and has a short address (link). The Channel name and bio must be no more than 255 characters long Hashtags The public channel had more than 109,000 subscribers, Judge Hui said. Ng had the power to remove or amend the messages in the channel, but he “allowed them to exist.”
from us


Telegram Proglib.academy | IT-курсы
FROM American