Что такое нейронная сеть? Структура глубокого обучения простым языком > Спикер: 3Blue1Brown | Длительность: 18:40 Ключевые идеи 1. Нейрон — это просто число — контейнер для значения от 0 до 1 (активация). Входной слой: 784 нейрона = яркость каждого пикселя изображения 28×28. 2. Послойная архитектура — входной слой (784) → скрытые слои (16+16) → выходной слой (10 цифр). Активации передаются от слоя к слою последовательно. 3. Иерархия абстракций — первые слои распознают рёбра, средние — паттерны (петли, линии), последние — комбинации паттернов, соответствующие цифрам. 4. Веса определяют паттерн — каждая связь между нейронами имеет вес. Положительные веса усиливают нужные пиксели, отрицательные подавляют ненужные. 5. Смещение задаёт порог — число, добавляемое к взвешенной сумме. Определяет, насколько сильным должен быть сигнал для активации нейрона. 6. Сигмоида сжимает в [0, 1] — функция активации превращает любое число в значение от 0 до 1. Отрицательные → ~0, положительные → ~1. 7. 13 000 параметров — даже простая сеть 784-16-16-10 содержит ~13 000 настраиваемых весов и смещений. 8. Детекция рёбер через веса — положительные веса для пикселей ребра + отрицательные для окружения = нейрон-детектор ребра. 9. Линейная алгебра — язык нейросетей — переход между слоями: a' = σ(W·a + b). Матричное умножение оптимизируется библиотеками. 10. Понимание лучше чёрного ящика — знание структуры даёт точку опоры для отладки и улучшения сети. 11. Простейшая сеть — фундамент — полносвязная сеть без усложнений — база для понимания CNN, трансформеров и других архитектур. Транскрипт Введение: почему распознавание цифр — сложная задача Видео начинается с цифры «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