Small Data Science for Russian Adventurers
11.2K subscribers
296 photos
3 videos
13 files
699 links
БЕЗ ЧУЖОЙ РЕКЛАМЫ Авторский канал Александра Дьяконова (dyakonov.org)
машинное (machine learning) и
глубокое обучение (deep learning)
анализ данных (data mining)
наука о данных (data science)
ИИ (artificial intelligence)
математика (math)
и др.
ЕСТЬ ЧАТ;)
Download Telegram
#ссылки
Хороший образовательный ресурс про RL
https://spinningup.openai.com/en/latest/
(довольно известный, но в этом канале пока ссылки на него не было)
#визуализация
Сайт с очень красивыми визуализациями и небольшими исследованиями со сводными таблицами на темы экономики, торговли, технологий и демографии.
https://www.visualcapitalist.com
#вакансия
И совсем немного про работу мечты;) Всё-таки лето… пора подумать об улучшении морального климата, N-кратном увеличении зарплаты и адекватном руководстве.
В легендарную команду Дзен (где работают Андрей Зимовнов и Евгений Соколов) нужен целый руководитель исследовательской группы!
Возможно самая большая рекомендательная система в России, уникальная возможность опробовать мощные алгоритмы не на MovieLens и увидеть профит в АБ на десятках миллонов пользователях!
Вилка формально не указана, но она гигантская;)
Вакансия по ссылке:
https://yandex.ru/jobs/vacancies/руководитель-исследовательской-группы-в-дзен-9424
(Как обычно, не возбраняется накидать в комменты другие вкусные вакансии, но эта категорично одобрена создателем канала).
#идея
Странно, что при наличии кучи современных генеративных моделей нет соревнований по придумыванию «затравок» (prompt engineering). Например, есть какая-то модель/модели, пусть text2image, есть набор k изображений. Нужно придумать k затравок, чтобы k результатов были максимально похожи на изображения (параметры типа random_seed так же подбираются участниками). На время соревнования участники имеют доступ к модели, по крайней мере, к APIшке (можно делать ограничения на число обращений, но тут возникает соблазн нескольких аккаунтов, а так его нет). На prompt-ы логично ввести ограничения: по длине, например. Можно придумать метрику похожести, например, выпуклая комбинация L2-метрик в промежуточных пространствах VGG-шчки + метрика Гатиса для сравнения схожести стилей + много чего ещё (асессоров я бы не привлекал). На публичном лидерборде - зашумлённое качество по подмножеству изображений. Кстати, можно проводить соревнование в режиме «метрика участникам неизвестна» (тоже довольно любопытно и уравнивает шансы для профи / не профи).

Это позволит:
1 Популяризировать технологии среди тех, кому они реально могут пригодится.
2 Сделать соревнование для тех, кто «не знает питон», даже для детей.
3 Насобирать кучу приёмов генерации «затравок».
4 Сравнить разные генеративные модели на практике.
5 Дать доступ к генеративным моделям «сразу всем и для дела», а не избранным для инстаграмма.

И тут много чего можно придумать, в text2text ещё прикольнее… а можно усложнить «для тех кто знает питон»;)
Или что-то такое уже есть и я пропустил самое интересное?
#вопрос
Воскресная загадка…
Угадайте, кто изображён на фото. Подсказка: его второе имя - в честь высокой горы (точнее, в честь человека, именем которого назвали гору).
#книга
Терренс Сейновски «Антология машинного обучения. Важнейшие исследования в области ИИ за последние 60 лет»
Очень интересная - про развитие ИИ, центральных персон (фотка в предыдущем посте взята оттуда), эволюцию их взглядов. Никакой математики - просто описание событий и оценочные суждения. Спектр тем огромен - от клеточных автоматов до операционных систем и теории сознания (про каждую что-то написано и даны иллюстрации), но больше «в историческом ракурсе». Из минусов - оригинал 2018 года (т.е. современные достижения здесь не отражены, кстати дословное название оригинала «Революция глубокого обучения»).
#видео
Несколько месяцев назад принял участие в беседе на «Силы тока». Видео вышло только сейчас. Многие вопросы были похожи на те, что задавал Роман Васильев, но я изо всех сил старался, чтобы это получились разные беседы. Ещё тут специфика в более широкой аудитории, поэтому многое я старался объяснить с нуля или говорить не очень строго. Больше я пока в последние полгода никаких интервью не давал;)
https://youtu.be/3DOoeYB_k3c
#интересно
Любопытный факт: как появились лотереи. Из книги (кстати, очень хорошей) Джордана Элленберга «Как не ошибаться. Сила математического мышления»
#мысли

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

GPT-подобные модели просто грамотно продолжали текст - и это вполне себе впечатляет, т.к. такой чёрный ящик может, например, генерировать рассказ. Диалоговые трансформеры ещё дообучают на корпусах диалогов и они вполне адекватно отвечают. Но вот в последних поколениях диалоговых систем пошли дальше.
Вот Вам вопрос:
- Вы любите кофе?
Ответ "зелёный" - неадекватный, а "Да" - адекватный, но он всё равно плохой, т.к. не учитывает контекст.
Ответ "Нет, от него чернеют зубы" - учитывает, но и он может быть не очень хорошим, т.к. довольно банальный.
А вот ответ "Только африканский, он более полезен, как выяснили учёные из Калифорнии" небанальный, т.к. параллельно сообщает интересный факт.

Так вот, разработчики из гугла придумали меру качества SSI = sensibleness + specificity + interestingness (это как раз оценка "адекватность + контекст + интересность"), набрали выборку с помощь асессоров с SSI-метками и дотьюнили языковую модель оценивать SSI (и не только её). Дальше оценку SSI (и другие) можно использовать при генерации...

Короче, LaMDA не просто продолжает диалог, а "старается" делать это правильно, контекстно и интересно (а ещё не грубит и использует факты из внешних источников - и это всё "хорошая выборка" + учёт человеческого восприятия + finetuning). Конечно тут появятся мысли о сознании - не каждый человек так отвечает;)

П.С. Некоторые тьюнинги немного всё портят и выдают робота, например тьюнинг на т.н. Groundedness - подтверждение из авторитетных источников, т.к. бот начинает кидать ссылки на Wiki в свои сообщения:) Но, думаю, это легко исправить.
#задача
В комментариях спросили,
может ли быть F1-мера около 1, а ROC_AUC маленьким?
Отвечаю, может даже ROC_AUC=0!

Пусть у нас задача бинарной классификации, упорядочим объекты по убыванию оценки вероятности за класс 1, пусть их метки при этом упорядочены так:
0 1 ... 1 (один ноль и N-1 единица).
Если порог бинаризации выбрать так, что все объекты относятся к классу 1, тогда
Precision = (N - 1) / N
Recall = 1
A ROC_AUC тут = 0.
#история
Забавно, что практически всё в математике появляется из решения конкретных задач (а не из абстрактных умозаключений).
Вот как появились смеси распределений, ну и потом отсюда всякие EM-алгоритмы?

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

Странно, что крабовый датасет не стал таким же известным как ирисы Фишера.
#история
Ещё про исходные практические задачи...

Есть такая задача Бюффона о вероятности пересечения брошенной иголкой стыка на дощатом полу (предполагаются, что все доски равной ширины). Когда решают, то вместо иглы - отрезок, вместо стыков - параллельные прямые с одинаковым шагом. Задача известная, поскольку в ответе фигурирует число pi, т.е. его можно так приближённо вычислять: "бросая иголку на пол".

Всегда думал, что эта задача родилась просто из размышлений о пересечениях, иголка и пол тут для наглядности, но оказалось, что в 18 веке была такая азартная игра: на плиточный пол кидали какой-то предмет и смотрели, находится ли он внутри одной из плиток или пересекает границы плиток. Сначала кидали монетки, потом стали кидать всё, что в голову придёт:)

П.С. Из интересного: задача поставлена в 1733 году, а решена в 1777 (хотя сейчас лёгкая для математика-первокурсника), привела к появлению "Стохастической геометрии".
Вопрос по Python. Что выведется, если в ячейке питон-ноутбука набрать {True: 'да', 1: 'нет', 1.0: 'возможно'}?
Anonymous Quiz
32%
{True: 'да', 1: 'нет', 1.0: 'возможно'}
3%
{True: 'да', 1: 'нет'}
12%
{True: 'да', 1: 'возможно'}
5%
{True: 'да'}
20%
{True: 'возможно'}
27%
ошибка
#соревнование
На кэгле когда-то было соревнование Abstraction and Reasoning Challenge, очень классное по постановке задачи - научиться на нескольких примерах, чаще даже на одном (причём человек это точно делает с лёгкостью). На картинке пример подобной задачи: по левой картинке сделать правую. Соревнование хотят продолжить - будет ARC2, сейчас собирают выборку, сделали даже такую песочницу для составления датасета. Организатор - автор популярных книг Франсуа Шолле. Не смотря на простоту, очень нетривиально, классно придумано и заставляет не просто "тренировать нейронки"! Можно почитать решение победителя первого соревнования.
#код
В прошлом опросе по питону в комментариях есть ссылки на хорошие ресурсы. Большинство из них я использовал, когда когда-то готовил занятия по питону. Из "странностей" языка моя любимая, пожалуй, эта -
a = [lambda: i for i in range(3)]
b = [f() for f in a]
print (b)
(ниже опрос). Легко объясняется, но совсем нетривиальна до тех пор, пока сам не столкнёшься.
#книга
Недавно на ArXive появилась книга Benedikt Ahrens, Kobe Wullaert "Category Theory for Programming"
https://arxiv.org/pdf/2209.01259.pdf
По стилю напоминает конспект лекций, но сделана аккуратно, есть задания.

Есть книга со схожим названием Б. Милевски, уже давно переведённая на русский язык (но написана совсем по-другому, больше в сторону популярного учебника):
https://rdf.ru/files/bartozh-teorcat.pdf
#опрос
Недавно были опубликованы результаты опроса специалистов по обработке естественного языка. Интересно, что на подавляющее большинство вопросов примерно половина отвечает "да", а другая половина - "нет", т.е. в среднем специалисты ничего конкретного сказать не могут. Вот на картинке пример - статистика ответов на вопрос о понимании языка современными моделями.

Из мнений, где всё-таки есть консенсус:
- крутые статьи будут выходить из индустрии, а не академии,
- все слишком помешаны на бенчмарках ("побьём SotA-у любой ценой"),
- нужно больше взаимодействовать со смежными дисциплинами,
- NLP даёт и будет давать хороший вклад в науку.
#интересно
В прошлом месяце фейсбук выпустил новую "болталку" - BlenderBot 3 (доступна в США). Об этом уже многие писали, но пропустили одну фишку, которая мне понравилась. Бот состоит из модулей, каждый из которых решает определённую задачу. Например, есть модуль определения, нужно ли гуглить в интернете, чтобы ответить на вопрос пользователя. Есть модуль, который составляет запрос и гуглит. Такой же механизм применяется для определения: нужно ли что-то сохранять в память, что сохранять, нужно ли читать из памяти и что читать. А теперь самое интересное: при беседе можно понять, почему был дан такой ответ: какие модули были задействованы и как (пример на рисунке).

В целом, это неплохая идея для интерпретации сложных моделей: разбивать их на понятные блоки и показывать их функциональность по запросу.
#статистика
Топ российских AI-исследователей по версии этого ресурса. А самая цитируемая статья, у которой только российские авторы: Artem Babenko, Anton Slesarev, Alexandr Chigorin & Victor Lempitsky "Neural Codes for Image Retrieval" (ECCV 2014).