Работа с текстом
Bag-of-Words
Самый простой способ представить текст: считаем количество вхождений каждого слова и записываем в вектор фиксированной длины (размер словаря). Порядок слов игнорируется.
TF-IDF
Взвешенный вариант Bag-of-Words. Слова, часто встречающиеся во всём корпусе (стоп-слова), получают меньший вес:
\[\text{tf-idf}(w, d) = \text{tf}(w, d) \cdot \text{idf}(w)\]
где:
- \(\text{tf}(w, d)\) — сколько раз слово \(w\) встретилось в документе \(d\).
- \(\text{idf}(w) = \log \frac{\ell}{\text{число документов, содержащих } w}\) — обратная документная частота.
N-граммы
Расширение Bag-of-Words: в словарь добавляются не только отдельные слова, но и последовательности из \(n\) слов. Биграммы (2-граммы) позволяют учесть словосочетания вроде «машинное обучение» или «случайный лес».
Local-Global Attention
Идея: глобальный attention лучше улавливает общий контекст, локальный — детали. Совмещение двух подходов даёт лучшее качество.
Архитектура
Размерности входа:
- \(B\) — размер батча.
- \(D\) — глубина эмбеддинга.
- \(W, H\) — пространственные размерности карты признаков.
Вектор делится по глубине на количество голов. Для стабилизации градиентов \(\text{head\_dim}\) дополнительно нормируется на корень из размерности — аналогично механизму scaled dot-product attention в Transformer.
Обучение на временных рядах
При обучении на K-Fold можно ограничивать размер окна. Три основных подхода к предсказанию временных рядов:
| Подход | Идея |
|---|---|
| Прямой (Direct) | Обучаем отдельную модель для предсказания каждого момента времени |
| Рекурсивный (Recursive) | Обучаем одну модель, используем её предсказания как вход для следующего шага |
| Гибридный | Совмещает прямой и рекурсивный подходы |