Встречается на 5% собеседований по AI Engineer
Почему увеличение сложности нейронных сетей чаще достигается путем добавления новых слоев, а не увеличением количества нейронов в каждом слое
Увеличение глубины (добавление слоев) эффективнее, чем расширение ширины (нейроны в слое), потому что:
- Иерархия признаков: Глубокие сети лучше выявляют сложные абстракции (например, от краев к объектам в CV).
- Параметрическая эффективность: Экспоненциальный рост выразительности при добавлении слоев (теорема универсальной аппроксимации для глубинных сетей).
- Регуляризация: Глубина косвенно помогает избегать переобучения (например, через 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) может страдать от проблемы исчезающих градиентов.
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы