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

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

Telegram

Ваш конспект

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

🧠 Введение в нейронные сети: структура и принципы

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

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

🎯 Задача-пример: распознавание рукописных цифр

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

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

Сеть для примера состоит из четырёх слоёв:

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

💡 Как может работать распознавание? (Идеальная модель)

Сеть может выявлять признаки иерархически:

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

    Пример: Цифра 9 = кружок сверху + вертикальная линия справа. Нейрон, отвечающий за "кружок сверху", активируется и для 9, и для 8.

⚙️ Механизм связи между слоями: Веса и сдвиги

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

  1. Взвешенная сумма: Каждое соединение между нейронами имеет вес (число). Активации предыдущего слоя умножаются на эти веса и суммируются.

    • Положительные веса (зелёные на визуализации) "поощряют" активацию.
    • Отрицательные веса (красные) "подавляют" её.

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

  2. Сдвиг (bias): К взвешенной сумме прибавляется число (сдвиг). Оно задаёт порог, который должен быть превышен, чтобы нейрон "зажёгся".

  3. Функция активации: Полученная сумма "сжимается" в диапазон от 0 до 1.

    • Исторически использовалась сигмоида (логистическая кривая).
    • В современных сетях чаще применяется ReLU (Rectified Linear Unit): max(0, x). Она работает быстрее и лучше для глубоких сетей.

📊 Масштаб параметров и компактная запись

  • Между первым (784 нейрона) и вторым (16 нейронов) слоями уже есть 784 × 16 весов + 16 сдвигов.
  • Вся рассмотренная сеть содержит около 13 000 параметров (весов и сдвигов). Обучение — это поиск их правильных значений.
  • Компактное представление через линейную алгебру:
    • Активации слоя → вектор.
    • Веса → матрица.
    • Переход между слоями выражается как: Активации_нового_слоя = σ(Веса × Активации_старого_слоя + Сдвиги), где σ — функция активации (сигмоида или ReLU).

🎭 Нейронная сеть как функция

  • Вся сеть — это одна сложная функция, которая:
    • Принимает на вход 784 числа (яркости пикселей).
    • Возвращает 10 чисел (уверенность в каждой цифре).
    • Внутри содержит ~13 000 настраиваемых параметров и множество матричных умножений.

Выводы:

  • ✅ Нейронная сеть — не "чёрный ящик", а конкретная математическая конструкция, которую можно понимать и анализировать.
  • 🔧 Её работа определяется весами и сдвигами, а обучение — процесс их настройки на данных.
  • 🧱 Слоистая структура позволяет сети строить иерархию абстракций (пиксели → признаки → объекты), что является мощным подходом не только для распознавания образов, но и для многих других интеллектуальных задач (распознавание речи и т.д.).
  • 📈 Понимание базовой структуры и математики необходимо для освоения более современных и сложных архитектур.