Вы прочитали 2 из 3 бесплатных методичек сегодня
Безлимит →
Экстракт 05 октября 2017

Что такое нейронная сеть? Структура глубокого обучения простым языком

3Blue1Brown · 3Blue1Brown Верифицирован 18:40

Наглядное объяснение структуры нейронной сети: нейроны, слои, веса, смещения и сигмоида на примере распознавания рукописных цифр

11 тезисов 6 заданий 8 цитат ⏱ 5 мин чтения 🎯 11 тезисов
YouTube Транскрипт Сохранить
Поделиться: TG WA VK X

Для AI-агентов и LLM

Экстракт доступен в структурированном Markdown. Скачать .md · JSON API · Site index

💡 Ключевые тезисы (11)

1 Нейрон — это просто число #
Нейрон — не загадочная сущность, а контейнер для числа от 0 до 1, называемого активацией. Чем выше активация, тем больше нейрон «горит». Входной слой сети для распознавания цифр — это 784 нейрона, каждый из которых хранит яркость одного пикселя изображения 28×28.
2 Послойная архитектура — основа нейросети #
Сеть состоит из слоёв: входной (784 нейрона), скрытые (например, два по 16 нейронов) и выходной (10 нейронов — по одному на каждую цифру). Активации одного слоя определяют активации следующего. Самый яркий нейрон выходного слоя — ответ сети.
3 Слои строят абстракции от простого к сложному #
Идеальная надежда: второй слой распознаёт рёбра (маленькие элементы изображения), третий слой собирает рёбра в паттерны (петли, линии), а выходной слой определяет, какой комбинации паттернов соответствует конкретная цифра. Это принцип иерархии абстракций.
4 Веса определяют, на какой паттерн реагирует нейрон #
Каждая связь между нейронами имеет вес — число, определяющее силу влияния. Взвешенная сумма активаций предыдущего слоя показывает, насколько входное изображение соответствует определённому паттерну. Положительные веса усиливают нужные пиксели, отрицательные — подавляют ненужные.
5 Смещение (bias) задаёт порог срабатывания нейрона #
Помимо весов, каждый нейрон имеет смещение — число, которое добавляется к взвешенной сумме перед активацией. Смещение определяет, насколько большой должна быть взвешенная сумма, чтобы нейрон начал «гореть». Например, смещение −10 означает, что сумма должна быть больше 10.
6 Сигмоида сжимает любое число в диапазон от 0 до 1 #
Функция активации (сигмоида) превращает любую взвешенную сумму в число между 0 и 1. Сильно отрицательные значения дают ~0, сильно положительные — ~1. Это позволяет интерпретировать активацию нейрона как степень уверенности.
7 13 000 параметров — масштаб даже простой сети #
Сеть с архитектурой 784-16-16-10 содержит около 13 000 весов и смещений. Обучение — это поиск правильных значений для всех этих параметров. Каждый из 13 000 «ручек» можно крутить, меняя поведение сети.
8 Распознавание ребра — конкретный пример работы нейрона #
Чтобы нейрон распознавал ребро в определённой области, нужны положительные веса для пикселей самого ребра и отрицательные — для окружающих. Тогда взвешенная сумма максимальна, когда центральные пиксели яркие, а окружающие — тёмные.
9 Линейная алгебра — язык нейросетей #
Переход между слоями компактно записывается как умножение матрицы весов на вектор активаций, плюс вектор смещений, с применением сигмоиды к результату. Библиотеки оптимизируют матричное умножение, делая код быстрым и лаконичным.
10 Понимание структуры важнее чёрного ящика #
Когда вы понимаете, что означают веса и смещения, у вас есть отправная точка для экспериментов: почему сеть ошибается, как улучшить архитектуру, работает ли сеть по ожидаемым причинам. Это лучше, чем воспринимать нейросеть как непрозрачный чёрный ящик.
11 Простейшая сеть — фундамент для всех современных вариантов #
Полносвязная сеть без дополнительных усложнений — необходимая база для понимания свёрточных сетей, трансформеров и других архитектур. Даже в простейшей форме она способна распознавать рукописные цифры, хотя и имеет ограничения.

Что такое нейронная сеть? Структура глубокого обучения простым языком

Спикер: 3Blue1Brown | Длительность: 18:40

Транскрипт

Введение: почему распознавание цифр — сложная задача

Видео начинается с цифры «3», написанной от руки и отрендеренной в низком разрешении 28×28 пикселей. Мозг мгновенно распознаёт её, несмотря на то что конкретные пиксели разных троек совершенно различны. Светочувствительные клетки глаза активируются по-разному для каждого варианта, но зрительная кора сводит их к одной идее.

Однако если попросить написать программу, которая принимает сетку 28×28 и выдаёт цифру от 0 до 9 — задача из тривиальной становится пугающе сложной.

Цель серии видео

Автор ставит цель показать, что такое нейросеть на самом деле — не как модное слово, а как математическая структура. Первое видео посвящено архитектуре, второе — обучению. Рассматривается простейшая полносвязная сеть (без свёрток и других усложнений) для распознавания рукописных цифр из датасета MNIST.

Что такое нейрон

Нейрон — это просто число между 0 и 1, называемое активацией. Входной слой сети — 784 нейрона, каждый хранит яркость пикселя: 0 = чёрный, 1 = белый. Можно представить, что нейрон «горит», когда его активация высока.

Структура слоёв

784 нейрона — входной слой. 10 нейронов — выходной слой, каждый соответствует цифре 0-9. Между ними — два скрытых слоя по 16 нейронов (выбор числа слоёв и нейронов — предмет экспериментов). Активации передаются последовательно от слоя к слою. Самый яркий нейрон выходного слоя — ответ сети.

Зачем нужна послойная структура

При распознавании цифр мы разбиваем образ на компоненты: 9 — петля сверху + вертикальная линия, 8 — две петли, 4 — три линии. В идеале предпоследний слой распознаёт такие подкомпоненты, а последний слой определяет, какая комбинация соответствует какой цифре.

Ещё глубже: распознавание петли разбивается на обнаружение рёбер. Второй слой может отвечать за маленькие рёбра, третий — за их комбинации в петли и линии. Этот принцип иерархии абстракций работает не только для изображений, но и для распознавания речи (звуки → слоги → слова → фразы).

Веса и взвешенная сумма

Каждая связь между нейронами имеет вес. Для обнаружения ребра в определённой области: положительные веса назначаются пикселям ребра, отрицательные — окружающим пикселям. Взвешенная сумма максимальна, когда паттерн совпадает.

Веса можно визуализировать как сетку: зелёные пиксели = положительные веса, красные = отрицательные, яркость = величина.

Сигмоида и смещение

Взвешенная сумма может быть любым числом, но нужно значение от 0 до 1. Сигмоида (логистическая кривая) сжимает число: отрицательные → ~0, положительные → ~1.

Смещение (bias) — число, добавляемое к взвешенной сумме перед сигмоидой. Например, смещение −10 означает: нейрон активируется, только если взвешенная сумма > 10.

Масштаб параметров

16 нейронов второго слоя × 784 связи = 12 544 веса + 16 смещений — только для одного перехода. Всего в сети ~13 000 параметров. Обучение — поиск правильных значений для всех 13 000.

Линейная алгебра

Активации слоя — вектор. Веса — матрица, строки которой соответствуют нейронам следующего слоя. Переход: a' = σ(W·a + b). Эта запись компактна, а библиотеки оптимизируют матричное умножение для скорости.

Ценность понимания структуры

Понимание весов и смещений — не академическое упражнение. Когда сеть ошибается — вы знаете, где искать причину. Когда работает — можете проверить, по правильным ли причинам. Это лучше, чем воспринимать нейросеть как чёрный ящик.

Практические задания

Задание 1: Нарисуйте архитектуру сети на бумаге

Возьмите лист бумаги и нарисуйте четыре слоя: входной (784 нейрона, обозначьте как сетку 28×28), два скрытых (по 16 нейронов каждый) и выходной (10 нейронов, подпишите цифры 0-9). Соедините линиями нейроны соседних слоёв. Подпишите на нескольких связях «вес» и у нескольких нейронов «смещение». Цель — визуализировать масштаб: сколько связей между первым и вторым слоем (784×16 = 12 544).

Задание 2: Разложите цифру на подкомпоненты

Выберите три цифры (например, 4, 8, 9). Для каждой запишите, из каких визуальных элементов она состоит: петли, вертикальные линии, горизонтальные линии, диагонали. Найдите общие элементы между цифрами. Это моделирует работу скрытых слоёв сети.

Задание 3: Смоделируйте работу одного нейрона

Представьте сетку 4×4. Задайте веса для обнаружения вертикальной линии в левом столбце. Нарисуйте два изображения и посчитайте взвешенную сумму, смещение и сигмоиду для каждого.

Задание 4: Запишите формулу и посчитайте размерности

Запишите a' = σ(W·a + b) и определите размерности матриц для каждого перехода в сети 784-16-16-10.

Задание 5: Посчитайте общее число параметров

Вычислите: 784×16 + 16 + 16×16 + 16 + 16×10 + 10. Сверьте с ~13 000. Повторите для архитектуры 784-32-32-10.

Задание 6: Визуализируйте веса как изображение

Нарисуйте сетку 7×7 и раскрасьте клетки зелёным/красным, чтобы получился детектор горизонтальной линии. Это моделирует визуализацию весов из видео.

Лучшие цитаты

«Когда я говорю нейрон, я хочу, чтобы вы думали просто о контейнере для числа — числа между нулём и единицей. Это действительно не более того.» — 3Blue1Brown

«Суть работы сети как механизма обработки информации сводится к тому, как именно активации одного слоя порождают активации следующего.» — 3Blue1Brown

«Задача превращается из комически тривиальной в пугающе сложную.» — 3Blue1Brown

«Веса говорят вам, на какой пиксельный паттерн реагирует нейрон, а смещение говорит, насколько большой должна быть взвешенная сумма, чтобы нейрон начал значимо активироваться.» — 3Blue1Brown

«Всего в этой сети почти ровно 13 000 весов и смещений. 13 000 ручек и переключателей, которые можно крутить, чтобы сеть вела себя по-разному.» — 3Blue1Brown

«Я лично считаю это более удовлетворительным, чем просто воспринимать сеть как чёрный ящик.» — 3Blue1Brown

«Огромная часть машинного обучения сводится к хорошему владению линейной алгеброй.» — 3Blue1Brown

«Моя надежда в том, что вы уйдёте с ощущением, что сама структура мотивирована, и будете понимать, что значит, когда нейросеть обучается.» — 3Blue1Brown

🏋️ Практикум

0 / 6 выполнено

Нарисуйте архитектуру сети на бумаге

Возьмите лист бумаги и нарисуйте четыре слоя: входной (784 нейрона, обозначьте как сетку 28×28), два скрытых (по 16 нейронов каждый) и выходной (10 нейронов, подпишите цифры 0-9). Соедините линиями нейроны соседних слоёв. Подпишите на нескольких связях «вес» и у нескольких нейронов «смещение». Цель — визуализировать масштаб: сколько связей между первым и вторым слоем (784×16 = 12 544).

Разложите цифру на подкомпоненты

Выберите три цифры (например, 4, 8, 9). Для каждой запишите, из каких визуальных элементов она состоит: петли, вертикальные линии, горизонтальные линии, диагонали. Найдите общие элементы между цифрами. Это упражнение моделирует то, что в идеале делают скрытые слои сети — разбивают сложные образы на простые компоненты.

Смоделируйте работу одного нейрона вручную

Представьте сетку 4×4 пикселей (упрощение). Задайте веса для обнаружения вертикальной линии в левом столбце: +1 для левого столбца, −1 для остального. Нарисуйте два изображения — с вертикальной линией слева и без неё. Посчитайте взвешенную сумму для каждого. Добавьте смещение −2 и примените сигмоиду (приблизительно). Убедитесь, что нейрон «горит» только для нужного паттерна.

Запишите формулу перехода между слоями

Запишите математическую формулу: a' = σ(W·a + b), где a — вектор активаций текущего слоя, W — матрица весов, b — вектор смещений, σ — сигмоида. Определите размерности для каждого перехода в сети 784-16-16-10. Например, для первого перехода: W имеет размер 16×784, a — 784×1, b — 16×1, результат — 16×1.

Посчитайте общее число параметров

Для сети 784-16-16-10 самостоятельно посчитайте количество параметров: веса между слоями (784×16 + 16×16 + 16×10) плюс смещения (16 + 16 + 10). Сверьте с числом ~13 000 из видео. Затем посчитайте параметры для другой архитектуры, например 784-32-32-10, чтобы понять, как число нейронов влияет на сложность.

Визуализируйте веса как изображение

Нарисуйте сетку 7×7 (упрощение 28×28). Раскрасьте клетки зелёным (положительный вес) и красным (отрицательный вес) так, чтобы получился детектор горизонтальной линии в верхней части. Яркость клетки — величина веса. Это моделирует визуализацию весов из видео, где веса можно представить как «шаблон» пикселей, на который реагирует нейрон.

🎉
Все задания выполнены!
Отлично — знания превращены в навыки

💬 Цитаты (8)

«Когда я говорю нейрон, я хочу, чтобы вы думали просто о контейнере для числа — числа между нулём и единицей. Это действительно не более того. (When I say neuron, all I want you to think about is a thing that holds a number, specifically a number between zero and one. It's really not more than that.)» #

«Суть работы сети как механизма обработки информации сводится к тому, как именно активации одного слоя порождают активации следующего. (The heart of the network as an information processing mechanism comes down to exactly how those activations from one layer bring about activations in the next layer.)» #

«Моя надежда в том, что вы уйдёте с ощущением, что сама структура мотивирована, и будете понимать, что значит, когда нейросеть обучается. (My hope is just that you come away feeling like the structure itself is motivated and to feel like you know what it means when you read or you hear about a neural network learning.)» #

«Веса говорят вам, на какой пиксельный паттерн реагирует нейрон, а смещение говорит, насколько большой должна быть взвешенная сумма, чтобы нейрон начал значимо активироваться. (The weights tell you what pixel pattern this neuron is picking up on and the bias tells you how high the weighted sum needs to be before the neuron starts getting meaningfully active.)» #

«Всего в этой сети почти ровно 13 000 весов и смещений. 13 000 ручек и переключателей, которые можно крутить, чтобы сеть вела себя по-разному. (This network has almost exactly 13,000 total weights and biases. 13,000 knobs and dials that can be tweaked and turned to make this network behave in different ways.)» #

«Задача превращается из комически тривиальной в пугающе сложную. (The task goes from comically trivial to dauntingly difficult.)» #

«Я лично считаю это более удовлетворительным, чем просто воспринимать сеть как чёрный ящик. (I personally find this satisfying rather than just treating the network as a total black box.)» #

«Огромная часть машинного обучения сводится к хорошему владению линейной алгеброй. (So much of machine learning just comes down to having a good grasp of linear algebra.)» #

Читать далее

Мастерство визуальной математики: как создавать бесконечные циклы в стиле Эшера

3Blue1Brown

Мастерство визуальной математики: как создавать бесконечные циклы в стиле Эшера

Грант Сандерсон (3Blue1Brown)

Понравился экстракт?
Подписывайтесь — лучшие материалы каждую неделю.
Telegram Дайджест →

Поделитесь с коллегами

Telegram ВКонтакте X / Twitter
Открыть в Telegram

Экстракт Знаний в Telegram

Экстракты и дистилляты из лучших YouTube-каналов — сразу после публикации.

Подписаться

Дайджест Экстрактов

Лучшие методички за неделю — каждый понедельник