Этот конспект не сохранится

Закроешь вкладку — потеряешь. Зарегистрируйся — и он будет в библиотеке навсегда.

Telegram

Ваш конспект

YouTube[DeepLearning | видео 1] Что же такое нейронная сеть?

🧠 Как нейросеть распознаёт цифры: структура и принципы

Ключевые тезисы:

  • 🎯 Нейросеть — это сложная функция с тысячами параметров, которая учится распознавать закономерности.
  • 🔍 Задача распознавания рукописных цифр тривиальна для человека, но сложна для программирования в лоб.
  • 🧱 Сеть состоит из слоёв нейронов, где активация одного слоя определяет активацию следующего.
  • ⚙️ Обучение — это поиск правильных значений 13 000+ параметров (весов и сдвигов).
  • 💡 Идея архитектуры вдохновлена мозгом: разбиение задачи на уровни абстракции (пиксели → грани → компоненты → цифры).

🎯 Постановка задачи

Задача — создать программу, которая принимает на вход изображение 28×28 пикселей (градации серого) и выдаёт цифру от 0 до 9. Для человека это просто, для прямого программирования — сложно. Это классическая вводная задача в машинное обучение.

🧱 Структура простейшей нейросети

Нейрон здесь — это сущность, содержащая число от 0 до 1, называемое активацией.

Слои сети:

  1. Входной слой: 784 нейрона (28×28). Активация каждого равна яркости соответствующего пикселя (0 — чёрный, 1 — белый).
  2. Скрытые слои: В примере — 2 слоя по 16 нейронов каждый. Их количество и размер могут варьироваться.
  3. Выходной слой: 10 нейронов. Активация каждого показывает, насколько система уверена, что на входе соответствующая цифра (от 0 до 9).

🔄 Как работает один слой: веса, сдвиги и функция активации

Активация нейрона в следующем слое вычисляется на основе активаций нейронов предыдущего слоя.

Процесс для одного нейрона:

  1. Взвешенная сумма: Каждое соединение между нейронами имеет вес (число). Активации предыдущего слоя умножаются на свои веса и суммируются.
    • 💚 Положительные веса "поощряют" активацию.
    • ❌ Отрицательные веса "подавляют" активацию.
  2. Добавление сдвига: К сумме прибавляется число (сдвиг или bias). Он определяет, насколько большой должна быть взвешенная сумма, чтобы нейрон "зажёгся".
  3. Функция активации: Полученное число пропускается через функцию, сжимающую результат в диапазон от 0 до 1.
    • Исторически использовалась сигмоида (логистическая кривая).
    • В современных сетях чаще используется ReLU (Rectified Linear Unit): max(0, x). Она проще и ускоряет обучение глубоких сетей.

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

🎨 Почему слоистая структура разумна?

Идея в иерархическом распознавании признаков:

  • Второй слой может учиться распознавать простые грани (маленькие штрихи, края).
  • Третий слой комбинирует грани в компоненты цифр (кружок, вертикальная линия).
  • Выходной слой комбинирует компоненты в целые цифры.

Аналогия: Распознавание речи: звуки → слоги → слова → фразы → смысл.

📊 Масштаб параметров и компактное представление

  • Между первыми двумя слоями уже 784 × 16 весов + 16 сдвигов.
  • Вся представленная сеть содержит около 13 000 параметров (весов и сдвигов). Обучение — это настройка всех этих "ручек".

Компактная запись (линейная алгебра):

  • Активации слоя представляются вектором.
  • Веса между слоями — матрицей.
  • Вычисление активаций следующего слоя: σ(W * a + b), где:
    • W — матрица весов,
    • a — вектор активаций,
    • b — вектор сдвигов,
    • σ — функция активации (сигмоида/ReLU).

Такое представление позволяет использовать оптимизированные библиотеки для матричных вычислений.

🧩 Выводы

  • Нейросеть — не чёрный ящик, а конкретная, хотя и сложная, математическая функция.
  • Понимание роли весов и сдвигов даёт основу для диагностики и улучшения сети.
  • Слоистая архитектура имитирует принцип композиции признаков от простого к сложному.
  • Обучение (поиск оптимальных параметров) — тема отдельного глубокого разбора.
🧠 Как нейросеть распознаёт цифры — конспект на EchoNote