Comments 13
Какой красивый логотип!!!
Было бы интересно узнать, как влияет другой способ выбора действительной и мнимой части на результат. Что не понятно - какие понятия описывает первая часть эмбединга, а какие - вторая. Что будет, если выбирать парные точки сигнала?
Также любопытно было бы обощить этот подход на многомерные сигналы, выполня разбиение не только на действительную и мнимую часть, но на кватернион, допустим.
Способ получения мнимых компонент не сильно отражается на общем анализе, в любом случае алгорим успешно определит схожие и различые вектора, при чем, чувствуя различные детали из-за фазовой синхронизации.
Если получать мнимые компоненты последовательно к примеру, то на практике в основном различия есть в масштабе, при синтетическом наблюдается различия между каждым кластером компонент, и это тоже нормально, так как банально меняя гиперпараметры вейвлет-преобразования мы получаем внутри кластера то же другие результаты.
Вот как выглядят при последовательном выборе мнимых компонент на практическом тесте, как в статье:
[0.030232085679003352, 0.015492751507748755, 0.06165048558091049, 0.28410146245018314, 0.07920580892911805, 0.3291238288004444, 0.012666878254538197, 0.491305267183525, 0.012538072309331747, 0.296305247221098]
Побеждают те же в порядке убывания: 7, 5, 9, 3, 4, 2, 0, 1, 6, 8.
Насчет кватернионов, возникает проблема понятие фазы, так как мы имеет дело с одномерным сигналом, поскольку традиционное понятие фазы, используемое в коэфициенте фазовой синхронизации, применимо к сигналам, представленным комплексными числами, отражающими одномерные колебания.
Не похож эмбединг на сигнал. Ни визуально, не по характеристикам. Применять вейлет-преобразование или преобразование Фурье к любому набору чисел, конечно, можно, но зачем? Зачем применять процедуру, которая на два порядка медленнее косинусного сходства и дает непонятный результат?
Было бы замечательно, если бы Вы описали выгоду от применения данного подхода. Например, на небольшом датасете показали, что полученные результаты семантически ближе, чем при применении косинусного сходства.
Насчет сигнала все не так однозначно, если мы возьмем статью из Википедии в разделе "Definitions" то становится понятно, что эмбеддинги не являются сигналами в классическом смысле (как временное изменение физических величин), но они могут быть интерпретированы как сигналы в более широком смысле слова — как представления информации, способные нести и передавать смысловое содержание. Таким образом, применение методов анализа сигналов, включая вейвлет-преобразования, к эмбеддингам может быть оправдано в контексте извлечения, обработки и анализа закодированной в них информации. Так что это не просто "набор чисел".
По поводу выгоды, я показал, что главная выгода это очень сильная реакция на разную синхронизацию сигналов по сравнению с косинусным сходством, что позволяет тонко различать семантические свойства. Что касается интерпретируемости, мы сталкиваемся с нелинейным алгоритмом, который, конечно, сложнее интерпретировать.
Ключевое слово "временное изменение". Для эмбедингов перестановка местами измерений не играет вообще никакой роли, а для любого "временного сигнала" играет и еще какую. А так - да, конечно в эмбедингах безусловно есть информация как явная (собственно координаты точки в пространстве смыслов), так и косвенная (например, числа в векторе эмбединга распределены по нормальному закону).
Вообще вместо косинусного расстояния или евклидового расстояния можно использовать еще много каких других функций, например, корень кубический из суммы кубов расстояний по осям или наоборот взять корень в степени 1.5 от суммы расстояний в степени 1.5, и таким образом настроить чувствительность этой функции в какую угодно сторону.
PS. В любом случае спасибо за статью и за интересный подход.
Оч. Круто, спасибо! -)
Звучит очень интересно и круто. Как вы считаете, есть ли потенциал у вашего подхода, если использовать его в трансформере в механизме внимания вместо обыкновенного скалярного произведения?
Вполне может быть, он же ищет сходство, но нужно будет учитывать что он не работает с матричными операциями, и по сравнению с моментальным скалярным умножением он занимает некоторое время, тут вопрос будет обстоять насколько он может улучшить точность в сравнении с потраченным временем, тут только тесты покажут. Но идея интересная.
WaveSync: Новый путь к нелинейному анализу эмбеддингов