Pull to refresh
27
0
Понимаш Захар Алексеевич @Zachar_5

Программист

Send message

Здравствуйте! .

Если у Вас стационарный сигнал и помеха, то можно использовать различные численные параметры распределения, т.е. описать функцию распределения с помощью начальных и центральных моментов можно еще добавить спектральные/кепстральные коэффициенты.
Если нестационарный и т.е. стат. параметры меняются во времени, можно оценивать эти параметры скользящим окном, а результат уже подать на LSTM, GRU или трансформер.

Чтобы Ваш метод заработал, нужно обучить сиамскую сеть, для поиска соответствия вопрос - сниппет. И в выборке должны быть сниппеты разной длинны.

"А что вообще тогда у вас есть готового? Только идея?" есть готовый алгоритм синтеза ответа на вопрос по документу, в статье приведены скриншоты его работы. Сейчас работаем над его улучшением.

Предложенный Вами метод решает немного другую задачу, он решает задачу поиска сниппета, отвечающего на вопрос пользователя, у нас задача несколько сложнее, а именно, преобразование графа документа в граф ответа. Можете посмотреть на скриншоты, ответы создаются фактологические и читаемые.

По датасету, я могу проверить вхождение словосочетаний из датасета в ответ и написать сюда точность. Но это не совсем корректно, т.к. датасет, на котором Вы предложили тестировать, для другой задачи, т.е. когда текст достаточно короткий, а нужно найти ответ из нескольких слов. Это обычно решается бертом с классификатором, который классифицирует каждый токен является ли он началом или концом ответа, после чего извлекают топ n ответов.

Для этого метода нужно обучить сеть, если будем так делать - напишу.

"Кто ни будь пробовал обучать одни у туже сеть несколько раз на одних и тех же данных каждый раз ограничивая минимальный размет токенов? Т.е. в начале размер токена - минимум 1 буква, второй проход минимум 2 слово, 3й проход минимум 3-4 слова. т.о. сеть будет видеть не только деревья, но и лес."

Это как?)
Когда учат GPT, то подают блок токенов, например 512 токенов и учат предсказывать 513-й, во время работы сеть выдает распределение вероятностей токенов продолжения в ответ на некую входящую последовательность. Из этого набора различными методами (ядерного семплирования, поиска луча и т.п.) выдается следующий токен и так продолжается или заданное число раз, либо пока не встретится спец. токен окончания генерации.

Спасибо большое за ответ! Почитаю!

Здравтствуйте!

А можно где-нибудь по подробнее почитать про использование LSTM. Т.к. как я сейчас понимаю Вашу работу, вы размечаете части запроса подсказками, а потом помещаете теги подсказок в словарь и создаете случайные вектора встраивания, потом считаете градиенты по всей gpt, но обновляете веса только у Ваших новых тегов. И тут я не совсем понимаю, где используется LSTM, т.к. градиенты приходят с трансформеров.

По сравнению с найденными пред. обученными моделями Bert
1) Наше решение занимает меньше места в GPU
2) Быстрее работает
3) Из-за того, что мы работаем с не очень длинными последовательностями, мы получаем хороший результат.

"Что здесь вектор, что здесь индекс?"
Тут используются т.н. эмбеддинги (слои встраивания). Вот документация на слой https://keras.io/api/layers/core_layers/embedding . Т.е. как они работают, например у нас есть предложение "Привет, как дела?", на этапе токенизации мы получим что-то вроде [10, 50, 21], потом дополняем нулями, например, максимальная длинна у нас 5, [10, 50, 21, 0, 0]. Далее слой встраивания каждому индексу в соответствие ставит вектор(при обратном проходе вектора тоже учатся), предположим, размерностью 10. И каждое предложение преобразуется в матрицу 5х10. Далее по этой матрице можно проходить одномерными свертками или LSTM сетями и т.п..

"токенизируем и прогоняем весь предыдущий текст диалога?" Да + можно разделить вопросы и ответы дополнительными токенами.

"А просто перплексию фразы на языковой модели вы не сравнивали?" нет, нам же нужно получить согласование тем в вопросе и ответе, чтобы выбрать тот ответ, который меньше всего отходит от темы вопроса.

Спасибо, хорошая статья! Возник такой вопрос, а насколько catboost устойчив к появлению слов не из датасета?

Можно перебрать в определенном диапазоне точки и сделать более качественное заполнение, но это долго.
Идея понятна, спасибо!

Современные подходы к визуализации решений классификаторов в основном либо используют диаграммы рассеивания, которые могут отображать лишь проекции исходных обучающих выборок, но явно не показывают фактические границы принятия решений

Я вот немного не понял, почему это не будет работать?
А что нам мешает взять проекцию, например с t-SNE или первых двух главных компонент, и покрасить этот пиксель цветом, присвоенным к определенному классу. Например у нас есть вектор {0.1, -0.5, 2}, к примеру, его проекция будет {0.9, -0.3}, ставим в соответствие пиксель {12, 30}, "прогоняем" это через классификатор получаем, что это класс 7, у нас ему соответствует красный. И так для всего датасета.

Спасибо большое!))
Только сейчас высвободилось время, посмотрел, очень крутая технология.

Спасибо, изучу ее!
Но тут стоит лицензия MIT, которая подразумевает бесплатное использование и в коммерческих проектах тоже, а единственным требованием является указание авторства и копия лицензии, но не обязывает использовать ту же лицензию, в отличии от GPL. Или публиковать производные библиотеки под той же лицензией, как в LGPL. Я тут делал небольшой обзор лицензий, если интересно, можете посмотреть: https://vk.com/@ponimashzahar-licenzii-na-open-source-proekty

Да, на данный момент это Face Swap. Но конечная цель — полноценный DeepFake.

Кстати, что касается использования NN+GPU+C#, есть такие проекты:


Да, Вы правы, сейчас это FaceSwap. В первых 3х статьях я планирую повторить на языке C# этот проект.
Первая нейронная сеть появится в 4-й части, там будет замена лица конкретного человека на видео. Нейросеть будет использоваться для распознавания лиц, до этого момента буду работать с одним лицом.
В 5-й части планирую сделать "оживление" портрета. Т.е. синтезировать мимику по голосу, думаю использовать LSTM, на вход принимать спектрограмму голоса за короткий промежуток времени, на выходе выдавать изменения Landmarks.

Классная библиотека))

Information

Rating
Does not participate
Location
Таганрог, Ростовская обл., Россия
Date of birth
Registered
Activity