Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of... · 7 февр 2022
Ниже приведена очень простая написанная от руки нейронная сеть. Эта сеть принимает случайно сгенерированные веса от -1 до 1, функцию «xor_network», которая определяет архитектуру (заметьте, никаких сигмовидных, жестких пределов и т. д., только линейные преобразования формы mX или MX + B), и обучает, используя стандартное обратное распространение:Ниже приведена очень простая написанная от руки нейронная сеть. Эта сеть принимает случайно сгенерированные веса от -1 до 1, функцию «xor_network», которая определяет архитектуру (заметьте, никаких сигмовидных, жестких пределов и т. д., только линейные преобразования формы mX или MX + B), и обучает, используя стандартное обратное распространение:
Думаю, мы можем изучить нелинейные отношения, используя только линейные функции активации и несколько слоев (это правильная классификация с чистыми линейными функциями активации, сигмоид не требуется). . . Единственная загвоздка здесь в том, что отрезаны все десятичные знаки после 12, но давайте будем честными, 7,3 X 10 ^ -16 в основном равно 0. Теперь, чтобы быть честным, делается небольшой трюк, когда используются сетевые подключения для получения нелинейного результата, но это и есть основная мысль: МАГИЯ НЕЛИНЕЙНОСТИ ДЛЯ НЕЙРОННЫХ СЕТЕЙ ВОЗНИКАЕТ В СЛОЯХ,А НЕ ТОЛЬКО ФУНКЦИИ АКТИВАЦИИ
Ответ на ваш вопрос «что делает нейронную сеть нелинейной»: нелинейность в параметрах или, очевидно, нелинейность в переменных.
Эта нелинейность в параметрах/переменных возникает двумя способами: 1) наличие более одного слоя с нейронами в вашей сети (как показано выше) или 2) наличие функций активации, которые приводят к нелинейности веса.В качестве примера нелинейности, возникающей из-за функций активации, предположим, что наше входное пространство, веса и смещения ограничены таким образом, что все они строго положительны (для простоты). Теперь, используя (2) (один слой, один нейрон) и формулу функции активации f(x)=x^2, мы имеем следующее
Теперь, не обращая внимания на то, какие проблемы есть у этой нейронной сети, должно быть ясно, что она как минимум нелинейна по параметрам и переменным и что нелинейность была введена исключительно выбором функции активации.
Наконец,да,нейронные сети могут моделировать сложные структуры данных, которые нельзя смоделировать с помощью линейных моделей