В этой серии рассказывается о нейронных сетях, о том, как они работают, и о задачах, которые они помогают решать. Персептрон — это основной строительный блок нейронной сети, с которого можно хорошо начать. Одиночный персептрон — одна из самых простых нейронных сетей, которые вы можете создать.

Что делает персептрон?

Цель персептрона — использовать размеченные обучающие данные, чтобы научиться предсказывать двоичный результат. Обучение тому, как предсказывать результат на основе размеченных данных, называется контролируемым машинным обучением. Примеры использования персептрона:

  • Определите, является ли электронное письмо спамом или нет
  • Определить, будет ли сегодня дождь
  • Предсказать, если кто-то рискует не выполнить платежи по кредиту

Результат для каждого примера будет либо True, либо False. Обычно это представлено прогнозируемым результатом либо Единица, либо Ноль.

Что входит в создание персептрона?

На приведенной ниже диаграмме показан основной состав персептрона. Проще говоря, он принимает несколько входных данных, применяет к ним веса и объединяет эти значения для получения одного двоичного вывода — в основном, значения, которое либо истинно, либо ложно.

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

Вес каждого входа определяет, насколько значимо это значение для модели. Более высокий вес означает, что соответствующая информация является более важной, а более низкий вес указывает на меньшую важность. По мере обучения персептрон постоянно регулирует относительный размер входных весов.

Персептрон может иметь член смещения, который существует в качестве входных данных. Смещение часто имеет значение 1 (но только иногда). Это смещение может повысить точность и помогает моделировать более сложные закономерности.

Что такое активационная функция?

Функция активации берет взвешенную сумму всех входных данных и преобразует это значение в выходной сигнал. Общие функции активации включают функции Step, Sigmoid и RELU.

В нашем примере ниже используется ступенчатая функция, которая преобразует взвешенную сумму либо в единицу, либо в ноль. Он делает это, используя пороговое значение следующим образом:

If the weighted sum is less than the threshold value return zero
If the weighted sum is greater than or equal to the threshold value return one

Тот, кто понимает природу проблемы, установит порог. Персептрон или процесс обучения не меняют это пороговое значение.

Типичный пример из реальной жизни

Давайте последуем примеру прогнозирования того, может ли кто-то не выполнить обязательства по погашению кредита. Каждый вход предоставляет информацию, касающуюся клиента, такую ​​как кредитный рейтинг, сумма кредита, история платежей, возраст и место жительства.

Каждый элемент информации называется функцией. Это всего лишь примеры информации, которая может помочь — на самом деле набор данных может иметь гораздо больше функций. Наш персептрон теперь выглядит примерно так:

Так как же обучается персептрон?

Во время обучения персептрона происходит следующий процесс:

Ограничения (одиночного) персептрона

Какое-то время люди думали, что нейронные сети и персептроны слишком ограничены, чтобы приносить реальную пользу. В 1969 году Мински и Пейперт показали, что однослойный персептрон не может разделять нелинейные точки данных. Это ограничение вызывает беспокойство, поскольку большинство реальных наборов данных не являются линейно разделимыми.

Мы можем продемонстрировать отделимость, рассмотрев простые побитовые операции. Три приведенные ниже таблицы определяют логические операции AND, OR и XOR.

  • Результат операции И равен 1, только если X и Y оба равны 1.
  • Результат операции ИЛИ равен 1, если X или Y равно 1.
  • Результатом операции XOR является 1, если либо X, либо Y равно 1, но не если оба равны 1.

Возможные результаты операций AND, OR и XOR всегда равны нулю или единице. Другими словами, есть две возможные классификации — ноль и единица. Мы показываем это на диаграммах под каждой таблицей.
Теперь набор данных является линейно разделимым, если одна прямая линия может отделить нулевой класс от одного класса. Операции И и ИЛИ показывают пунктирную линию, отделяющую нули от единиц.

Однако никакая прямая линия не может отделить нули от единиц для операции XOR. Пожалуйста, не стесняйтесь попробовать! По этой причине XOR часто используется для проверки того, может ли алгоритм разделять нелинейные точки данных.

Последние мысли

Персептрон является относительно простым и основным компонентом нейронной сети. Он существует с 1957 года, и какое-то время сообщество ИИ не верило в его ценность, кроме простого линейного моделирования.

Глубокие нейронные сети, состоящие из многослойных персептронов, позволяют нам строить нелинейные модели. Этот новый подход преодолевает фундаментальное ограничение моделей с одним персептроном. Понимание того, как работают персептроны, заложит основу для изучения глубокого обучения и более сложных тем. Следите за этим пространством!