Получи случайную криптовалюту за регистрацию!

Матчасть

Логотип телеграм канала @matchast — Матчасть М
Логотип телеграм канала @matchast — Матчасть
Адрес канала: @matchast
Категории: Технологии
Язык: Русский
Страна: Россия
Количество подписчиков: 985
Описание канала:

Высшая математика в бизнесе и жизни
vk.com/mat.chast
botcamp.timepad.ru
www.youtube.com/channel/UCoO8ApMu4QM4KQ8oGRCgOHQ
Чат: t.me/matchast_chat

Рейтинги и Отзывы

3.67

3 отзыва

Оценить канал matchast и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

2

2 звезд

0

1 звезд

0


Последние сообщения 3

2021-05-29 14:14:12 Я как-то давно писал о дисбалансе классов в задачах ML (habr.com/ru/post/349078) и объяснял, почему чаще всего перебалансировать ничего не надо. А позавчера Александр Дьяконов написал примерно о том же, но более понятно и обоснованно, чем я . Рекомендую к прочтению: https://dyakonov.org/2021/05/27/imbalance/
А ещё у него приятный канал https://t.me/smalldatascience
938 views11:14
Открыть/Комментировать
2021-05-28 23:15:53 Важная новость: экономисты научились пользоваться компьютерами! И хотят 10 июня собраться в оффлайне и поговорить про компьютерные симуляции макроэкономических процессов. Поболтать придут: математик Савватеев (известен просветительскими видосами на ютубе), датасатанист Воронцов (если вы не прошли его вводный курс по машинке, жизни вы не знаете!), милые моему сердцу экономисты Алескеров и Пильник, и менее милый, но тоже родной Пеникас Генрих Йозович. И ещё куча крутых учёных мужей. И в этой компании вы можете выступить тоже!

Теперь формальнее. Инициативная группа Методологического проекта разработки и использования компьютерных симуляций в науке, промышленности и бизнесе (МИЭМ им. А.Н. Тихонова) совместно с Научно-учебной лабораторией моделирования и управления сложными системами (Факультет компьютерных наук) приглашает всех желающих принять участие в работе Круглого стола, посвященного проблематике компьютерных симуляций в исследованиях макроэкономических процессов.

К участию в работе Круглого стола приглашаются экономисты, инженеры, математики и философы-методологи научных экспериментов.

Желающим выступить с докладом (продолжительность не более 20 мин.), просьба до 05 июня выслать название и тезисы доклада отв. секретарю Хамдамову Тимуру на электронную почту: tkhamdamov@hse.ru

Количество мест в оффлайн и онлайн формате ограничены. Просьба
регистрироваться заранее по ссылке: https://fit-m.timepad.ru/event/1659290/

Дата и время начала:
10 июня, Четверг

10:30 –начало трансляции

Ссылка на публичную трансляцию:




Ссылка на страницу анонса Круглого стола: https://miem.hse.ru/fitm/announcements/473030549.html

Может быть не очень понятно, для чего вам нужны симуляции макроэкономических процессов. Но в такой хорошей компании - не всё ли равно?
181 views20:15
Открыть/Комментировать
2021-05-25 22:15:50 На днях учёные из Фейсбука опубликовали статью про распознавание речи без учителя. То есть: чтобы обучить модель транскрибировать речь в текст, их методу нужно только много аудиозаписей речи (без аннотаций) и много текста, никак не привязанного к этой речи. И ещё тулза, конвертирующая текст в фонетическую запись. Закинув всё это в волшебный чёрный ящик, получают 94% верно распознанных фонем для английского (на уровне supervised SOTA 2017 года), и 85% - для малоресурсных языков типа татарского и киргизского. Как это работает?

Хитрость 1. Модель wav2vec 2.0, которая работает примерно как BERT для аудио. Запись нарезается на кусочки по 25 миллисекунд, одна модель (свёрточная) вычисляет их векторные представления, другая относит каждый кусочек к одной из возможных групп, а третья (трансформер) пытается предсказать выбранную группу по контексту (соседним кусочкам). Представления, выученные трансформером, оказываются полезными для дальнейшей расшифровки речи.

Хитрость 2. Переход к более длинным кусочкам. Над 25-миллисекундными сегментами делают обычную k-means кластеризацию, и соседние сегменты, оказавшиеся в одном кластере, склеивают в большие куски - потенциальные фонемы. Представление каждого куска считают как средний вектор всех кусочков в её составе, сжатый с помощь обычного же PCA в более короткий вектор.

Хитрость 3: GAN на фонемах. Одна свёрточная нейросеть (генератор) принимает на вход последовательность закодированных кусков аудио, а выдаёт последовательность фонем. Сначала она, конечно, не знает, какие фонемы выдавать, и предсказывает всякий трэш. Но вторая свёрточная сеть (дискриминатор) учится отличать этот трэш от нормальных текстов, сконвертированных в фонемы - и сначала делает это успешно. Но задача генератора - выдавать такие тексты, которые дискриминатор принимает за реальные, и обучаясь этому, он "нечаянно" начинает использовать свои входные данные (представления речи) и расшифровывать текст из них. Обучается эта сладкая парочка 12 часов на одной видеокарте.

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

Подробности можно почитать в постах FAIR: https://ai.facebook.com/blog/wav2vec-unsupervised-speech-recognition-without-supervision
https://ai.facebook.com/blog/wav2vec-20-learning-the-structure-of-speech-from-raw-audio
251 viewsedited  19:15
Открыть/Комментировать
2021-05-15 16:44:51 Пока я пишу постики про трансформерные языковые модели и про преобразование Фурье, гугловские учёные соединили одно с другим. Эти больные ублюдки просто взяли BERT и заменили self-attention на два преобразования Фурье - и оказалось, что по качеству это близко к берту, а обучается и применяется в разы быстрее, особенно на длинных текстах.

Как это работает? Есть матрица эмбеддингов каждого слова - допустим, 100 слов, и у каждого эмбеддинг размера 512. Сначала делается fast Fourier transform (FFT) вдоль каждого эмбеддинга, т.е. мы вычисляем его спектр. Потом делается ещё одно FFT вдоль длины последовательности, т.е. спектры эмбеддингов токенов перемешиваются друг с другом, и переносятся из "frequency domain" снова в "time domain". Похоже на MFCC, только двумерное. И вот этот диковинный зверь работает по качеству сопоставимо с self attention. Кажется, авторы статьи сами не до конца понимают, почему так получается (:

https://arxiv.org/abs/2105.03824
162 views13:44
Открыть/Комментировать
2021-05-12 16:16:23 Преобразование Фурье - крутой инструмент для обработки сигналов, помогающий распознавать речь, обрабатывать музыкальные записи, и лежащий в основе алгоритмов сжатия jpeg и mp3. И чтобы понять его логику, надо, внезапно, разобраться, как работает возведение в комплексную степень.

По сути, преобразование Фурье - это разложение функции в сумму синусоид с разными частотами и амплитудами. Но если вы откроете формулу, например, в Википедии, вы увидите, что в преобразовании Фурье используются не синусы и косинусы, а комплексная экспонента. Собственно, коэффициент Фурье для частоты w - это корреляция сигнала f(t) с функцией e^(-iwt). Почему оно так работает?

Магия в том, что в комплексной плоскости экспонента - это сумма синуса и косинуса: e^(ix)=cos(x) + i * sin(x) (формула Эйлера). Доказать эту странную связь можно, разложив правую и левую части в ряд Тейлора. А интуитивное доказательство можно прочитать на сайте Романа Парпалака: written.ru/articles/science/complex_exponent. Идея простая: можно подставить комплексный x в приближенную формулу e^x ≈ (1 + x/n)*n, и тогда возведение в комплексную степень сведётся к перемножению комплексных чисел. А мы знаем, что умножение комплексных чисел соответствует повороту их векторов в комплексной плоскости. Поэтому возведение в комплексную степень приводит к "вращению" чисел, а это вращение в проекции на реальную прямую выглядит как колебание.

Не знаю, почему, но меня эта связь между экспонентой и тригонометрическими функциями глубоко впечатляет.
203 viewsedited  13:16
Открыть/Комментировать
2021-05-05 19:15:20 Если вы хотите обучить seq2seq модель для текстов - например, переводчик, или парафразер, или болталку для чатбота, или модель для суммаризации - имеет смысл за основу взять большую предобученную text-to-text нейросетку. Одной из самых крутых таких моделей на сегодняшний день является Т5 от Гугла. Она состоит из двунаправленного энкодера (как BERT) и авторегрессионного декодера (как GPT), и потому идеально подходит для задач, где вход значительно отличается от выхода.

Модели T5, обученной специально под русский язык, нету, но есть мультиязычная mT5 на 101 язык. Правда, и по размеру эта модель весьма толста, причем более чем наполовину она состоит из эмбеддингов для токенов, которые в русском языке не встречаются никогда. И если вы хотите добучать mT5 только для русского языка (или, скажем, только для татарского), все неиспользуемые эмбеддинги можно выкинуть, сократив число параметров в модели в 2-3 раза без потери качества. Это я, собственно, на днях и сделал.

Статья с подробностями и кодом: https://towardsdatascience.com/how-to-adapt-a-multilingual-t5-model-for-a-single-language-b9f94f3d9c90
Small и base версии mT5 с русским словарём: https://huggingface.co/cointegrated

P.S. Пишите в комментах, на какую text-to-text задачу вам хотелось бы дообучить T5, и в каком-нибудь из ближайших постов я попробую её для вас приготовить.
255 views16:15
Открыть/Комментировать
2021-05-05 14:15:04 Недавно наткнулся на клёвый курс по обработке аудио. Идея - объяснить математическое устройство звука и показать, как это устройство можно анализировать из python. На выходе слушатель будет способен извлекать из сырых wav-ок информативные фичи, которые можно и глазами разглядывать, и в нейросетку засовывать. Курс построен так, чтобы его могли понять музыканты, и объясняются все детали супер подробно.

По формату этот курс - ютубовский плейлист на насколько часов: https://www.youtube.com/playlist?list=PL-wATfeyAMNqIee7cH3q1bh4QJFAaeNv0. Пару мыслей из него я изложу ниже.

Вообще звук - это последовательность волн пониженного и повышенного давления воздуха. В формате wav он так и записывается - просто последовательность чисел, значений давления, с частотой (обычно) 44К чисел в секунду. Но анализировать его в таком виде не очень удобно.

Проще всего выделить в звуке громкость (это амплитуда колебаний) и тон (это их частота). Но звук, состоящий из единственной частоты (тупо одна синусоида) - это характерное "электронное" гудение, а "нормальные" звуки содержат кучу частот одновременно. В шумах и шепоте частоты намешаны хаотично, а в звуках голоса и "мелодичных" инструментов основные частоты пропорциональны друг другу. Соотношение различных частот в звуке - часть того, что мы называем тембром.

Чтобы понять, какие частоты вообще в звуке содержатся, его надо разложить в сумму синусоид. Если их фазы заранее известны, это можно сделать чем-то вроде обычной линейной регрессии. Если неизвестны, можно применить преобразование Фурье и вычислить фазы одновременно с коэффициентами амплитуды (если интересно, про преобразование Фурье могу написать подробнее отдельно). Разрезав звук на короткие кусочки и разложив каждый на частоты по отдельности, получаем спектрограмму - картинку, показывающую, как меняется громкость различных частот во времени. Спектрограмму можно скармливать нейросетям или анализировать глазами. При наличии опыта можно читать ее, как нотную запись, и даже различать буквы и слова.

А ещё по спектрограмме можно вычислять более сложные фичи. В типичном звуке голоса много частот, пропорциональных друг другу, а значит, его спектр (после логарифмирования) тоже будет периодическим, и значит, его можно _ещё раз_ разложить в сумму синусоид. Математики назвали такое представление cepstrum (типа spectrum наоборот), а его коэффициенты, MFCC, уже лет 50 являются едва ли не самыми информативными признаками для распознавания речи.

Про все эти фичи (и кучу других) подробно рассказано (и показано) в курсе. Если хотите сразу попробовать анализ звука самостоятельно, берите пакет librosa, и в бой! А если вам интересны какие-то детали, то пишите в комментарии, и я расскажу подробнее (:
287 views11:15
Открыть/Комментировать
2021-04-29 18:14:13
Меня регулярно спрашивают, как запустить распознавание речи для русского языка бесплатно без смс?
Неплохой современный ответ - библиотека vosk.

Модель: https://alphacephei.com/vosk/models
Код: https://github.com/alphacep/vosk-api (я взял пример python/example/test_microphone.py)

Приятного распознавания!
401 views15:14
Открыть/Комментировать
2021-04-27 23:25:34 На прошлой неделе прошла конференция Balto-Slavic NLP, на которой, в частности, презентовали несколько интересных работ по русскому языку.

Russian Paraphrasers: Paraphrase with Transformers. Авторы собрали датасет русских парафраз из субтитров, новостных заголовков и диалогов с чатботами (как набирали последние, непонятно). На таких парах дообучили GPT от Сбера и mT5 (T5 работает заметно лучше, чем GPT). При генерации разные варианты парафраз переранжируются по косинусной близости их эмбеддингов предложений. В результате получается около 60-70% хороших парафраз по оценкам авторов, и около 50% - по моим собственным. Пробовали применить парафразеры для аугментации обучающих выборок задач Russian superGLUE, но прироста качества почти не получилось. Нейросетки выложены на huggingface, а готовый пакет для перефразирования - на гитхаб. Моё мнение: результат неидеального качества, но это шаг в очень важном направлении, ибо хорошие парафразеры важны для кучи других задач NLU и NLG.

Creating an Aligned Russian Text Simplification Dataset from Language Learner Data. Авторы взяли книги для иностранцев на упрощённом русском языке и произвели выравнивание их абзацев с оригиналами книг на обычном русском. Получили параллельный корпус, где в более простой версии втрое меньше уникальных слов и вдвое короче предложения. Обучили на этом нейросетку для упрощения текстов, и вроде бы качество хорошее, но ни модель, ни корпус авторы пока не выложили, так что проверить сложно. Но если вам нужна симплификация для русского уже сейчас, берите дорожку с Диалога и модель Дани Анастасьева, занявшую первое место в этой дорожке.

Abusive Language Recognition in Russian. Авторы собрали датасет на 15К абзацев из Твиттера, субтитров к South park, и уже имеющегося датасета с Кэггла, и разметили его на предмет оскорбительности. На этом попробовали обучать разные модели, и tf-idf+SVM показал себя лучше, чем BERT. Видимо, токсичность на этом датасете сводится в основном к использованию плохих слов. Данные выложены, можно пользоваться. Впрочем, непонятно, насколько это лучше, чем данные из соревнования Одноклассников.

Detecting Inappropriate Messages on Sensitive Topics that Could Harm a Company’s Reputation - работа моих коллег по Сколтеху, в каком-то смысле дополняющая предыдущую. Задача - обезопасить диалоги с чатботом, научиться выделять в сообщениях потенциально опасные темы (от наркотиков и терроризма до боди шейминга и суицида), а также конкретные опасные предложения на эти темы. И в общем-то, это две разные задачи, поскольку не любое сообщение на опасную тему само по себе является опасным. Авторы собрали датасеты из двача и ответов mail.ru, пофильтровали эвристиками и разметили на Толоке. На этом обучили два BERTа, ими вполне можно пользоваться для фильтрации сообщений (скомбинировав их со стандартным фильтром на токсичную лексику).
380 views20:25
Открыть/Комментировать
2021-04-26 10:15:19 Яндекс продолжает набор на оплачиваемую летнюю стажировку по машинному обучению

Важно: отлично проявившие себя стажеры получат шанс перейти в штат!

Машинное обучение и нейронные сети исполь­зуются почти во всех ключевых про­дуктах Яндекса — от поиска и голосового помощника Алисы до беспилотных авто­мобилей. Вакансии для начинающих спе­циалистов есть в разных командах, так что интересных задач хватит на всех. Стажёры улучшают алгоритмы машинного обучения для рекламных сервисов, обучают и внедря­ют классификаторы поисковых запросов, разрабатывают инструменты для обучения нейронных сетей. И это только несколько примеров.

Сколько длится: от 3 до 6 месяцев. Занятость от 20 до 40 часов в неделю.

Где: Москва.
Если вы из другого города — Яндекс оплатит дорогу и проживание в Москве.

Что нужно уметь: будьте готовы объяснить, как обучается логистическая регрессия, зачем нужны композиции или в чём заключается метод обратного распространения ошибки. Вам предстоит также написать код, реализующий тот или иной алгоритм. Тут пригодятся знания из классического курса по машинному обучению. Кроме того, Яндекс может предложить конкретную бизнес-задачу — нужно будет придумать метрики и объяснить, как правильно подготовить данные.

Как проходит отбор: необходимо выполнить тестовое задание, пройти два-три технических интервью, а затем выбрать команду.

Подавайте заявку до 31 мая: https://clck.ru/UUcRf
377 viewsedited  07:15
Открыть/Комментировать