Техножрица 👩‍💻👩‍🏫👩‍🔧
14.1K subscribers
1.45K photos
66 videos
28 files
768 links
Люблю высокие технологии и кушать.

Добро пожаловать, если в сферу твоих интересов тоже входят математика, DL, NLP, программирование на Python, или тебе просто любопытно, о чем на досуге размышляют люди, занимающиеся разработкой и исследованиями в ML.
Download Telegram
Общеобразовательный пост для тех, кто подзабыл логарифмы.

---

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

Больше сведений про логарифмы и работу с ними можно узнать, например, из этого длинного видео: https://www.youtube.com/live/cEvgcoyZvB4?feature=share
А про биты и теорию информации можно узнать чуть больше, например, в этом получасовом видео:
https://youtu.be/v68zYyaEmEA

P.S. В последнем видео я допустила небольшую ошибку, сказав, что аргумент логарифма может быть равен нулю. На самом деле нужно брать аргумент строго больше нуля (см. https://en.m.wikipedia.org/wiki/Logarithm ), иначе результат уйдет в минус бесконечность.
P.P.S. Также в паре мест был ошибочно написан диапазон значений 0..2^(n-1) вместо 0..2^n-1.
P.P.P.S. В рассказе рассматривался логарифм с вещественными аргументами и значениями.

#школьная_математика
43👍9🥰1🙏1
Forwarded from DLStories
В этом посте хочу порассуждать на вот какую тему. Пару раз случалась такая ситуация: разбираю я в канале какую-то статью, которая использует новую интересную идею для решения задачи Х, но при этом до SOTA не дотягивает. И в комментариях иногда пишут: "ой ну это фуфло, вон модель Y эту задачу X намного лучше решает, метрики больше и все ей пользуются".

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

К такой ситуации есть хороший пример: машинный перевод. Сейчас все понимают, что эта задача решается нейросетями, внутри Google translate сидят крутятся нейронки. Но так было не всегда: до примерно 2015 года с этой задачей лучше справлялись phrase-based подходы, и в продакшене крутились именно они. И был огромный пласт людей, которые в нейронки в переводе совсем не верили, и продолжали улучшать phrase-based системы, хихикая над теми, кто пытался готовить нейронки.
Да и в vision домене ситуация была та же: до 2012 года много кто не верил, что нейронки смогут даже в классификацию картинок. На того же ЛеКуна косо смотрели, когда он начал продвигать свои CNN. А когда-то еще раньше смеялись над теми, что вообще начинал смотреть в сторону нейросетей.

Короче, если что-то пока работает плохо, это не значит, что оно фуфло и это надо выкинуть. Это надо сначала исследовать.

Еще я замечала в каком-то смысле "обратное" явление, когда люди быстро готовы выкинуть в окно старую технологию, когда появилась новая. Например, сейчас многие не хотят смотреть в сторону CNN, потому что есть трансформеры. Хотя CNN и трансформеры — это две совсем разные архитектуры, каждая со своими достоинствами и недостатками. И во многих моделях можно использовать их обе. В той же Stable Diffusion есть и свертки, и трансформеры.

К этому у меня есть такая история: в нашей школе DLSchool в конце семестра студенты делают проекты. Тему проекта можно выбрать из нескольких разных. Я несколько лет подряд курировала проект про автоэнкодеры. В нем студентам нужно было самостоятельно разобраться с устройством vanilla AE, VAE и Conditional VAE, написать код и поставить несколько экспериментов. И года 4 назад ко мне в личку приходили студенты со словами: "Здравствуйте. Думаю взять ваш проект, но меня смущает то, что автоэнкодеры же как бы устарели. Для генерации картинок теперь есть GAN. Зачем тогда AE?"
А посмотрите, что мы имеем сейчас. Часть Stable Diffusion — VQ-VAE. Или вспомним MAE, который положил начало развитию подходов masked image modeling. Или, например, новые подходы к нейросетевому сжатию изображений, многие из которых основаны на автоэнкодерах.

В общем, не спешите закапывать старое, если придумали что-то новое, которое в чем-то лучше этого старого. Оно вам обязательно пригодится. Особенно если это не узкоспециализированная модель, а такая базовая штука, как AE.

Ну и главная мысль поста такая: в науке нужно стараться быть максимально открытым к новому и не позволять себе думать, что ты уже все в своей области понимаешь и знаешь, что и как будет работать. А еще важно развивать в себе умение смотреть на проблему под разными углами.
👍53👌2
Презентация ВШЭ ТДА 2023 final.pdf
3.2 MB
https://youtu.be/RqV54_2wiEs

Доклад по статьям "Artificial Text Detection via Examining the Topology of Attention Maps" и "Intrinsic Dimension Estimation for Robust Detection of AI-Generated Texts" на семниаре Международной лаборатории алгебраической топологии и ее приложений.
Доклад не предполагает глубоких знаний по Deep Learning, но для понимания желательно знакомство с математическим аппаратом алгебраической топологии хотя бы на идейном уровне.

Докладчик - я.
Сайт лаборатории - https://cs.hse.ru/ata-lab/
Главные статьи, использованные в докладе: https://aclanthology.org/2021.emnlp-main.50/ , https://arxiv.org/abs/2306.04723
Слайды во вложении.

P.S. Спасибо @unfinity за загрузку на Ютуб.

#объяснения_статей
20👍12
Ребят, как устроен алгоритм, который показывает новости под строкой поиска в Google Chrome на Андроид?

Сколько бы я не нажимала на всратых новостях про Галкина и Пугачёву кнопку "скрыть", мне все равно потом показывают все новые и новые новости на эту тему. И это при том, что я никогда не кликаю на новости про этих конкретных персонажей и не ищу в поиске ничего про них.
Такое ощущение, что алгоритм вообще не реагирует на мои действия и просто консистентно показывает то, что, по мнению создателей, является первым приближением к интересам женщины за 30, родившейся где-то в SOVIET RUSSIA 🙂🙂🙂
Какой же рекомендательный алгоритм делает это приближение? Решающий пень? 🤔
Интересно, можно ли подать на разработчиков в суд за то, что их пень оскорбляет меня таким мнением о моих интересах и интеллектуальных способностях? 🤡

Рис. 1-4 - типичный ассортимент новостей.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁42🔥4🤡2😢1💯1
У нас в комментариях под этим постом: https://xn--r1a.website/tech_priestess/747 получается довольно интересная дискуссия о философии науки. Было бы интересно узнать больше мнений на эту тему.

P.S. Картинка для привлечения внимания к философским вопросам 🤡
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6🤡4👍2
Выложила в Линкедин новость про то, что наше исследование включили в программу Interspeech 2023 со всеми ссылками:

https://www.linkedin.com/posts/laida-kushnareva_interspeech-speechprocessing-tda-activity-7084488426594394113-3C5l/

(На самом деле, это произошло уже пару недель назад, но я то ли забыла написать, то ли постеснялась ☺️)
Очень волнуюсь, конечно, в связи с предстоящей конференцией: дадут ли визу (вчера наконец-то подала документы), будет ли мне хоть что-то понятно из чужих докладов на этой конфе (я ведь всё-таки больше специализируюсь на обработке текста), да и в целом, как коллеги по науке, занимающиеся обработкой речи, воспримут наш необычный подход.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥348👍5❤‍🔥1🤩1
Расскажу еще пару слов про исследование из поста выше, "Topological Data Analysis for Speech Processing" ( https://arxiv.org/abs/2211.17223 ).

Суть такова.
Мы подавали на вход модели HuBERT примеры из датасетов, затем извлекали для каждого примера с каждой ее головы матрицу внимания, а потом строили по матрице взвешенный граф. Затем мы считали от каждого такого графа нулевые баркоды. В случае того способа фильтрации, который мы выбрали в данной статье, нулевые баркоды показывают, как меняется количество компонентов связности в графе по мере того, как мы добавляем в него ребра сначала с большим весом, а потом с весами поменьше ( анимация: https://topohubert.github.io/speech-topology-webpages/tda/example_01.html ). Сумма баров в таком баркоде также равна сумме весов ребер в минимальном остовном дереве данного графа ( https://e-maxx.ru/algo/mst_kruskal ). Эту сумму мы в итоге использовали как некоторую характеристику связности графа. Кроме этого мы считали некоторые алгебраические характеристики самих матриц внимания, а также меру расхождения между представлениями (эмбеддингами) на разных слоях модели, называемую Representation Topology Divergence ( наглядный пример расчета: https://topohubert.github.io/speech-topology-webpages/tda/rtd_example.html ).
В итоге, для каждого примера из HuBERT извлекалось по несколько десятков чисел, которые содержали в себе различные свойства эмбеддингов этой модели. Дальше эти числа - признаки эмбеддингов - использовались как фичи для классификации (в этом аспекте статья похожа на статьи Artificial Text Detection via Examining the Topology of Attention Maps и Acceptability Judgements via Examining the Topology of Attention Maps).
Показывалось, что классификация по этим фичам, извлеченных из предобученной (но не файн-тюненной) модели, дает результат на нескольких задачах такой же или лучше, чем если просто затюнить на них саму модель. Среди задач были: детекция искуственно сгенерированной речи, распознавание эмоций, распознавание спикера и др. Отсюда выдвигается предположение, что предложенные нами признаки эмбеддингов действительно несут в себе информацию, полезную для решения данных задач и, более того, позволяют очень успешно утилизировать эту информацию. На одном из датасетов с эмоциями (CREMA-D) получился результат даже лучше известной нам SOTA.

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

#объяснения_статей
👍34🔥2🤯2💩21
Знаете, я ведь с детства любил наряжать куклы в разные платья. Кому-то больше подходит розовое, кому-то красное, а кто-то лучше выглядит в модных брюках-клеш. Моя любовь к нарядам помогает и в профессиональной сфере. Я представляю себе, что активации -- это кофточки, инициализация -- косметика, а оптимайзеры -- туфельки. Ведь оптимайзеры как обувь: где-то нужны резиновые сапоги, а где-то нежные, бархатные ботинки "прощай молодость"; а лернинг рейты как носочки: с начесом, для warmup начала; или грязные, вонючие, засохшие носки как константный шедулер.

Вообще, детство можно считать отправной точкой моей исследовательской карьеры. В детском саду я всегда старался обойти всех и найти самый быстрый путь к горшку. Вы спросите меня: какой смысл? Ведь они все стоят рядом и нет никакой существенной разницы! Но ведь разница сотых долей секунды была! Никогда не забуду того удовольствия, когда удавалось выбрать нужную траектори и поставить новый рекорд, занять позицию на тысячную долю секунды быстрее! Именно тогда я почуствовал истинный запах и вкус соты.

В школе друзей у меня не было, но зато учился я очень даже хорошо: в третьем классе я решил свою первую СЛАУ, в четвером узнал что такое производная и строил графики до одури, до онемения в пальзах, до сточенного в пыль карандаша. Долгое время моим воспитанием занималась бабушка. Бабушка был немногословной и очень строгой. Она никогда не рассказывала мне о том, как устроен мир. Она буквально воспитывала меня кнутом и пряником: я что-то пробовал, а в ответ получал либо удар, либо котлету. Тогда то я и почуствовал собственной шкурой горький вкус реварда.

Сдать ЕГЭ было проще простого. Я поступил в МФТИ. Знаете, мне очень нравилась местная атмосфера. Отчужденность от мира. Необычные люди. Завораживающее, дарующие чувство свободны, открытые окна.

На третьем курсе мне удалось найти свою первую стажировку. Опуская подробности, скажу лишь что это была одна из тысяч аутсорс галер. Именно тогда я сделал себе прививку от продакшена и зарекся никогда больше не катить в прод. Я вычеркнул из своей жизни букву D, оставив только жирную R. Мне кажется что каждый уважающий себя исследователь должен хоть раз сходить в плавание на dev галере, чтобы иметь опыт и право так или иначе высказываться по существу.

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

Свобода - в открытом оверлифе.
Весь мир - лаборатория.
Весь смысл - ресерч.
😁24🔥9👍5🤔3🤣3👎2
Интересное соревнование анонсировали на соревновательном треке NeurIPS 2023.
В нем нужно сделать такую эффективную имплементацию большой языковой модели, чтобы она сумела как можно лучше дообучиться за один день на одном GPU:
https://llm-efficiency-challenge.github.io/index
Submissions принимаются до 30 сентября.
А тут можно посмотреть формат submission для интересующихся:
https://github.com/llm-efficiency-challenge/neurips_llm_efficiency_challenge

-

Жалко, что в соревновании рассматривают только задачу дообучения, а не предобучения. Было бы интересно получить новые данные о том, насколько хорошо можно предобучить с нуля что-либо в таких условиях.
Например, как это сделали в этой статье:
https://aclanthology.org/2021.emnlp-main.831/
В ней за такой короткий срок предобучения смогли добиться качества, близкого к оригинальному BERT - правда, на сервере с несколькими GPU.
(Кстати, к вопросам о цитированиях: почему у этой статьи их всего лишь 50? Она опубликована в ACL Anthology и выглядит очень полезной для инженеров, а такие статьи обычно цитируют намного активнее. Почему эта работа не так сильно полюбилась? 🥺).
👍6🔥4🤡2
У меня не осталось никаких сомнений в том, кто автор паблика https://xn--r1a.website/ebaresearch
🔥31🤣123👍2👀2
Решила испытать возможности нового Kandinsky 2.2 в области смешивания пар изображений.

Больше о модели: https://habr.com/ru/companies/sberbank/articles/747446/
Больше о культурном феномене "ЖКХ АРТ": https://dvor.digital

#генерация
👍24😁10🔥53❤‍🔥3🥰1