Искусственные нейронные сети обеспечивают сопоставление входных данных с выходными данными через слои. Мы должны говорить о представлении данных слоями, когда говорим о нейронных сетях. Это входной слой, скрытый(е) слой(и) и выходной слой. Как вы можете видеть на следующем рисунке, входные данные принимают необработанные данные, с которыми мы хотим выполнять такие операции, как классификация или регрессия и т. д.
Например, если вы хотите классифицировать изображения, вы должны указать каждый их пиксел.
Итак, когда вы рассматриваете набор данных MNIST, размер изображения составляет 28x28 = 784. Мы видели, что наш входной слой должен иметь 784 нейрона, чтобы обрабатывать каждый его пиксель.
Выходной слой является результатом нашей операции классификации или регрессии. У нас есть два варианта для представления выходного слоя.
Во-первых, давайте представим, что мы хотим классифицировать животных на картинках как кошек или собак. Как вы можете видеть на рисунке ниже, выходное предсказание может быть некоторым значением от 0 до 1. Результат равен 1, если предсказание ближе всего к 1, и результат равен 0, если предсказание ближе всего к 0.
Во-вторых, у нас может быть несколько нейронов в выходных слоях, как вы можете видеть на следующем рисунке. Каждый нейрон имеет значение предсказания от 0 до 1. И комбинация всех этих нейронов равна 1.
Теперь мы знаем, что такое входной слой и выходной слой. Для преобразования информации через ввод в вывод нам нужны скрытые слои посередине. Причина, по которой он называется скрытым слоем, заключается в том, что мы передаем информацию входному слою, получаем ее из выходного слоя, и мы точно не знаем, что происходит в скрытом слое.
Веса связывают входной слой со скрытым слоем, а скрытый слой — с выходным слоем. Начальные значения весов обычно определяются случайным образом. Эти веса являются обучаемыми параметрами, которые нейронная сеть изменяет и оптимизирует для сопоставления входных данных с выходными.
В нейронной сети, если каждый отдельный узел входного слоя соединен с каждым отдельным узлом выходного слоя, называется плотно связанной нейронной сетью.
Еще одним обучаемым параметром нейронной сети является нейрон bias, представляющий собой специальный нейрон с мгновенным значением, добавляемым к каждому слою. Смещение позволяет смещать функцию активации вверх или вниз и, таким образом, делать более точные прогнозы.
Первый шаг завершается добавлением смещения к сумме произведений весов, чтобы входные данные передавались нейрону следующего слоя. Но мы упомянули, что результат этой формулы должен быть между [0,1]. Но как мы можем гарантировать, что результат операции со случайными весами будет между 0 и 1?
На этом этапе мы должны перейти ко второму шагу, необходимому для передачи информации следующему нейрону с использованием функций активации.
ReLU, Tanh, Sigmoid, LeakyReLU — наиболее часто используемые функции активации.
Мы можем захотеть, чтобы вывод находился в диапазонах [0,1], [-1,1] или [1, ∞]. Функции активации имеют большое значение, так как нам нужно определить, в каком диапазоне будет вывод. Процесс до этого этапа называется Прямое распространение.
Обучение
Мы даем входные и выходные данные нейронной сети и хотим, чтобы она вычислила взаимосвязь или математическую модель между входными и выходными данными. Я имею в виду, как данный ввод, преобразованный в этот вывод, должен быть разрешен нейронной сетью. Этот процесс называется обучением.
Функция потерь
Например, мы хотим классифицировать изображения кошек и собак. (Кошка 1, собака 0) Когда нейронной сети передается изображение кошки, мы хотим, чтобы значение прогноза было близко к 1.
Но если оценочное значение равно 0,25, следует рассчитать, насколько ошибочен результат. Нам нужно знать, насколько далеко оценка от реального значения, чтобы мы могли соответствующим образом обучить модель. Функция потерь показывает, насколько плох или хорош наш прогноз. Другими словами, уменьшение значения потерь указывает на то, что делаются более точные прогнозы.
Если значение потерь велико, веса и смещения должны быть обновлены.
Среднеквадратическая ошибка, Средняя абсолютная ошибка и Потери шарнира — наиболее часто используемые функции потерь.
Как мы можем на самом деле обновить веса и погрешности?
Процесс обновления веса и смещения для уменьшения функции стоимости называется Обратное Распространение.
Метод градиентного спуска используется при обратном распространении, чтобы найти наиболее оптимальные версии весов и смещений. Как видно на рисунке выше, производная берется для нахождения наименьшего значения (локального минимума) в любой точке графика.
Сводка
Мы передаем данные входным нейронам. Эти данные умножаются на веса и добавляется смещение. Чтобы результат попал в определенный диапазон типа [0,1], он пропускается через функцию активации и передается следующему нейрону. Таким образом, данные попадают на выходной слой. Функция потерь оценивает, насколько верна информация, поступающая на выходной слой. Алгоритм обратного распространения применяется для уменьшения значения потерь. Веса и смещения обновляются путем взятия обратных производных.
Модель пытаются улучшить. И наша модель начинает делать более точные прогнозы.
Старался писать максимально четко и лаконично. Мне очень понравилось писать это. Надеюсь, вам тоже понравится читать. А сейчас до свидания.