Что бы вы предпочли использовать при классификации текста с помощью метода «мешок слов»: модель градиентного бустинга на деревьях или логистическую регрессию?
Стоит учитывать, что при применении «мешка слов» представление данных может быть довольно разреженным и высокоразмерным: создаётся множество столбцов. В этой ситуации логистическая регрессия может быть лучшим выбором, особенно если нужна модель, которая быстро обучается и легко интерпретируется. Как минимум, её можно использовать в качестве базовой модели (baseline) — это будет неплохой отправной точкой.
#машинное_обучение
#NLP
Стоит учитывать, что при применении «мешка слов» представление данных может быть довольно разреженным и высокоразмерным: создаётся множество столбцов. В этой ситуации логистическая регрессия может быть лучшим выбором, особенно если нужна модель, которая быстро обучается и легко интерпретируется. Как минимум, её можно использовать в качестве базовой модели (baseline) — это будет неплохой отправной точкой.
#машинное_обучение
#NLP
👍9❤2
Что такое дистилляция модели (Knowledge Distillation)?
Это метод, который позволяет малой модели имитировать поведение большой модели. Чаще всего используется в NLP и компьютерном зрении. Позволяет снизить требования к вычислительным ресурсам при инференсе моделей без существенной потери качества.
При дистилляции «знания» из большой модели переносятся в малую благодаря минимизации функции потерь, в которой целевая переменная — это распределение вероятностей классов, предсказанных большой моделью. Также часто используется параметр «температура» для сглаживания вероятностей, предоставляемых большой моделью. При более высокой температуре вероятности становятся более сглаженными, что помогает передать более тонкие отношения между различными классами.
Подробнее можно прочитать здесь
#NLP
#глубокое_обучение
Это метод, который позволяет малой модели имитировать поведение большой модели. Чаще всего используется в NLP и компьютерном зрении. Позволяет снизить требования к вычислительным ресурсам при инференсе моделей без существенной потери качества.
При дистилляции «знания» из большой модели переносятся в малую благодаря минимизации функции потерь, в которой целевая переменная — это распределение вероятностей классов, предсказанных большой моделью. Также часто используется параметр «температура» для сглаживания вероятностей, предоставляемых большой моделью. При более высокой температуре вероятности становятся более сглаженными, что помогает передать более тонкие отношения между различными классами.
Подробнее можно прочитать здесь
#NLP
#глубокое_обучение
🔥7
Что вы знаете о метрике perplexity (перплексия)?
Эта метрика применяется для оценки языковых моделей. Если описать грубо, это недоумение, которое испытывает модель, когда генерирует новое предложение. Нам нужно, чтобы языковая модель давала высокие вероятности настоящим, синтаксически корректным предложениям, и низкие вероятности — ненастоящим, некорректным или редко встречающимся предложениям. Если тестовый набор данных состоит из настоящих и корректных предложений, то лучшей моделью будет та, которая назначит наивысшую вероятность этому тестовому набору. В этом случае перплексия будет низкой. Так, чем меньше perplexity, тем лучше.
Подробнее про перплексию можно прочесть здесь.
#NLP
#глубокое_обучение
Эта метрика применяется для оценки языковых моделей. Если описать грубо, это недоумение, которое испытывает модель, когда генерирует новое предложение. Нам нужно, чтобы языковая модель давала высокие вероятности настоящим, синтаксически корректным предложениям, и низкие вероятности — ненастоящим, некорректным или редко встречающимся предложениям. Если тестовый набор данных состоит из настоящих и корректных предложений, то лучшей моделью будет та, которая назначит наивысшую вероятность этому тестовому набору. В этом случае перплексия будет низкой. Так, чем меньше perplexity, тем лучше.
Подробнее про перплексию можно прочесть здесь.
#NLP
#глубокое_обучение
❤6
Объясните, как учится Word2Vec? Какая функция потерь? Что максимизируется?
Word2Vec — это метод обучения векторных представлений слов. Он использует одну из двух архитектур: CBOW (Continuous Bag of Words) или Skip-gram.
▪️CBOW прогнозирует текущее слово на основе контекста (окружающих слов).
▪️Skip-gram наоборот использует текущее слово для предсказания контекста.
В процессе обучения Word2Vec использует нейронную сеть с одним скрытым слоем. Входные данные представляют собой слова в форме «one-hot encoded» векторов. Сеть обучается так, чтобы векторные представления слов в скрытом слое кодировали семантические и синтаксические характеристики слов.
Word2Vec может использовать несколько разных функций потерь, но наиболее распространёнными являются Negative Sampling Loss и Hierarchical Softmax. Цель обучения — максимизировать косинусное сходство между векторами слов, которые встречаются в похожих контекстах, и минимизировать его для слов, которые не встречаются вместе.
#NLP
#машинное_обучение
Word2Vec — это метод обучения векторных представлений слов. Он использует одну из двух архитектур: CBOW (Continuous Bag of Words) или Skip-gram.
▪️CBOW прогнозирует текущее слово на основе контекста (окружающих слов).
▪️Skip-gram наоборот использует текущее слово для предсказания контекста.
В процессе обучения Word2Vec использует нейронную сеть с одним скрытым слоем. Входные данные представляют собой слова в форме «one-hot encoded» векторов. Сеть обучается так, чтобы векторные представления слов в скрытом слое кодировали семантические и синтаксические характеристики слов.
Word2Vec может использовать несколько разных функций потерь, но наиболее распространёнными являются Negative Sampling Loss и Hierarchical Softmax. Цель обучения — максимизировать косинусное сходство между векторами слов, которые встречаются в похожих контекстах, и минимизировать его для слов, которые не встречаются вместе.
#NLP
#машинное_обучение
🔥10
Что такое alignment в языковых моделях?
Alignment в контексте ИИ означает процесс настройки модели таким образом, чтобы её ответы соответствовали этике, законам и ценностям общества.
Обычно alignment происходит во время файн-тюнинга. Процесс включает в себя два этапа:
▪️Фаза обучения на инструкциях.
На этой фазе LLM дают примеры целевых задач.
▪️Фаза оценки.
На этой фазе человек или другая модель взаимодействуют с LLM и оценивают её ответы в режиме реального времени. На этом этапе может использоваться обучение с подкреплением, чтобы внести фидбэк в знания исходной модели.
#NLP
#глубокое_обучение
Alignment в контексте ИИ означает процесс настройки модели таким образом, чтобы её ответы соответствовали этике, законам и ценностям общества.
Обычно alignment происходит во время файн-тюнинга. Процесс включает в себя два этапа:
▪️Фаза обучения на инструкциях.
На этой фазе LLM дают примеры целевых задач.
▪️Фаза оценки.
На этой фазе человек или другая модель взаимодействуют с LLM и оценивают её ответы в режиме реального времени. На этом этапе может использоваться обучение с подкреплением, чтобы внести фидбэк в знания исходной модели.
#NLP
#глубокое_обучение
👍1🤔1
Объясните, как работает Transformer?
Архитектура Transformer используется преимущественно в языковых моделях. Их обучают на большом количестве текстов. Наиболее известная задача, в которой используются такие модели, это, конечно, генерация новых текстов. Нейросеть должна предсказать следующее слово в последовательности, отталкиваясь от предыдущих. Transformer же изначально был разработан для перевода.
Его архитектура состоит из двух основных блоков:
▪️Энкодер (Encoder) (слева).
Этот блок получает входные данные (инпут) и создаёт их представления в векторном пространстве.
▪️Декодер (Decoder) (справа).
Этот блок использует представления, полученные от энкодера, а также другие входные данные, чтобы сгенерировать последовательность.
Основная фишка архитектуры Transformer заключается в наличии специального слоя — attention. Этот слой как бы указывает модели обращать особое внимание на определённые слова в последовательности. Это позволяет более эффективно обрабатывать контекст и улавливать сложные зависимости в тексте.
Во время обучения Transformer энкодер получает инпут (предложение) на определённом языке. Декодеру дают то же предложение, но на другом, целевом, языке. В энкодере слой attention может использовать все слова в предложении для создания контекстуализированного представления каждого слова, а декодер использует информацию об уже сгенерированных словах для предсказания следующего слова в последовательности.
В целом, ключевой особенностью механизма attention является его способность динамически фокусироваться на различных частях входной последовательности при обработке каждого слова, что позволяет модели лучше понимать контекст и нюансы языка.
#глубокое_обучение
#NLP
Архитектура Transformer используется преимущественно в языковых моделях. Их обучают на большом количестве текстов. Наиболее известная задача, в которой используются такие модели, это, конечно, генерация новых текстов. Нейросеть должна предсказать следующее слово в последовательности, отталкиваясь от предыдущих. Transformer же изначально был разработан для перевода.
Его архитектура состоит из двух основных блоков:
▪️Энкодер (Encoder) (слева).
Этот блок получает входные данные (инпут) и создаёт их представления в векторном пространстве.
▪️Декодер (Decoder) (справа).
Этот блок использует представления, полученные от энкодера, а также другие входные данные, чтобы сгенерировать последовательность.
Основная фишка архитектуры Transformer заключается в наличии специального слоя — attention. Этот слой как бы указывает модели обращать особое внимание на определённые слова в последовательности. Это позволяет более эффективно обрабатывать контекст и улавливать сложные зависимости в тексте.
Во время обучения Transformer энкодер получает инпут (предложение) на определённом языке. Декодеру дают то же предложение, но на другом, целевом, языке. В энкодере слой attention может использовать все слова в предложении для создания контекстуализированного представления каждого слова, а декодер использует информацию об уже сгенерированных словах для предсказания следующего слова в последовательности.
В целом, ключевой особенностью механизма attention является его способность динамически фокусироваться на различных частях входной последовательности при обработке каждого слова, что позволяет модели лучше понимать контекст и нюансы языка.
#глубокое_обучение
#NLP
👍6🔥3
Какие метрики близости текстов вы знаете?
Можно разделить метрики близости текстов на два типа: лексические и семантические.
🔹 Лексические
— Сходство Жаккара (Jaccard similarity)
Это довольно простая метрика. Работает так: берутся две последовательности A и B, далее находится число общих элементов в них и делится на количество элементов обеих последовательностей.
🔹 Семантические
— Косинусное сходство (cosine similarity)
Измеряет косинус угла между двумя векторами, представляющими тексты в векторном пространстве (часто используется TF-IDF векторизация).
— Евклидово расстояние (euclidean distance)
Находится кратчайшая прямая между двумя точками в евклидовом пространстве. Сначала также необходима векторизация.
#NLP
Можно разделить метрики близости текстов на два типа: лексические и семантические.
🔹 Лексические
— Сходство Жаккара (Jaccard similarity)
Это довольно простая метрика. Работает так: берутся две последовательности A и B, далее находится число общих элементов в них и делится на количество элементов обеих последовательностей.
🔹 Семантические
— Косинусное сходство (cosine similarity)
Измеряет косинус угла между двумя векторами, представляющими тексты в векторном пространстве (часто используется TF-IDF векторизация).
— Евклидово расстояние (euclidean distance)
Находится кратчайшая прямая между двумя точками в евклидовом пространстве. Сначала также необходима векторизация.
#NLP
❤10
Объясните виды sampling при генерации? top-k, top-p
В процессе генерации текста с помощью нейронных сетей используются различные методы семплирования (sampling), чтобы определить следующий символ или слово в последовательности. Вот основные методы:
▫️top-k sampling.
При таком семплировании отфильтровываются k наиболее вероятных следующих слов в последовательности. Значение k выбирается заранее. Вероятностная масса перераспределяется только между этими k словами.
▫️ nucleus sampling (top-p).
При top-p семплировании выбор идёт из наименьшего возможного набора слов, суммарная вероятность которых превышает вероятность p. Затем вероятностная масса перераспределяется среди этого набора слов.
#NLP
#глубокое_обучение
В процессе генерации текста с помощью нейронных сетей используются различные методы семплирования (sampling), чтобы определить следующий символ или слово в последовательности. Вот основные методы:
▫️top-k sampling.
При таком семплировании отфильтровываются k наиболее вероятных следующих слов в последовательности. Значение k выбирается заранее. Вероятностная масса перераспределяется только между этими k словами.
▫️ nucleus sampling (top-p).
При top-p семплировании выбор идёт из наименьшего возможного набора слов, суммарная вероятность которых превышает вероятность p. Затем вероятностная масса перераспределяется среди этого набора слов.
#NLP
#глубокое_обучение
👍2
Что такое negative sampling в NLP?
Negative sampling появляется в контексте Word2Vec, метода обучения векторных представлений слов. Дело в том, что общий вид функции потерь для Word2Vec представляет собой сумму логарифмов с обратными знаками. Количество этих логарифмов равно объёму обучающей выборки. Внутри каждого логарифма стоит дробь, в знаменателе которой — сумма экспонент, и количество слагаемых совпадает с количеством слов в словаре.
В общем, это всё выглядит несколько ужасающе, особенно если держать в уме, что эту функцию потерь нужно минимизировать. Поэтому нужно как-то упрощать вычисления. Тут и приходит на помощь negative sampling.
Идея такая: на каждой итерации градиентного спуска мы будем оставлять в знаменателе лишь несколько случайно выбранных слагаемых. Фактически, на каждой итерации мы будем работать со случайной и небольшой подвыборкой всей тренировочной выборки.
#NLP
#глубокое_обучение
Negative sampling появляется в контексте Word2Vec, метода обучения векторных представлений слов. Дело в том, что общий вид функции потерь для Word2Vec представляет собой сумму логарифмов с обратными знаками. Количество этих логарифмов равно объёму обучающей выборки. Внутри каждого логарифма стоит дробь, в знаменателе которой — сумма экспонент, и количество слагаемых совпадает с количеством слов в словаре.
В общем, это всё выглядит несколько ужасающе, особенно если держать в уме, что эту функцию потерь нужно минимизировать. Поэтому нужно как-то упрощать вычисления. Тут и приходит на помощь negative sampling.
Идея такая: на каждой итерации градиентного спуска мы будем оставлять в знаменателе лишь несколько случайно выбранных слагаемых. Фактически, на каждой итерации мы будем работать со случайной и небольшой подвыборкой всей тренировочной выборки.
#NLP
#глубокое_обучение
❤2
Какова размерность эмбеддингового слоя в Transformer?
Размерность эмбеддингового слоя определяется двумя параметрами: размером словаря и размерностью эмбеддингов.
▪️Размер словаря (Vocab Size) — это количество уникальных токенов или слов, которое может обрабатывать модель. Эта величина определяется во время обучения модели и зависит от данных, на которых она обучается.
▪️Размерность эмбеддингов (Embedding Dimension) — это количество признаков, используемых для представления каждого токена. Эта размерность обычно фиксирована для данной модели и совпадает с размерностью скрытых слоёв модели.
Таким образом, матрица эмбеддингов в Transformer имеет размерность, равную размеру словаря x размерности эмбеддингов.
#NLP
#глубокое_обучение
Размерность эмбеддингового слоя определяется двумя параметрами: размером словаря и размерностью эмбеддингов.
▪️Размер словаря (Vocab Size) — это количество уникальных токенов или слов, которое может обрабатывать модель. Эта величина определяется во время обучения модели и зависит от данных, на которых она обучается.
▪️Размерность эмбеддингов (Embedding Dimension) — это количество признаков, используемых для представления каждого токена. Эта размерность обычно фиксирована для данной модели и совпадает с размерностью скрытых слоёв модели.
Таким образом, матрица эмбеддингов в Transformer имеет размерность, равную размеру словаря x размерности эмбеддингов.
#NLP
#глубокое_обучение
❤4
Объясните механизм multihead attention
Механизм attention используется в трансформерах. Он позволяет заставить модель «обращать внимание» на важные слова в предложении. Multihead attention расширяет эту идею, используя несколько «голов» внимания для одновременного анализа информации как бы с разных точек зрения. Каждая «голова» работает независимо, позволяя модели захватывать разнообразные взаимосвязи и зависимости в данных.
На практике мы делим весь эмбеддинг и прогоняем каждую часть через разные матрицы. Так мы получаем разнообразные представления.Плюсом к этому идёт возможность распараллелить процесс. В итоге результаты всех независимых механизмов внимания объединяются и проходят через линейный слой для получения финального представления.
#глубокое_обучение
#NLP
Механизм attention используется в трансформерах. Он позволяет заставить модель «обращать внимание» на важные слова в предложении. Multihead attention расширяет эту идею, используя несколько «голов» внимания для одновременного анализа информации как бы с разных точек зрения. Каждая «голова» работает независимо, позволяя модели захватывать разнообразные взаимосвязи и зависимости в данных.
На практике мы делим весь эмбеддинг и прогоняем каждую часть через разные матрицы. Так мы получаем разнообразные представления.
#глубокое_обучение
#NLP
У вас есть языковая модель. Что произойдёт с новым словом из тестового датасета, которое не присутствовало в обучающем датасете?
В языковой модели новое слово из тестового датасета будет рассматриваться как неизвестное, ведь оно не является частью изученного векторайзером словаря. Модель может:
▪️Игнорировать слово;
▪️Воспользоваться встроенными механизмами обработки редких или неизвестных слов, такими как применение специальных токенов.
Результат будет зависеть от конкретной реализации и архитектуры модели.
#NLP
В языковой модели новое слово из тестового датасета будет рассматриваться как неизвестное, ведь оно не является частью изученного векторайзером словаря. Модель может:
▪️Игнорировать слово;
▪️Воспользоваться встроенными механизмами обработки редких или неизвестных слов, такими как применение специальных токенов.
Результат будет зависеть от конкретной реализации и архитектуры модели.
#NLP
Что такое TF-IDF?
TF-IDF (Term Frequency-Inverse Document Frequency) — это статистическая мера, используемая для оценки значимости слова в документе относительно всех других документов в коллекции или корпусе. TF-IDF сочетает два значения:
🔷 TF (Частота слова)
Это число, показывающее, сколько раз слово встречается в документе. Чем чаще, тем слово важнее в контексте этого документа.
🔷 IDF (Обратная частота документа)
Это мера, которая уменьшает вес слов, часто встречающихся во всём корпусе документов. Чем реже слово встречается во всём корпусе, тем больше его вклад в IDF.
Значение TF-IDF рассчитывается как произведение TF и IDF. На основе TF-IDF значений слов можно построить векторы документов.
#NLP
TF-IDF (Term Frequency-Inverse Document Frequency) — это статистическая мера, используемая для оценки значимости слова в документе относительно всех других документов в коллекции или корпусе. TF-IDF сочетает два значения:
🔷 TF (Частота слова)
Это число, показывающее, сколько раз слово встречается в документе. Чем чаще, тем слово важнее в контексте этого документа.
🔷 IDF (Обратная частота документа)
Это мера, которая уменьшает вес слов, часто встречающихся во всём корпусе документов. Чем реже слово встречается во всём корпусе, тем больше его вклад в IDF.
Значение TF-IDF рассчитывается как произведение TF и IDF. На основе TF-IDF значений слов можно построить векторы документов.
#NLP
👍6👏3