Comments 15
Когда-то думал над игровой реализацией градиентного спуска. То есть нейроны играют в игру, и может быть (в зависимости от функции выигрыша) равновесие Нэша (по теореме о неподвижной точке). То есть улучшая любой нейрон, мы бы ухудшили лосс, увеличили его.
Вся проблема в выборе функции "положения" нейрона. Я не подобрал) возможно это можно сделать другой сеткой или RL, или например KAN. Вобщем, поле для экспериментов есть, времени нет.
Например, если перемешать фазы в аудиосигнале, то вы почти не заметите изменений на слух
Заметите. Например, если просто поменять знаки фаз в спектре - во временном домене это приведёт к реверсу, то есть звук будет воспроизводиться задом наперёд.
Ну а применительно к теме больше смысла рассматривать не преобразование Фурье, а преобразование Лапласа, как это делается в электротехнике. Там тоже есть частоты и фазы, но а) он определён от 0 до бесконечности и б) для действительных чисел.
Что касается преобразования Лапласа — это, скорее, вопрос возможной аппаратной реализации. В моей статье, напротив, рассматривается концептуальный подход, где сигнал — это носитель информации, а не физический процесс. Возможно, однажды кто-то реализует подобную идею аппаратно, но сейчас для меня это, в первую очередь, исследование архитектурных принципов, а не приглашение к физическому моделированию.
Архитектура свёрточной сети, на мой взгляд, излишне ограничена: она вынужденно "смотрит" на сигнал через узкое окно, и это ограничение накладывается не столько вычислительными возможностями, сколько самой структурой входных данных. Свёрточная сеть опирается на текущую точку и её сдвинутые копии и лишь за счёт этой “окрестности” может ориентироваться в последовательности.
Моя цель — научиться извлекать позиционную информацию из одной точки, без обращения к соседним значениям. Именно этому будет посвящена следующая статья.
Спасибо за содержательный комментарий!
Заметите. Например, если просто поменять знаки фаз в спектре - во временном домене это приведёт к реверсу, то есть звук будет воспроизводиться задом наперёд.
Автор, по-видимому, имел в виду периодический сигнал с коротким периодом. Если взять звуковой сигнал частотой 1 кГц произвольной формы и менять в нём фазы гармоник, то его звучание почти не изменится.
И если я правильно понимаю, автор хотел выразить в виде периодического сигнала множество всех возможных значений входов нейронной сети, и показать, как, манипулируя его спектром, получить тот же результат, что выдаёт НС.
Цель данного исследования, видимо, состоит в том, чтобы вместо чёрного ящика (которым является обычная многослойная НС) создать строго и однозначно определённую аппроксимирующую функцию, основанную на преобразованиях спектра. (Обычная НС инициализируется случайными весами и обучается неоптимально, и в результате может содержать много мёртвых и дублирующихся нейронов. Автор предлагает способ найти глобально оптимальное (?) решение, в котором нет ничего лишнего.)
Но пока непонятно, как выражать в виде периодического сигнала многомерные непрерывные входные данные. Индексировать их кривой Гильберта?
Следующий шаг: Фурье–голограммы и распознавание образов))). Довольно старая технология. Но можно попробовать обновить.
В вашей формуле:

я бы знак равно не ставил, т.к.
XOR(0,0) = 1.414
XOR(1,0) = -0.0002879939100249815
XOR(0,1) = 1.0002470126024203
XOR(1,1) = -0.9996545088665344
Справедливое замечание — действительно, в приведённой формуле точное равенство не соблюдается в битовой кодировке 0
и 1
.
Но я хотел бы уточнить, что в статье используется альтернативная кодировка входов и выходов: -1
и 1
.
Разумеется, для получения абсолютного равенства нужно было бы выписать результат в аналитическом виде и сделать поправку на смещения
Но основной акцент я делал на то, что нейросети всегда работают с приближёнными значениями.
Спасибо за внимательное прочтение!
Вопрос: что произойдет, если на вход подать сигнал с нескольким гармониками? Ответ: ничего хорошего. Результирующий спектр предсказать невозможно. Отдельные гармоники будут преобразованы, как и ранее, при этом возможно наложение спектров, но плюс еще добавится взаимодействие разных гармоник между собой. Основные гармоники, вероятно, будут все еще различимы, но в остальном спектр будет хаотическим:
Нелинейная передаточная функция f(x) изменяет спектр сигнала x(t) вполне определённым образом. Если разложить её в полином: f(x) = a0 + a1 * x + a2 * x^2 + ..., то каждому члену, содержащему x в степени n, будет соответствовать (n-1)-кратная свёртка спектра с самим собой. Каждая свёртка приводит к интермодуляции всех имеющихся в спектре гармоник. Чётные степени дают чётные гармоники, и то же верно для нечётных. Негладкие функции типа ReLU аппроксимируются очень плохо и спектр действительно становится практически непредсказуемым.
Мне кажется, функцию XOR лучше продемонстрирует сложение двух частот в противофазе (ага, тот самый случай, когда фаза важна).
Нейросети без градиентов: спектральное моделирование и построение решений