Встречается на собеседованиях • сегодня

Почему увеличение сложности нейронных сетей чаще достигается путем добавления новых слоев, а не увеличением количества нейронов в каждом слое

Увеличение глубины (добавление слоев) эффективнее, чем расширение ширины (нейроны в слое), потому что:

  1. Иерархия признаков: Глубокие сети лучше выявляют сложные абстракции (например, от краев к объектам в CV).
  2. Параметрическая эффективность: Экспоненциальный рост выразительности при добавлении слоев (теорема универсальной аппроксимации для глубинных сетей).
  3. Регуляризация: Глубина косвенно помогает избегать переобучения (например, через skip-connections в ResNet).

Пример с Keras:

python
# Лучше так (глубина):
model = Sequential([
    Dense(64, activation='relu'),
    Dense(64, activation='relu'),  # Добавили слой
    Dense(10)
])

# Чем так (ширина):
model = Sequential([
    Dense(128, activation='relu'),  # Увеличили нейроны
    Dense(10)
])

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

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы