Может ли однослойный персептрон действительно представлять вентиль XOR?

Нейронные сети

"Это 4-й день моего участия в ноябрьском испытании обновлений, ознакомьтесь с подробностями события:Вызов последнего обновления 2021 г.".

Слишком длинная версия для чтения:

Давайте сначала поговорим о выводе: однослойный персептрон может реализовать логический вентиль XOR при условии использования определенной функции активации.

Например: возьмите функцию активации, чтобы определить, равен ли чистый вход нулюn != 0, а весовой вектор принимается в виде(1,-1), смещение равно 0.

Другими словами, окончательный вывод оценивается только в зависимости от того, находится ли точка на линии y = x. Для схемы вентиля ИЛИ-НЕy = x ((1,1),(0,0)) на данных есть0Эта категория, в то время как ((1,0),(0,1)) является1 .


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

Используйте перцептроны в самых простых случаях, таких как вентили И, вентили ИЛИ и вентили И-НЕ. К счастью, они линейно разделимы, и даже мы можем легко провести прямую линию даже одним наблюдением. Разделите данные с разными значениями истинности на две части. Затем мы можем выбрать функцию активации, такую ​​как функция жесткого ограничения, чтобы завершить симуляцию персептрона схемы затвора.

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

def XOR(x: np.ndarry): 
    return AND(np.vstack(NAND(x),OR(x)))

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

XOR может быть представлен двухслойным перцептром, фактически, потому что он может разделить данные нелинейными модами.

Нелинейность получена из функции активации.Классическое разделение данных XOR фактически делает пространство похожим на складку за счет нелинейного преобразования и устраняет явление «пересечения» набора данных. Аналогично следующему эффекту

Предположим, что четыре точки-1,0 1,0 0,1 0,-1, затем сложите по оси Y,1,0можно рассматривать как-1,0Это можно разделить.

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

Он ограничивает данные, представляющие 0, только строкой y=x, если шум недопустим.

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

Функция активации является гиперпараметром и в основном зависит от эмпирических настроек. Что тут сказать? Правильное приходит из опыта, а опыт приходит из неправильного. Использование персептрона таким образом, как бы это сказать, имеет больше склонности к метафизике.

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

И именно здесь многослойный персептрон действительно имеет значение.

Если у вас есть другое мнение или критика, пожалуйста, оставьте сообщение в области комментариев.