Kernel Principal Component Analysis (PCA): Объяснение на примере

Методы уменьшения размерности, такие как PCA, прекрасно работают, когда наборы данных линейно разделимы — но они терпят неудачу, как только появляются нелинейные закономерности. Именно это происходит с такими наборами данных, как «две луны»: PCA сглаживает структуру и смешивает классы.

Kernel PCA устраняет этот недостаток, отображая данные в пространство с более высокой размерностью, где нелинейные закономерности становятся линейно разделимыми. В этой статье мы рассмотрим, как работает Kernel PCA, и используем простой пример, чтобы визуально сравнить PCA и Kernel PCA.

Что такое PCA и чем он отличается от Kernel PCA?

Principal Component Analysis (PCA) — это метод линейного уменьшения размерности, который определяет направления (главные компоненты), вдоль которых данные варьируются больше всего. Он работает путём вычисления ортогональных линейных комбинаций исходных признаков и проецирования набора данных на направления максимальной дисперсии.

PCA эффективен, но имеет одно важное ограничение: он может выявить только линейные зависимости в данных. При применении к нелинейным наборам данных, таким как пример с «двумя лунами», он часто не может разделить основную структуру.

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

Как создать полностью локальную систему мультиагентной оркестрации с помощью TinyLlama для интеллектуальной декомпозиции задач и автономного сотрудничества

Исследователи из Apple и Эдинбургского университета выпустили CLaRa (Continuous Latent Reasoning), (CLaRa-7B-Base, CLaRa-7B-Instruct и CLaRa-7B-E2E) — фреймворк для генерации с дополненным поиском, который сжимает документы в непрерывные токены памяти, а затем выполняет поиск и генерацию в этом общем скрытом пространстве.

Цель проста: сократить контекст, избежать двойной кодировки и позволить генератору научить ретривер тому, что действительно важно для последующих ответов.

CLaRa начинается с семантического компрессора, который прикрепляет небольшое количество изученных токенов памяти к каждому документу. Во время предварительного обучения SCP (SCP — Salient Compressor Pretraining) базовая модель представляет собой трансформатор в стиле Mistral 7B с адаптерами LoRA, которые переключаются между ролью компрессора и ролью генератора.

Как работает CLaRa

1. Семантический компрессор прикрепляет к каждому документу небольшое количество изученных токенов памяти.
2. Генератор обучается отвечать на вопросы или создавать парафразы, обусловленные только токенами памяти и префиксом инструкции.
3. Ретривер обучается находить наиболее релевантные документы для заданного запроса.
4. Генератор обучается генерировать ответы на основе найденных документов.

Качество сжатия и точность ответов на вопросы

Компрессор оценивается на 4 наборах данных QA: Natural Questions, HotpotQA, MuSiQue и 2WikiMultihopQA. В нормальных условиях, когда система извлекает по 5 документов из Википедии 2021 по запросу, SCP-Mistral-7B при 4-кратном сжатии достигает среднего F1 39,86. Это на 5,37 балла лучше, чем у базовой линии LLMLingua 2, и на 1,13 балла лучше, чем у лучшей базовой линии мягкого сжатия PISCO.

В условиях Oracle, где золотой документ гарантированно находится в наборе кандидатов, SCP-Mistral-7B при 4-кратном сжатии достигает среднего F1 66,76. Это на 17,31 балла выше, чем у LLMLingua-2, и на 5,35 балла выше, чем у PISCO.

Что выпустила Apple?

Исследовательская группа Apple выпустила 3 модели на Hugging Face: CLaRa-7B-Base, CLaRa-7B-Instruct и CLaRa-7B-E2E. CLaRa-7B-Instruct описывается как унифицированная модель RAG с настройкой по инструкции и встроенным сжатием документов в 16 и 128 раз. Она отвечает на вопросы в стиле инструкций непосредственно из сжатых представлений и использует Mistral-7B-Instruct v0.2 в качестве базовой модели.

Ключевые выводы:

* CLaRa заменяет необработанные документы небольшим набором непрерывных токенов памяти, изученных с помощью семантического сжатия, управляемого вопросами и парафразами.
* Извлечение и генерация обучаются в едином общем скрытом пространстве.
* Дифференцируемый top-k оценщик позволяет градиентам поступать от токенов ответа обратно в ретривер, что согласовывает релевантность документов с качеством ответа.
* На многоходовых бенчмарках QA, таких как Natural Questions, HotpotQA, MuSiQue и 2WikiMultihopQA, компрессор SCP CLaRa при 4-кратном сжатии превосходит сильные текстовые базовые показатели, такие как LLMLingua 2 и PISCO, и может даже превзойти полнотекстовые конвейеры BGE/Mistral по среднему F1.

Apple выпустила 3 практические модели, CLaRa-7B-Base, CLaRa-7B-Instruct и CLaRa-7B-E2E, вместе с полным конвейером обучения на GitHub.

1. В чём заключается основная проблема метода PCA при работе с нелинейными данными и как Kernel PCA решает эту проблему?

Ответ: PCA эффективен для линейного уменьшения размерности, но может выявить только линейные зависимости в данных. При применении к нелинейным наборам данных, таким как пример с «двумя лунами», он часто не может разделить основную структуру. Kernel PCA устраняет этот недостаток, отображая данные в пространство с более высокой размерностью, где нелинейные закономерности становятся линейно разделимыми.

2. Какие методы используются в Kernel PCA для работы с нелинейными зависимостями?

Ответ: в Kernel PCA используется функция ядра (например, RBF, полиномиальная или сигмоидальная) для неявного проецирования данных в пространство с более высокой размерностью, где нелинейная структура становится линейно разделимой.

3. Какие модели были выпущены исследовательской группой Apple и для каких целей они предназначены?

Ответ: исследовательская группа Apple выпустила 3 модели на Hugging Face: CLaRa-7B-Base, CLaRa-7B-Instruct и CLaRa-7B-E2E. CLaRa-7B-Instruct описывается как унифицированная модель RAG с настройкой по инструкции и встроенным сжатием документов в 16 и 128 раз. Она отвечает на вопросы в стиле инструкций непосредственно из сжатых представлений и использует Mistral-7B-Instruct v0.2 в качестве базовой модели.

4. Какие преимущества предлагает CLaRa по сравнению с другими методами сжатия и генерации ответов?

Ответ: CLaRa заменяет необработанные документы небольшим набором непрерывных токенов памяти, изученных с помощью семантического сжатия, управляемого вопросами и парафразами. Извлечение и генерация обучаются в едином общем скрытом пространстве. Дифференцируемый top-k оценщик позволяет градиентам поступать от токенов ответа обратно в ретривер, что согласовывает релевантность документов с качеством ответа. На многоходовых бенчмарках QA, таких как Natural Questions, HotpotQA, MuSiQue и 2WikiMultihopQA, компрессор SCP CLaRa при 4-кратном сжатии превосходит сильные текстовые базовые показатели, такие как LLMLingua 2 и PISCO, и может даже превзойти полнотекстовые конвейеры BGE/Mistral по среднему F1.

5. Какие ключевые выводы можно сделать о CLaRa на основе представленного текста?

Ответ: ключевые выводы о CLaRa включают в себя то, что она заменяет необработанные документы небольшим набором непрерывных токенов памяти, изучает их с помощью семантического сжатия, управляемого вопросами и парафразами, и позволяет извлекать и генерировать в едином общем скрытом пространстве. Также отмечается, что CLaRa превосходит сильные текстовые базовые показатели на многоходовых бенчмарках QA.

Источник