Нейросети — итоги
Кратко — что стоит унести из раздела "Нейросети". Если пункт кажется туманным, откройте соответствующую главу или оглавление.
FAQ — Часто задаваемые вопросы
Типичные проблемы при первом коде и выборе архитектуры. Ниже — также формулировки из поиска ("как работает нейросеть", "что такое backpropagation", "PyTorch или TensorFlow"). Здесь — краткий ответ и ссылка на главу; определения для самопроверки — в чек-листе.
Вопрос. Loss не падает — перцептрон на NumPy "не учится".
Ответ. Проверьте learning rate, форму обратного прохода, совпадение размерностей матриц и что deriv=True вызывается на выходе sigmoid. Слишком большой шаг даёт расходимость, слишком маленький — застой. Подробнее здесь — глава 2, глава 1.
Вопрос. В логе обучения появился nan — что сломалось?
Ответ. Частые причины — слишком большой learning rate, деление на ноль, не нормализованные входы, взрыв градиента. Уменьшите lr, добавьте BatchNorm, проверьте данные на inf. Подробнее здесь — глава 114, глава 1.
Вопрос. CUDA out of memory на первой же эпохе.
Ответ. Уменьшите batch size, разрешение картинок или число слоёв; для инференса — квантование и gradient checkpointing. На CPU учат маленькие модели или используют облако. Подробнее здесь — глава 114.
Вопрос. Перцептрон выдает 0.49 вместо 0 и 0.51 вместо 1 — это провал?
Ответ. Sigmoid даёт вероятность, а не жёсткий класс; для решения берут порог 0.5 или подбирают по val. На малой выборке несколько ошибок нормальны. Подробнее здесь — глава 2.
Вопрос. Зачем смотреть на биологический нейрон, если код — матрицы?
Ответ. Биология — аналогия для интуиции (вход → сумма → активация → выход); реализация — линейная алгебра и градиенты. Не путайте метафору с устройством мозга. Подробнее здесь — глава 1.
Вопрос. ReLU или sigmoid на скрытых слоях — что выбрать?
Ответ. В глубоких сетях скрытые слои чаще на ReLU (меньше затухание градиента); sigmoid/softmax — на выходе для вероятностей. Для перцептрона в курсе — sigmoid на одном выходе. Подробнее здесь — глава 1, глава 113.
Вопрос. Одна эпоха — это один проход по всем данным?
Ответ. Да: эпоха — полный цикл по train; внутри эпохи батчи дают шаги оптимизатора. Число шагов = ceil(размер_train / batch_size). Подробнее здесь — глава 114.
Вопрос. Обучение на CPU идёт сутки — это нормально?
Ответ. Для больших CNN и трансформеров — да, без GPU долго. Начинайте с MNIST и маленьких сетей, используйте Google Colab или уменьшайте модель. Подробнее здесь — глава 114, глава 2.
Вопрос. Train loss падает, val loss растёт — что делать?
Ответ. Переобучение: ранняя остановка, dropout, меньше слоёв, больше данных, аугментация. Не подгоняйте гиперпараметры под test. Подробнее здесь — смещение и дисперсия, глава 113.
Вопрос. Dropout включён при predict — результаты случайные.
Ответ. На инференсе dropout отключают (в Keras — training=False); иначе нейроны случайно обнуляются. При обучении dropout включён. Подробнее здесь — глава 113.
Вопрос. Таблицу Melbourne загнал в CNN — accuracy странная.
Ответ. CNN для решёток с локальной структурой (пиксели); табличные признаки — sklearn/MLP. Неверная архитектура под данные — частая ошибка новичка. Подробнее здесь — глава 113, Melbourne.
Вопрос. LSTM для классификации картинок — имеет смысл?
Ответ. RNN/LSTM — для последовательностей (текст, временные ряды); для изображений — CNN или ViT. Подбирайте архитектуру под тип входа. Подробнее здесь — глава 113.
Вопрос. Нужен ли трансформер для задачи на 500 примерах?
Ответ. Скорее перебор: мало данных, много параметров — переобучение. Начните с baseline (логрег, маленький MLP) или fine-tune готовой модели. Подробнее здесь — transfer learning, трансформеры.
Вопрос. Backprop "магия" — можно без формул?
Ответ. Интуиция: ошибка на выходе распределяется назад, каждый вес чуть сдвигается против градиента loss. В Keras/TF градиенты считает фреймворк; руками — в перцептроне NumPy. Подробнее здесь — глава 2, глава 1.
Вопрос. Веса инициализировал нулями — сеть не учится.
Ответ. Нулевая инициализация даёт симметрию — нейроны обновляются одинаково. Используйте Xavier/He или малый случайный шум. Подробнее здесь — глава 114.
Вопрос. Глубокая сеть — градиент на первых слоях почти ноль.
Ответ. Затухание градиента; помогают ReLU, skip-соединения (ResNet), нормализация, меньшая глубина на старте. Подробнее здесь — глава 113.
Вопрос. PyTorch или TensorFlow — что учить первым?
Ответ. В курсе — Keras/TF (114) и отдельно PyTorch. Концепции одни; синтаксис разный. Освоив один, второй переносится быстрее. Подробнее здесь — глава 114.
Вопрос. Скопировал код MNIST из статьи — ImportError: tensorflow.
Ответ. Установите совместимую пару Python + TensorFlow (на Windows проверьте версию CUDA для GPU). Для первого прогона хватит CPU-сборки. Подробнее здесь — глава 114.
Вопрос. Fine-tuning — замораживать все слои кроме последнего?
Ответ. На малом датасете сначала замораживают backbone, учат "голову", потом осторожно размораживают верхние слои с малым lr. Полное размораживание с нуля на 100 картинках часто портит веса. Подробнее здесь — глава 3 ML.
Вопрос. ChatGPT написал нейросеть — можно сразу в прод?
Ответ. Код из чата нужно разобрать, протестировать и проверить на утечки; иначе получите нейрослоп. ИИ — репетитор, merge делает инженер. Подробнее здесь — глава 111.
Вопрос. GAN рисует одно и то же лицо — "mode collapse"?
Ответ. Да: генератор нашёл узкий обман дискриминатора. Лечат архитектурой, другими loss, больше данных; GAN капризны в обучении. Подробнее здесь — глава 112.
Вопрос. Нейросеть vs линейная регрессия на тех же данных — когда NN оправдана?
Ответ. Когда зависимость нелинейная (текст, картинка, сложные взаимодействия признаков) и baseline упёрся. На линейной таблице сначала бустинг часто выигрывает проще. Подробнее здесь — глава 112, ML.
Вопрос. Pooling "размывает" картинку — зачем он нужен?
Ответ. Pooling уменьшает размерность карты признаков, даёт устойчивость к сдвигу и снижает вычисления. Детали теряются осознанно ради обобщения. Подробнее здесь — глава 113.
Вопрос. Sequential API или Functional — что выбрать в Keras?
Ответ. Sequential — цепочка слоёв для простых MLP/CNN; Functional — несколько входов/выходов, skip-связи. Начните с Sequential на MNIST. Подробнее здесь — глава 114.
Вопрос. Модель сохранил в .h5, на другом ПК другая accuracy.
Ответ. Проверьте ту же версию TF, препроцессинг и порядок классов. Сохраняйте вместе с pipeline нормализации; для прода — SavedModel. Подробнее здесь — глава 114.
Вопрос. "Чёрный ящик" — можно ли объяснить, почему сеть ошиблась?
Ответ. Полная прозрачность редка; смотрят важность признаков, saliency maps, ошибки на подгруппах. Для регулируемых доменов нужен процесс аудита, а не только accuracy. Подробнее здесь — глава 112, применение ИИ.
Вопрос. Сначала ML на таблицах или сразу нейросети?
Ответ. Рекомендуемый порядок в курсе — train/test и Melbourne, затем перцептрон и 114. Без метрик табличного ML глубокие сети труднее отладить. Подробнее здесь — intro нейросетей.
Вопрос. Adam всегда лучше SGD?
Ответ. Adam часто быстрее сходится "из коробки"; SGD с schedule иногда даёт лучшее обобщение на CV. Начните с Adam, при плато экспериментируйте. Подробнее здесь — глава 114, глава 1.
Вопрос. Нейросеть и "ИИ" в заголовке статьи — одно и то же?
Ответ. Нейросеть — конкретная модель; ИИ — широкая область. Не каждый "ИИ" в рекламе содержит нейросеть. Подробнее здесь — глава 111, введение в ИИ.
Вопрос. Что такое нейросеть простыми словами?
Ответ. Нейросеть — цепочка слоёв: входные числа умножаются на веса, проходят через функцию активации, на выходе — прогноз. Веса подбирают обучением на примерах. Подробнее здесь — глава 1.
Вопрос. Как работает нейросеть — пошагово для начинающих?
Ответ. Forward: данные → слои → предсказание. Сравнение с ответом → loss. Backprop считает, как изменить веса, чтобы loss уменьшился. Цикл повторяется тысячи раз. Подробнее здесь — глава 2, глава 112.
Вопрос. Чем нейросеть отличается от обычной программы?
Ответ. В обычной программе правила заданы явно; в нейросети поведение задают данные и обучение весов. Код описывает архитектуру и шаг оптимизации, а не каждое решение вручную. Подробнее здесь — глава 111, машинное обучение.
Вопрос. Что такое перцептрон и с чего начать код нейросети?
Ответ. Перцептрон — простейший нейрон с сигмоидой; в курсе его обучают на NumPy за ~40 строк. Лучший первый код перед TensorFlow. Подробнее здесь — глава 2.
Вопрос. Что такое backpropagation обратное распространение ошибки?
Ответ. Backpropagation — алгоритм, который по цепочке слоёв распределяет ошибку назад и вычисляет градиент для каждого веса. В фреймворках он автоматический; в учебнике — на перцептроне NumPy. Подробнее здесь — глава 1, глава 2.
Вопрос. Что такое функция активации ReLU sigmoid softmax?
Ответ. Активация добавляет нелинейность: ReLU на скрытых слоях, sigmoid/softmax на выходе для вероятностей классов. Без активации сеть — один большой линейный слой. Подробнее здесь — глава 1, глава 113.
Вопрос. Что такое глубокое обучение deep learning?
Ответ. Deep learning — нейросети с множеством скрытых слоёв (CNN, RNN, трансформеры). "Глубина" — число слоёв, через которые проходит сигнал. Подробнее здесь — глава 112, введение в ИИ.
Вопрос. CNN свёрточная нейросеть — для чего используется?
Ответ. CNN ищут локальные паттерны на изображениях (края, текстуры, объекты) через свёртки и pooling. Стандарт для фото, видео, медицинских снимков. Подробнее здесь — глава 113, глава 114.
Вопрос. Что такое трансформер transformer в нейросетях?
Ответ. Трансформер обрабатывает последовательность через механизм внимания, без рекуррентных связей; основа GPT, BERT и современных LLM. Подробнее здесь — глава 113, трансформеры и NLP.
Вопрос. LSTM нейросеть — что это и когда нужна?
Ответ. LSTM — тип RNN с "памятью" для длинных последовательностей (текст, временные ряды). Сейчас во многих NLP-задачах LSTM заменили трансформеры, но идея последовательности остаётся. Подробнее здесь — глава 113.
Вопрос. PyTorch или TensorFlow — что выбрать новичку в 2025–2026?
Ответ. Оба стандарта: в курсе — Keras/TensorFlow (114) и отдельно PyTorch (333). Освоив один, второй переносится быстрее. Подробнее здесь — глава 114.
Вопрос. Как обучить нейросеть на Python с нуля?
Ответ. Путь: перцептрон NumPy → Keras MNIST → при необходимости PyTorch. Перед этим — split и метрики из ML. Подробнее здесь — intro раздела.
Вопрос. Зачем NumPy для нейросети, если есть TensorFlow?
Ответ. NumPy показывает матрицы весов и backprop вручную — без "магии" фреймворка. После этого API Keras/PyTorch понятнее. Подробнее здесь — глава 2.
Вопрос. Датасет MNIST — зачем его используют в обучении?
Ответ. MNIST — классические рукописные цифры 28×28; маленький, быстро учится, удобен для первой CNN в Keras. Подробнее здесь — глава 114.
Вопрос. Что такое эпоха epoch и batch size при обучении нейросети?
Ответ. Batch — порция примеров за один шаг обновления весов; эпоха — один полный проход по всему train. Несколько эпох — пока loss на val не перестанет улучшаться. Подробнее здесь — глава 114.
Вопрос. Learning rate что это и как подобрать?
Ответ. Learning rate — размер шага при обновлении весов. Слишком большой — loss прыгает и NaN; слишком маленький — обучение вечное. Начинают с 1e-3…1e-2 и смотрят кривую loss. Подробнее здесь — глава 2, глава 114.
Вопрос. Что такое dropout в нейросети?
Ответ. Dropout случайно "выключает" часть нейронов на шаге обучения — снижает переобучение. На инференсе отключают. Подробнее здесь — глава 113.
Вопрос. GAN нейросеть — что она генерирует?
Ответ. GAN (Generative Adversarial Network) — два сети: генератор создаёт картинки, дискриминатор отличает фейк от реала. Используют для синтеза изображений (до эры диффузии — широко). Подробнее здесь — глава 112.
Вопрос. Нейросеть для распознавания лиц и объектов — какая архитектура?
Ответ. Обычно CNN или современные детекторы (YOLO и др.) на свёрточных backbone; для продакшена — предобученные веса + fine-tuning. Подробнее здесь — глава 113, применение CV.
Вопрос. Сколько слоёв нужно в нейросети?
Ответ. Зависит от задачи и данных: для MNIST хватит пары слоёв; для ImageNet — десятки. Ориентир — val loss: добавляйте сложность, пока val улучшается. Подробнее здесь — глава 8 ML, глава 113.
Вопрос. Можно ли обучить нейросеть на обычном ноутбуке без GPU?
Ответ. Перцептрон, MNIST, малые MLP — да на CPU. Большие CNN и LLM — нужен GPU или облако (Colab). Подробнее здесь — глава 2, глава 114.
Вопрос. Keras что это и как связан с TensorFlow?
Ответ. Keras — высокоуровневый API для сборки и обучения сетей; в TensorFlow 2.x встроен как tf.keras. Упрощает Sequential-модели и callbacks. Подробнее здесь — глава 114.
Вопрос. Что такое веса нейросети weights?
Ответ. Веса — числа на связях между нейронами; именно их обучение подгоняет под данные. Файл .h5 / SavedModel хранит обученные веса. Подробнее здесь — глава 1, глава 114.
Вопрос. Нейросеть и машинное обучение — в чём разница?
Ответ. Машинное обучение — зонт (деревья, SVM, нейросети). Нейросеть — один класс моделей ML, основа глубокого обучения. Подробнее здесь — ML, глава 111.
Вопрос. Что такое loss function функция потерь?
Ответ. Loss — число, насколько предсказание далеко от правды (MSE для регрессии, cross-entropy для классов). Обучение минимизирует loss градиентным спуском. Подробнее здесь — глава 1, глава 112.
Вопрос. Как нейросеть связана с ChatGPT?
Ответ. ChatGPT — сервис поверх большой трансформерной нейросети (LLM), обученной предсказывать следующий токен. Подробнее здесь — генеративный ИИ, глава 112.
Как пользоваться этой страницей
Итоги работают в трёх режимах —
- Перед повторением — пробегите таблицу блоков и отметьте, какие главы нужно перечитать.
- После раздела — воспроизведите перцептрон на NumPy без подсказок и объясните forward/backward своими словами.
- Перед переходом к трансформерам — сверьтесь с чек-листом и закройте пробелы по CNN/RNN из 113.
Если формулировка "знакома, но объяснить не могу" — это сигнал вернуться в главу, а не "зубрить" итоги.
Что запомнить
Шесть блоков раздела
| Блок | Главная мысль | Глава |
|---|---|---|
| Нейрон | Вход → взвешенная сумма → активация → выход | 1 |
| Практика | Перцептрон NumPy — полный цикл обучения в ~40 строк | 2 |
| Контекст ИИ | Нейросеть — инструмент ML, не субъект с целями | 111 |
| Обзор | Слабый/сильный ИИ, пайплайн, семейства моделей | 112 |
| Архитектуры | FC, CNN, RNN, трансформер — разные типы входа | 113 |
| Keras/TF | Sequential, MNIST, callbacks, сохранение модели | 114 |
Три принципа, которые связывают темы
- Архитектура следует за данными — таблица, последовательность и картинка требуют разных слоёв (113).
- Градиент и loss — руль обучения — без понимания backprop сложно отладить "не учится" (2).
- Фреймворк не заменяет ML-гигиену — split, метрики и baseline из раздела ML остаются обязательными (intro ML).
Частые путаницы
| Путают | На самом деле | Где повторить |
|---|---|---|
| Нейрон и нейросеть | Нейрон — узел; сеть — граф слоёв с обучаемыми весами | 1 |
| Обучение и инференс | Обучение меняет веса; инференс — forward с фиксированными весами | 1 |
| Параметры и гиперпараметры | lr, batch size — гиперпараметры; веса syn0 — параметры | 2 |
| DL и весь ML | DL — ML на глубоких нейросетях; не единственный метод | 112 |
| Точность на train | 100% train при слабом val — переобучение, а не успех | 8 ML |
Куда идти дальше
| Цель | Раздел |
|---|---|
| Трансформеры и NLP | 6.09 Трансформеры |
| PyTorch | PyTorch для разработчика |
| LLM и промпты | Модели и инструменты |
| CV в проде | Применение ИИ |
Проверьте себя — Чек-лист самопроверки.
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Минимальный пример обучения одного нейрона на Python и NumPy — сигмоида, матрица весов syn0, цикл итераций и проверка на новых данных. Нейрон — это основная функциональная единица биологической нервной системы, включая человеческий мозг. Что есть искусственный интеллект и нейросеть; кратко про вайб-кодинг со ссылкой на отдельную статью. Деревья решений, линейная регрессия, нейронные сети, генеративные модели — это всё примеры ИИ-моделей. Рекуррентность — это свойство моделей сохранять информацию о предыдущих шагах обработки данных. Глубокое обучение на Python — Sequential и Functional API, MNIST, CNN, callbacks, сохранение модели и связь с PyTorch. Чек-лист раздела «Нейросети» — вопросы для самопроверки.Первое обучение — перцептрон на NumPy
Нейрон
Нейросети и их связь с ИИ
Принцип работы современных ИИ-систем
Архитектуры нейронных сетей
Keras и TensorFlow — нейросети
Нейросети — чек-лист