Решение задачи Исключающего ИЛИ на многослойном персептроне
Персептрон – одна из самых первых и наиболее простых моделей нейросетей. В середине 20 века она была предметом пристального внимания со стороны учёных, но затем стало понятно, что возможности персептрона ограничены. И одним из «камней преткновения» на пути его развития стало так называемое Исключающее ИЛИ – понятие, пришедшее из логики.
Всё крайне просто: на выходе перспептрона должен быть либо 0, либо 1. Исключающее ИЛИ подразумевает, что значение единицы результат должен приобретать в том случае, если единице равен один из двух сигналов на входе, но не оба.
Именно это «но не оба» и ломает всю систему: если на вход поступают 1 и 1, то система должна выдать 0, а даёт единицу. Причина проста: поскольку сигнал распространяется в виде электрического импульса, система не способна «угасить» единицу до нуля.
Вторая причина – математическая. Чтобы решить Исключающее ИЛИ, требуется провести линию (см. рисунок ниже) таким образом, чтобы все значения А оказались с одной стороны, все значения Б – с другой стороны. Но очевидно, что сделать это невозможно. Исключающее ИЛИ стало тем пределом, за который не смогли продвинуться персептроны – однослойные нейросети. Когда стало очевидно и было математически доказано, что эту функцию они решить не способны (так же, как невозможно изобрести вечный двигатель), интерес учёных к персептронам значительно уменьшился.
Многослойный персептрон преодолевает XOR
Однако XOR (Исключающее ИЛИ) оказался способным преодолеть многослойный персептрон. Это достигается благодаря наличию сумматора, а на выходе из него – пороговой функции с порогом 0.5. Такая функция присваивает значение 0 сигналу, который равен нулю или превышает 1. В этом случае сумма двух единиц даёт 2, а 2>1, поэтому в конечном итоге сигнал оказывается равным нулю, и столь тяжёлая для персептронов проблема XOR оказывается преодолена!
Справедливости ради стоит отметить, что многослойные персептроны не были известны в 20 веке, так что учёные того времени и не могли бы решить эту задачу, даже если бы очень хотели.
При этом пороговая функция привносит свои недостатки: уже не получится обучать такую нейросеть методом обратного распространения ошибки, так как этот метод предполагает постепенное изменение силы сигнала, а порог «обрезает» его либо до 0, либо до 1, без промежуточных вариантов.
В целом многослойные персептроны значительно превосходят по своим возможностям однослойные, однако всё это сети прямого распространения, которые всегда будут проигрывать сетям, способным к другим алгоритмам.
Получается, что чем сложнее сеть, тем сложнее её настроить, но тем она мощнее. При этом понять, как работает сложная сеть уже почти невозможно и результаты её работы непроверяемы.
Как я вижу, мощная сеть это уже как бы аналог настоящего мозга) Как она работает понять конечно трудно, но зато она может анализировать большие объемы информации, максимально быстро, если говорить о трейдинге. Подозреваю, что со временем разработчики смогут реализовать такие нейросети, которые позволят практически всегда получать прибыль.
Не могут все трейдеры получать прибыль… Рынок поменяется в таком случае и опять наступит баланс, который заключается в том, что большую часть времени большинство участников рынка теряют свои деньги, а зарабатывает на них очень малая часть трейдеров.