Sobes.tech
Middle
26

Что такое residual connection и для чего его используют?

Companies where asked
ДомкликДомклик
Магнит

Answer from AI

sobes.tech AI

Residual connection (остаточное соединение) — это архитектурный приём в глубоких нейронных сетях, при котором вход слоя добавляется к его выходу, минуя основной блок преобразований. Это помогает бороться с проблемой затухающего градиента и облегчает обучение очень глубоких сетей.

Идея в том, что слой учится не напрямую отображать вход в выход, а лишь корректировать вход (обучать остаток). Это позволяет градиенту свободно проходить через сеть, улучшая сходимость и качество модели.

Пример в PyTorch:

import torch
import torch.nn as nn

class ResidualBlock(nn.Module):
    def __init__(self, channels):
        super().__init__()
        self.conv = nn.Conv2d(channels, channels, kernel_size=3, padding=1)
        self.relu = nn.ReLU()

    def forward(self, x):
        out = self.conv(x)
        out += x  # residual connection
        return self.relu(out)

Residual connections широко используются в архитектурах ResNet и их производных.