Как устроена нейросеть: нейрон, веса, активация¶
Коротко
Нейросеть — это сеть из множества простых вычислительных «ячеек», каждая из которых складывает входы с разными весами и пропускает результат через функцию активации. По отдельности такая ячейка считает почти то же, что и линейная регрессия из прошлого урока. Но когда ячейки выстраивают в слои и соединяют между собой, сеть начинает улавливать сложные, запутанные зависимости — например, отличать лица или разбирать речь. «Обучить» нейросеть — значит подобрать веса так, чтобы её ответы как можно чаще совпадали с правильными.
Откуда взялось слово «нейросеть»¶
Идею подсмотрели у живого мозга. В нём работают миллиарды нервных клеток — нейронов. Каждый получает сигналы от соседей, как-то их суммирует и, если суммарный сигнал достаточно силён, передаёт импульс дальше. Поодиночке нейрон примитивен, но вместе они дают мышление, память и распознавание.
Искусственная нейросеть (по-английски neural network) — это математическая модель, очень грубо вдохновлённая такой схемой. Никакого настоящего мозга внутри нет: есть числа и арифметика. Но принцип похож — много простых элементов, соединённых между собой, вместе решают задачу, которая каждому из них по отдельности не под силу.
Сразу снимем лишний ореол таинственности: нейросеть — не «искусственный разум» и не магия, а способ собрать из несложных деталей гибкую систему, которая подстраивается под данные. Дальше разберём эти детали по одной.
Искусственный нейрон: сумма входов и порог¶
Главный «кирпичик» сети — искусственный нейрон (или просто узел) — это маленькая функция, которая берёт несколько чисел на входе, складывает их с учётом важности каждого и выдаёт одно число на выходе.
Работает он в два шага.
Сначала нейрон считает взвешенную сумму. У каждого входа есть свой множитель — вес — это число, которое показывает, насколько данный вход важен для ответа. Большой вес — вход сильно влияет на результат; вес около нуля — вход почти не учитывается; отрицательный вес — вход «голосует против». Нейрон умножает каждый вход на его вес и всё складывает.
Аналогия из жизни. Решая, идти ли на пробежку, вы взвешиваете факторы: погода, усталость, наличие времени. Каждый весит по-своему — кому-то важнее погода, кому-то усталость. Вы складываете эти «взвешенные» доводы и получаете итоговое «за» или «против». Нейрон делает ровно это, только числами.
Важно
К взвешенной сумме обычно добавляют ещё одно число — смещение (по-английски bias). Оно работает как настраиваемый порог: сдвигает момент, когда нейрон «срабатывает», и не привязано ни к какому конкретному входу. Можно считать смещение просто ещё одним весом, у которого вход всегда равен единице. Запоминать формулу не нужно — достаточно понимать, что у нейрона есть и веса при входах, и собственный порог.
Функция активации: зачем нужен «выключатель»¶
Если бы нейрон просто выдавал взвешенную сумму как есть, вся сеть оставалась бы линейной — то есть умела бы рисовать только прямые линии и плоскости. Для сложных задач этого мало: граница между «кошкой» и «собакой» на фотографии — точно не прямая линия.
Поэтому результат взвешенной суммы пропускают через функцию активации — это правило, которое решает, как и насколько сильно нейрон «срабатывает» в ответ на полученный сигнал. Именно она добавляет в сеть нелинейность — способность изгибать границы и описывать непрямые зависимости.
Проще всего представить активацию как выключатель с характером:
- Жёсткий порог. Если сумма больше определённого значения — нейрон выдаёт 1 («сработал»), иначе 0 («молчит»). Это самый наглядный вариант, похожий на «всё или ничего» у живого нейрона.
- Плавный переход. Чаще используют функции, которые меняются не скачком, а постепенно: чем сильнее сигнал, тем ближе выход к максимуму. Такой плавный отклик удобнее при обучении.
Конкретные названия (сигмоида, ReLU и другие) сейчас знать необязательно. Запомните суть: функция активации решает, пропустить сигнал дальше или придержать, и насколько сильно — без неё сеть была бы лишь сложным способом записать прямую линию.
Связь с линейной регрессией¶
Если вам кажется, что вы это уже где-то видели, — так и есть. В уроке про линейную регрессию мы тоже умножали входные признаки на коэффициенты и складывали, чтобы предсказать число. Это и есть взвешенная сумма.
Один искусственный нейрон без функции активации — фактически и есть линейная регрессия: те же входы, те же веса-коэффициенты, та же сумма. Разница появляется в двух местах:
- Активация. Нейрон добавляет к сумме нелинейный «выключатель», поэтому умеет не только проводить прямую, но и описывать изгибы.
- Количество. Нейросеть — это не один такой элемент, а множество, соединённых вместе. Выход одних нейронов становится входом для других.
Отсюда удобный способ понимать нейросеть: это много линейных регрессий, сложенных слоями и приправленных нелинейностью. Каждый отдельный шаг прост и знаком, а сила рождается из их сочетания.
Слои: входной, скрытые, выходной¶
Нейроны в сети не свалены в кучу — они выстроены в слои. Слой — это группа нейронов, которые работают параллельно на одном «этаже» сети и передают свои результаты дальше. Сеть устроена как конвейер: данные входят с одного конца и проходят этаж за этажом.
Обычно выделяют три роли:
- Входной слой. Сюда подаются исходные данные — например, яркости пикселей фотографии или числовые признаки объекта. Он ничего не вычисляет, а просто принимает сигнал.
- Скрытые слои. Это «внутренняя кухня» сети, спрятанная между входом и выходом. Именно здесь происходит основная обработка: каждый следующий слой собирает из ответов предыдущего более сложные признаки.
- Выходной слой. Выдаёт итоговый ответ: метку класса («кошка»), число (прогноз спроса) или вероятность.
Полезная картинка — обработка фотографии. Первые скрытые слои реагируют на простейшее: края, пятна, переходы света и тени. Следующие складывают из краёв формы — дугу, угол, овал. Ещё более глубокие — узнают части объекта: глаз, колесо, нос. А выходной слой по этим частям делает вывод: «это лицо» или «это автомобиль». Никто не прописывал эти ступени вручную — сеть выстраивает их сама в процессе обучения.
Пример: как ИИ узнаёт лицо и голос
Системы оплаты по лицу — например, FacePay в московском метро — опираются на нейросети, которые превращают изображение лица в набор устойчивых числовых признаков и сравнивают их с сохранённым образцом. Похожим образом работает «нейрофото» в приложениях: сеть разбирает снимок на признаки и достраивает новый образ.
С голосом всё устроено созвучно. Чтобы Алиса распознала вашу фразу, нейросеть раскладывает звук на признаки и слой за слоем превращает их в слова. А чтобы Алиса ответила голосом, другая сеть проделывает обратный путь — синтезирует звук по тексту. И в зрении, и в речи принцип один: слои постепенно превращают «сырой» сигнал во всё более осмысленные признаки.
Почему «глубина» даёт силу¶
Сеть с многими скрытыми слоями называют глубокой — отсюда и термин «глубокое обучение», к которому мы ещё вернёмся в отдельном уроке. Почему количество слоёв так важно?
Каждый слой строит свои признаки поверх того, что нашёл предыдущий, — получается лестница абстракций от простого к сложному. Один слой увидит только края, два — простые формы, много слоёв — целые объекты и тонкие связи между ними. Чтобы уловить по-настоящему запутанную закономерность, как раз и нужна эта многоступенчатость.
Можно сравнить с большой компанией. Рядовой сотрудник видит узкий участок, начальник отдела собирает картину по своему направлению, а руководитель наверху сводит всё в общее решение. Каждый уровень обобщает то, что пришло снизу. Глубокая сеть устроена похоже: чем выше слой, тем крупнее и абстрактнее его признаки.
При этом глубина — не бесплатное удовольствие. Чем больше слоёв и нейронов, тем больше весов нужно подобрать, тем больше требуется данных и вычислений и тем выше риск, что сеть просто заучит примеры вместо общего правила. Поэтому «больше слоёв» не всегда значит «лучше» — размер сети подбирают под задачу.
Обучение — это настройка весов¶
Откуда сеть знает, какие веса ставить? Сначала — ниоткуда: веса задают случайными, и поначалу сеть отвечает наугад. Всё интересное происходит во время обучения — это процесс, в котором сеть многократно смотрит на примеры с известными ответами и понемногу правит свои веса, чтобы ошибаться реже.
Логика такая:
- Сети показывают пример (скажем, фотографию) и её правильный ответ («кошка»).
- Сеть делает свой прогноз с текущими весами.
- Прогноз сравнивают с правильным ответом и измеряют ошибку.
- Веса чуть-чуть подкручивают в ту сторону, где ошибка меньше.
- Шаги повторяют на огромном числе примеров, пока ответы не станут достаточно точными.
Здесь видна та же идея, что во всём машинном обучении с учителем: модель учится на размеченных данных, подстраивая внутренние «ручки». В нейросети этими ручками служат веса (и смещения). Их могут быть миллионы и миллиарды, и подбираются они не вручную, а автоматически.
Как именно сеть решает, в какую сторону крутить каждый вес, — отдельная важная тема. Этому посвящён следующий урок про градиентный спуск и обратное распространение. Пока достаточно главного вывода: знания нейросети «живут» в её весах, а обучение — это аккуратная настройка этих весов по примерам.
Упражнение: посчитайте выход одного нейрона
Возьмём нейрон с тремя входами. Пусть он решает, рекомендовать ли пользователю фильм, на основе трёх признаков (каждый — 0 или 1):
- $x_1$ — пользователь любит этот жанр (1 — да, 0 — нет);
- $x_2$ — высокий рейтинг фильма (1 — да, 0 — нет);
- $x_3$ — фильм длинный, больше трёх часов (1 — да, 0 — нет).
Веса нейрон выучил такие: $w_1 = 2$, $w_2 = 3$, $w_3 = -1$ (длинный фильм слегка снижает шансы — поэтому вес отрицательный). Функция активации простая: если взвешенная сумма больше 3, нейрон выдаёт 1 («рекомендовать»), иначе — 0 («пропустить»).
Посчитайте выход нейрона для пользователя, у которого $x_1 = 1$, $x_2 = 1$, $x_3 = 1$ (любит жанр, рейтинг высокий, но фильм длинный).
Разбор.
Сначала взвешенная сумма — умножаем каждый вход на его вес и складываем:
$$ 1 \cdot 2 + 1 \cdot 3 + 1 \cdot (-1) = 2 + 3 - 1 = 4 $$
Теперь применяем активацию: сумма равна 4, а это больше 3, поэтому нейрон выдаёт 1 — фильм рекомендуем.
Проверьте себя: если пользователь не любит жанр ($x_1 = 0$) при коротком фильме ($x_3 = 0$), сумма равна $0 + 3 + 0 = 3$ — это не больше 3, выход 0, фильм пропускаем. Вот и вся «магия» нейрона: умножить, сложить, сравнить с порогом. Сеть отличается лишь тем, что таких нейронов очень много и они соединены слоями.
Проверьте себя¶
Короткий тест по уроку: выберите ответ и нажмите «Проверить» — увидите счёт и разбор.
Частые вопросы¶
Чем искусственный нейрон отличается от настоящего?
Сходство только в идее: получить сигналы, сложить их и при достаточной силе передать дальше. Настоящий нейрон — живая клетка со сложной биохимией и электрическими импульсами. Искусственный — это всего лишь формула: взвешенная сумма входов плюс функция активации. Нейросеть вдохновлена мозгом, но устроена несравнимо проще и работает на обычной арифметике.
Что такое веса простыми словами?
Вес — это число, показывающее, насколько сильно конкретный вход влияет на ответ нейрона. Большой вес — вход важен, около нуля — почти не учитывается, отрицательный — «голосует против». Именно в весах хранится всё, что сеть выучила: обучение сводится к тому, чтобы подобрать удачный набор весов.
Зачем нужна функция активации?
Она добавляет в сеть нелинейность. Без неё нейроны умели бы рисовать только прямые линии, и сколько их ни соединяй, ничего сложнее прямой не получится. Активация работает как «выключатель с характером»: решает, пропустить сигнал дальше и насколько сильно. Благодаря ей сеть описывает изогнутые, запутанные зависимости — например, отличает лица или разбирает речь.
Почему глубокие сети мощнее?
Каждый слой строит признаки поверх предыдущего: первые ловят края и пятна, следующие — формы, дальше — целые объекты. Эта лестница абстракций и позволяет улавливать тонкие закономерности. Но глубина требует больше данных и вычислений и повышает риск, что сеть заучит примеры вместо общего правила, поэтому размер сети подбирают под задачу.
В курсе: ← Назад: Линейная регрессия: как ИИ предсказывает числа · Дальше: Как обучается нейросеть: градиентный спуск и обратное распространение →
Авторы курса: Герман Коваленко (основатель ENGRAM) и Сергей Добров.
Нейросеть на ваших встречах, документах и переписке: отвечает со ссылкой на источник. Это ваша вторая память на базе ИИ. Данные хранятся в России, старт бесплатный.
Зарегистрироваться бесплатноENGRAM запоминает ваши встречи, документы и переписку и мгновенно находит ответ со ссылкой на источник. Ваша вторая память на базе ИИ. Данные в России, старт бесплатный.
Зарегистрироваться бесплатно