Meta* обучили модель декодировать услышанную речь по активности мозга.
#paper
Что значит ”декодировать услышанную речь”:
Meta* взяли 169 человек и посадили их слушать треки с записью голоса. Во время прослушивания с помощью МЭГ и ЭЭГ замерялась активность их мозга. Так получился датасет пар “речь на аудио - запись активности мозга во время прослушивания этой речи”. И на этих данных обучили модель по активности мозга человека восстанавливать речь, которую человек слышит.
Архитектра модели проста как CLIP:
- прогоняем аудио через предобученный wave2vec. Это “языковая модель” для аудио. Получаем на выходе вектор-представление аудио;
- прогоняем М/ЭЭГ через сверточную нейросеть. Получаем вектор-представление активности мозга;
- на вектор аудио и вектор мозга навешиваем contrasive loss: лосс, который заставляет эти векторы быть как можно более похожими.
В такую обученную модель можно подать на вход запись М/ЭЭГ мозга, получить вектор-представление этой записи, и по нему восстановить речь. Результаты модели хороши: в среднем на разных датасетах top-10 segment-level accuracy получается около 50% (для сравнения, рандом давал бы 3%)
Ну, теперь можно и сказать, что "нейронка читает мысли” (с небольшими оговорками)))
Ссылки:
Блогпост
Статья
Новость изначально нашла здесь
*Организация признана экстремистской и ее деятельность запрещена на территории РФ
#paper
Что значит ”декодировать услышанную речь”:
Meta* взяли 169 человек и посадили их слушать треки с записью голоса. Во время прослушивания с помощью МЭГ и ЭЭГ замерялась активность их мозга. Так получился датасет пар “речь на аудио - запись активности мозга во время прослушивания этой речи”. И на этих данных обучили модель по активности мозга человека восстанавливать речь, которую человек слышит.
Архитектра модели проста как CLIP:
- прогоняем аудио через предобученный wave2vec. Это “языковая модель” для аудио. Получаем на выходе вектор-представление аудио;
- прогоняем М/ЭЭГ через сверточную нейросеть. Получаем вектор-представление активности мозга;
- на вектор аудио и вектор мозга навешиваем contrasive loss: лосс, который заставляет эти векторы быть как можно более похожими.
В такую обученную модель можно подать на вход запись М/ЭЭГ мозга, получить вектор-представление этой записи, и по нему восстановить речь. Результаты модели хороши: в среднем на разных датасетах top-10 segment-level accuracy получается около 50% (для сравнения, рандом давал бы 3%)
Ну, теперь можно и сказать, что "нейронка читает мысли” (с небольшими оговорками)))
Ссылки:
Блогпост
Статья
Новость изначально нашла здесь
*Организация признана экстремистской и ее деятельность запрещена на территории РФ
👍37🤯16🔥9🤔2👎1💩1
Рубрика #ai_fun:
Во Франции любое улучшение жилого дома — добавление бассейна, веранды, подвала, etc. — увеличивает налог, который за этот дом нужно платить. Логика такая: бассейн/веранда увеличивает рыночную стоимость дома, поэтому и налог должен браться больше. Многие, конечно, налоги платить не хотят (а бассейн хотят), поэтому ставят себе бассейны и веранды, но властям об этом не говорят.
Так вот, Google совместно с Capgemini разработали для полиции Франции тулзу, которая по фото со спутника находит бассейны (aka синие квадратики) во дворах жилых домов. Алгоритм протестировали, и нашли около 20.000 нелегальных бассейнов: это примерно €10 млн налогов🥲
Алгоритм далее планируют расширить на другие виды построек — веранды и прочее (нужно больше налогов!) Работает это все неидеально, конечно: бассейны иногда путаются с солнечными панелями, а веранды — с тентами. Но мотивация у рисерчеров и у полиции есть, так что верю, что скоро метод улучшат)
Источник: The Guardian
Во Франции любое улучшение жилого дома — добавление бассейна, веранды, подвала, etc. — увеличивает налог, который за этот дом нужно платить. Логика такая: бассейн/веранда увеличивает рыночную стоимость дома, поэтому и налог должен браться больше. Многие, конечно, налоги платить не хотят (а бассейн хотят), поэтому ставят себе бассейны и веранды, но властям об этом не говорят.
Так вот, Google совместно с Capgemini разработали для полиции Франции тулзу, которая по фото со спутника находит бассейны (aka синие квадратики) во дворах жилых домов. Алгоритм протестировали, и нашли около 20.000 нелегальных бассейнов: это примерно €10 млн налогов🥲
Алгоритм далее планируют расширить на другие виды построек — веранды и прочее (нужно больше налогов!) Работает это все неидеально, конечно: бассейны иногда путаются с солнечными панелями, а веранды — с тентами. Но мотивация у рисерчеров и у полиции есть, так что верю, что скоро метод улучшат)
Источник: The Guardian
👍45🤮30😢17👎11😁11🔥8💩7🥱2
Смотрите, что мне на почту физтеха пришло: Яндекс проводит онлайн-фестиваль для школьников о современных технологиях и IT-профессиях (об AI, короче)
Фестиваль рассчитан на школьников 5-11 классов, но взрослым тоже может быть интересно. Мне, например, интересно с точки зрения “как рассказывать об AI школьникам, чтобы было увлекательно”
Темы лекций — на картинке к посту.
Также обещают квизы, призы и мастер-классы. Фестиваль со вчера уже идет, так что многие видео уже доступны в записи на YouTube (тыкайте на лекцию на сайте)
Сайт фестиваля
#learning
Фестиваль рассчитан на школьников 5-11 классов, но взрослым тоже может быть интересно. Мне, например, интересно с точки зрения “как рассказывать об AI школьникам, чтобы было увлекательно”
Темы лекций — на картинке к посту.
Также обещают квизы, призы и мастер-классы. Фестиваль со вчера уже идет, так что многие видео уже доступны в записи на YouTube (тыкайте на лекцию на сайте)
Сайт фестиваля
#learning
👍25💩1
Тут недавно вышли статьи про сразу две новые версии YOLO — YOLO-v6 и YOLO-v7. Статьи от разных авторов (хоть все и из Китая).Причем версия v7 вышла раньше: в июле, когда как статья по v6 была залита на arxiv вчера, а последний коммит в репо гитхаба был сделан 9 часов назад. Очень интересно, почему авторы v7 решили скипнуть шестую версию, но да ладно)
На всякий случай: YOLO — это сверточная модель для задачи object detection. Об идее работы YOLO можно прочитать тут. Также у нас в DLS есть цикл видео о решении задачи object detection.
Все версии YOLO (v3 - … - v7) основаны на общей идее, а отличаются разными улучшениями для повышения эффективности. Под эффективностью я имею в виду трейд-офф “accuracy-скорость на инференсе”. Т.е. хочется сделать так, чтобы и accuracy детекции был на высоте, и скорость работы в реал-тайме при этом не сильно страдала.
Так воот, авторы YOLO-v6 и v7, кажется, в своих работах обратили внимание на все возможные способы улучшения эффективности, обширно их поисследовали, и из лучших идей собрали свои модельки. Вот что крутили, чтобы получить лучший результат:
- различные лосс-функции для классификации и локализации (v6);
- добавление новой лосс-функции для дополнительного выхода сети (v7);
- техники для квантизации (v6);
- репараметризация (v6, v7);
- техники для label assignment (v6, v7);
- model scaling (это техники изменения размера модели для подстройки под разные девайсы. Включает изменение количества слоев сети, разрешение входящей картинки и т.д.) (v7);
- self-distillation и исследование влияния количества эпох обучения на итоговый результат (v6);
- подбор архитектуры модели (v6, v7);
Последний пункт — подбор архитектуры модели — самый интересный. Как мы знаем, нейросети в основном имеют блочную архитектуру. т.е. модель состоит из нескольких последовательных блоков слоев одинаковой структуры. Авторы YOLO-v7 предлагают новое хитрое устройство сверточного блока нейросети: такое, которое позволяет сверточным слоям блока выучивать как можно более разнообразные и полезные фичи. При этом количество параметров блока получается небольшим, что позволяет значительно ускорить инференс сети. Короче, получается эффективная структура “выучиваем хорошие фичи и получаем хороший accuracy, используя малое количество параметров, т.е. сохраняя высокую скорость работы.” Схему устройства блока можно найти в статье.
Назвали они такое устройство блока E-ELAN. Забавный момент: авторы устверждают, что это расширение блока ELAN, который был предложен в работе “Designing network design strategies” неизвестным автором. У них в цитированиях так и написано:
[1] anonymous. Designing network design strategies. anonymous submission, 2022.
Я это штуку пыталась гуглить, но что-то не нашла(
Вот как-то так. По результатам, зарепорченным в статьях, две новые версии YOLO действительно хороши: работают сравнительно одинаково между собой, и чуть лучше по accuracy и сильно лучше по скорости остальных аналогов. В обеих статьях приводятся таблицы с результататами экспериментов разных версий моделей на разных процессорах с информацией о FPS, FLOPs и Latency. Ну и в обе модельки можно потыкаться самому, и самому решить, какая лучше: для обеих моделей есть веса и код на гитхабе с простыми инструкциями к запуску.
Ссылки:
YOLO-v7:
Статья GitHub Colab
YOLO-v6:
Статья GitHub
#paper
P.S. В комментах скинули ссылку на гайд по YOLO-v7. Там еще есть интересная информация о том, как выходили разные версии YOLO и как образовывалась нумерация. Оказывается, существуют две версии как v6, так и v7!
На всякий случай: YOLO — это сверточная модель для задачи object detection. Об идее работы YOLO можно прочитать тут. Также у нас в DLS есть цикл видео о решении задачи object detection.
Все версии YOLO (v3 - … - v7) основаны на общей идее, а отличаются разными улучшениями для повышения эффективности. Под эффективностью я имею в виду трейд-офф “accuracy-скорость на инференсе”. Т.е. хочется сделать так, чтобы и accuracy детекции был на высоте, и скорость работы в реал-тайме при этом не сильно страдала.
Так воот, авторы YOLO-v6 и v7, кажется, в своих работах обратили внимание на все возможные способы улучшения эффективности, обширно их поисследовали, и из лучших идей собрали свои модельки. Вот что крутили, чтобы получить лучший результат:
- различные лосс-функции для классификации и локализации (v6);
- добавление новой лосс-функции для дополнительного выхода сети (v7);
- техники для квантизации (v6);
- репараметризация (v6, v7);
- техники для label assignment (v6, v7);
- model scaling (это техники изменения размера модели для подстройки под разные девайсы. Включает изменение количества слоев сети, разрешение входящей картинки и т.д.) (v7);
- self-distillation и исследование влияния количества эпох обучения на итоговый результат (v6);
- подбор архитектуры модели (v6, v7);
Последний пункт — подбор архитектуры модели — самый интересный. Как мы знаем, нейросети в основном имеют блочную архитектуру. т.е. модель состоит из нескольких последовательных блоков слоев одинаковой структуры. Авторы YOLO-v7 предлагают новое хитрое устройство сверточного блока нейросети: такое, которое позволяет сверточным слоям блока выучивать как можно более разнообразные и полезные фичи. При этом количество параметров блока получается небольшим, что позволяет значительно ускорить инференс сети. Короче, получается эффективная структура “выучиваем хорошие фичи и получаем хороший accuracy, используя малое количество параметров, т.е. сохраняя высокую скорость работы.” Схему устройства блока можно найти в статье.
Назвали они такое устройство блока E-ELAN. Забавный момент: авторы устверждают, что это расширение блока ELAN, который был предложен в работе “Designing network design strategies” неизвестным автором. У них в цитированиях так и написано:
[1] anonymous. Designing network design strategies. anonymous submission, 2022.
Я это штуку пыталась гуглить, но что-то не нашла(
Вот как-то так. По результатам, зарепорченным в статьях, две новые версии YOLO действительно хороши: работают сравнительно одинаково между собой, и чуть лучше по accuracy и сильно лучше по скорости остальных аналогов. В обеих статьях приводятся таблицы с результататами экспериментов разных версий моделей на разных процессорах с информацией о FPS, FLOPs и Latency. Ну и в обе модельки можно потыкаться самому, и самому решить, какая лучше: для обеих моделей есть веса и код на гитхабе с простыми инструкциями к запуску.
Ссылки:
YOLO-v7:
Статья GitHub Colab
YOLO-v6:
Статья GitHub
#paper
P.S. В комментах скинули ссылку на гайд по YOLO-v7. Там еще есть интересная информация о том, как выходили разные версии YOLO и как образовывалась нумерация. Оказывается, существуют две версии как v6, так и v7!
🔥38👍16🤮1
15 сентября, 18:00
Selectel ML MeetUp: проблемы ML команд в 2022
#промо
Присоединяйтесь к ежегодному митапу от @Selectel, где мы поговорим об актуальных сложностях, трендах и инструментах построения production ML-систем.
Что обсудим:
◽️ Подготовку инфраструктуры для внедрения ML-инструментов.
◽️ Состояние российского рынка ML.
◽️ Новые Data/ML-продукты Selectel.
◽️ Кейсы наших партнеров и гостей митапа.
Все участники получат запись сессии и смогут принять участие в розыгрыше приза за лучший вопрос.
Регистрируйтесь на офлайн-встречу в Санкт-Петербурге: https://slc.tl/bgj91
Регистрируйтесь на онлайн-трансляцию: https://slc.tl/80ejv
Selectel ML MeetUp: проблемы ML команд в 2022
#промо
Присоединяйтесь к ежегодному митапу от @Selectel, где мы поговорим об актуальных сложностях, трендах и инструментах построения production ML-систем.
Что обсудим:
◽️ Подготовку инфраструктуры для внедрения ML-инструментов.
◽️ Состояние российского рынка ML.
◽️ Новые Data/ML-продукты Selectel.
◽️ Кейсы наших партнеров и гостей митапа.
Все участники получат запись сессии и смогут принять участие в розыгрыше приза за лучший вопрос.
Регистрируйтесь на офлайн-встречу в Санкт-Петербурге: https://slc.tl/bgj91
Регистрируйтесь на онлайн-трансляцию: https://slc.tl/80ejv
👍8👎1
CV модели — будь то CNN, MLP или ViT — плохо скейлятся под картинки больших размеров. Чем больше разрешение входного изображения, с которым должна работать модель, тем больше параметров ей нужно: вычислительная сложность моделей растет квадратично при росте размеров входных изображений. Их становится сложнее обучать, а время инференса оставляет желать лучшего.
Google придумал простую идею, как бороться с этой проблемой в attention-based CV моделях. Идея — модифицировать attention так, чтобы он требовал меньшее количество параметров.
В ViT использовался full-size attention: в нем каждый пиксель получает информацию от абсолютно всех остальных пикселей картинки. В Google заменили этот attention композицией двух других: block attention + grid attention = multi-axis attention. Такая замена серьезно уменьшает количество параметров у attention при обработке картинок большого размера, не теряя при этом в качестве.
Устройство multi-axis attention — на картинке к посту.
- При block attention картинка разбивается на окна фиксированного размера. Локально внутри каждого окна применяется self-attention. Каждый пиксель окна получает информацию от всех остальных пикселей окна.
- При grid attention картинка разбивается на решетки. Пиксели одного цвета на картинке к посту образуют одну решетку. Локально внутри каждой решетки применяется self-attention. Каждый пиксель решетки получает информацию от всех остальных пикселей этой же решетки.
Блок FFN между двумя attention — это feed-forward neural network.
Google применил эту идею к ViT и MLP и получил две модели — MaxViT и MAXIM (Multi-Axis MLP for Image Processing).
- MaxViT берет SOTA на задачах классификации, детекции, сегментации и генерации изображений. Количество параметров при этом в два раза меньше, чем у ближайших конкурентов.
- MAXIM получает сравнимые с SOTA результаты задачах denoising, deblurring, dehazing, deraining, имея при этом значительно меньше параметров, чем другие модели.
Ссылки:
Блогпост Google AI
MaxViT: статья, GitHub
MAXIM: статья, GitHub
#paper
Google придумал простую идею, как бороться с этой проблемой в attention-based CV моделях. Идея — модифицировать attention так, чтобы он требовал меньшее количество параметров.
В ViT использовался full-size attention: в нем каждый пиксель получает информацию от абсолютно всех остальных пикселей картинки. В Google заменили этот attention композицией двух других: block attention + grid attention = multi-axis attention. Такая замена серьезно уменьшает количество параметров у attention при обработке картинок большого размера, не теряя при этом в качестве.
Устройство multi-axis attention — на картинке к посту.
- При block attention картинка разбивается на окна фиксированного размера. Локально внутри каждого окна применяется self-attention. Каждый пиксель окна получает информацию от всех остальных пикселей окна.
- При grid attention картинка разбивается на решетки. Пиксели одного цвета на картинке к посту образуют одну решетку. Локально внутри каждой решетки применяется self-attention. Каждый пиксель решетки получает информацию от всех остальных пикселей этой же решетки.
Блок FFN между двумя attention — это feed-forward neural network.
Google применил эту идею к ViT и MLP и получил две модели — MaxViT и MAXIM (Multi-Axis MLP for Image Processing).
- MaxViT берет SOTA на задачах классификации, детекции, сегментации и генерации изображений. Количество параметров при этом в два раза меньше, чем у ближайших конкурентов.
- MAXIM получает сравнимые с SOTA результаты задачах denoising, deblurring, dehazing, deraining, имея при этом значительно меньше параметров, чем другие модели.
Ссылки:
Блогпост Google AI
MaxViT: статья, GitHub
MAXIM: статья, GitHub
#paper
👍40🔥13
Прислала подписчица: 28 сентября (среда) в Стэнфорде пройдет воркшоп о графовых нейросетях.
Тизер:
“This workshop will bring together leaders from academia and industry to showcase recent methodological advances of Graph Neural Networks, a wide range of applications to different domains as well as machine learning frameworks and practical challenges for large-scale training and deployment of graph-based machine learning models.”
Список спикеров и темы докладов смотрите на сайте воркшопа.
Трансляция будет идти онайн с 18:00 28.09 по 03:00 29.09 МСК (08:00 - 17:00 Pacific Time). Чтобы смотреть в прямом эфире, нужно зарегистрироваться тут.
Вроде бы потом обещают выложить запись.
#learning
Тизер:
“This workshop will bring together leaders from academia and industry to showcase recent methodological advances of Graph Neural Networks, a wide range of applications to different domains as well as machine learning frameworks and practical challenges for large-scale training and deployment of graph-based machine learning models.”
Список спикеров и темы докладов смотрите на сайте воркшопа.
Трансляция будет идти онайн с 18:00 28.09 по 03:00 29.09 МСК (08:00 - 17:00 Pacific Time). Чтобы смотреть в прямом эфире, нужно зарегистрироваться тут.
Вроде бы потом обещают выложить запись.
#learning
👍23🔥4
Интересный цикл постов у Бориса в канале по поводу поиска работы в IT. Рассуждения, мысли и советы о том, как проходить собеседования и торговаться за зп, + личный (успешный) опыт недавнего поиска работы. Даже отсылка к теории игр в теме зарплаты есть) Не скажу, что разделяю прямо все мысли, но почитать и задуматься над парой идей (а может, применить?) может быть интересно.
Читать отсюда
Читать отсюда
👍25🔥5❤2🤮1
Ребята, я тут вторую статью на Хабр написала (первая была вот). Статья об одном важном отличии человека от ИИ — структурном восприятии мира.
Тизер:
В этой статье я расскажу об одном из самых важных отличий человеческого мышления от того, как работают нейросети: о структурном восприятии мира. Мы поймем, как это отличие мешает ИИ эффективно решать многие задачи, а также поговорим об идеях, как можно внедрить в нейросети понимание структуры. В том числе обсудим недавние работы таких известных в области AI людей, как Джеффри Хинтон и Ян ЛеКун.
Эта работа — попытка собрать воедино все те мысли по теме структуры и ИИ, которые крутились у меня в голове в течение длительного времени. Начала я статью писать еще год назад, когда сидела разбиралась с графовыми нейросетями. Тогда же примерно вышла и работа Хинтона, в которой тема иерархической структуры — одна из главных. В последнее время интерес к теме “как бы внедрить в нейросети структурное восприятие” также не угасает: например, совсем недавно ЛеКун также выпустил работу об AGI (artificial general intelligence), в которой одна из центральных тем — иерархическое восприятие мира.
В своей статье я постаралась показать, насколько эффективным механизм структурного восприятия делает взаимодействие человека с миром, и почему очень хочется научиться понимание структуры в нейросети внедрять. А также то, почему сделать это — довольно сложно.
Статья получилась довольно длинной, но по-другому я не умею =)
Статья вот. Буду благодарна за прочтение и обратную связь!
#ai_inside
Тизер:
В этой статье я расскажу об одном из самых важных отличий человеческого мышления от того, как работают нейросети: о структурном восприятии мира. Мы поймем, как это отличие мешает ИИ эффективно решать многие задачи, а также поговорим об идеях, как можно внедрить в нейросети понимание структуры. В том числе обсудим недавние работы таких известных в области AI людей, как Джеффри Хинтон и Ян ЛеКун.
Эта работа — попытка собрать воедино все те мысли по теме структуры и ИИ, которые крутились у меня в голове в течение длительного времени. Начала я статью писать еще год назад, когда сидела разбиралась с графовыми нейросетями. Тогда же примерно вышла и работа Хинтона, в которой тема иерархической структуры — одна из главных. В последнее время интерес к теме “как бы внедрить в нейросети структурное восприятие” также не угасает: например, совсем недавно ЛеКун также выпустил работу об AGI (artificial general intelligence), в которой одна из центральных тем — иерархическое восприятие мира.
В своей статье я постаралась показать, насколько эффективным механизм структурного восприятия делает взаимодействие человека с миром, и почему очень хочется научиться понимание структуры в нейросети внедрять. А также то, почему сделать это — довольно сложно.
Статья получилась довольно длинной, но по-другому я не умею =)
Статья вот. Буду благодарна за прочтение и обратную связь!
#ai_inside
Хабр
Структурное мышление или важное отличие человека от ИИ
В этой статье я расскажу об одном из самых важных отличий человеческого мышления от того, как работают нейросети: о структурном восприятии мира. Мы поймем, как это отличие мешает ИИ эффективно решать...
🔥63👍19❤16
Продолжаем осенний марафон курсов. Сегодня аж две штуки:
#learning
- Курс по Deep Learning от Яна ЛеКуна в NYU. Этот курс — не об основах DL. Он для тех, кто уже разобрался в основах и хочет углубить знания. Темы охватывают последние достижения в областях deep learning и representation learning с более общего ракурса, чем это обычно принято в стандартных курсах. Основные темы:
- parameter sharing в разных архитектурах;
- energy-based models;
- assosiative memories;
- graphs;
- control.
Видео лекций и семинарские ноутбуки доступны на странице курса. За ссылку на курс спасибо подписчику)
- ODS и Huawei запускают новый поток курса по NLP. В курсе — основные темы NLP (embeddings, RNN, CNN, Transformers). Подробнее о курсе и преподавателях можно прочитать в статье на Хабре. Зарегистрироваться — на странице курса (первое занятие уже было вчера!). Об этом курсе узнала отсюда.
#learning
- Курс по Deep Learning от Яна ЛеКуна в NYU. Этот курс — не об основах DL. Он для тех, кто уже разобрался в основах и хочет углубить знания. Темы охватывают последние достижения в областях deep learning и representation learning с более общего ракурса, чем это обычно принято в стандартных курсах. Основные темы:
- parameter sharing в разных архитектурах;
- energy-based models;
- assosiative memories;
- graphs;
- control.
Видео лекций и семинарские ноутбуки доступны на странице курса. За ссылку на курс спасибо подписчику)
- ODS и Huawei запускают новый поток курса по NLP. В курсе — основные темы NLP (embeddings, RNN, CNN, Transformers). Подробнее о курсе и преподавателях можно прочитать в статье на Хабре. Зарегистрироваться — на странице курса (первое занятие уже было вчера!). Об этом курсе узнала отсюда.
👍43❤7👎1🔥1
Media is too big
VIEW IN TELEGRAM
Смотрите, какая штука стала популярной в Твиттере: Adept.ai обещают выпустить ATC-1: крутого диджитал-помощника на основе Transformer
ACT-1 — это расширение в Google Chrome. В небольшом окошке нужно ввести текст-описание того, что вы хотите сделать. Например, "найти дом в Сан Франциско для 4 человек с бюджетом до $600k” или “найти инфу, сколько раз Ди Каприо получал Оскар”. ACT-1 за вас проделает в браузере ту последовательность действий, которую сделал бы человек для реализации задачи. Пример работы — на видео к посту.
Короче, это как продвинутая Siri, только запросы вводятся (пока что) текстом и они могут быть довольно сложные. Дальше обещают добавить возможность уточнять запросы и даже учить ACT-1 делать действия, которые у нее не получаются. Например, научить ее использовать новую формулу в Excel или пользоваться поиском на новой веб-странице.
Судя по всему, ребята собрали датасет пар вида “текстовое описание действия в браузере — последовательность действий”, обучили на нем Transformer и поколдовали над скоростью инференса. Подробный технический пост скоро обещают. Мне лично интересно, как получилось собрать достаточное количество разнообразных данных, чтобы можно было так хорошо натренировать модель (если она действительно работает так хорошо, как выглядит на видео).
Вообще, adept.ai — лаба, основанная выходцами из Google Research и DeepMind. Двое из них в 2017 приложили руку к появлению на свет модели Transformer (первый и третий авторы статьи!). Так что я верю, что ACT-1 действительно работает и жду релиза) Почитать о создателях и истории Adept можно тут.
А в целом Adept заявляют, что они создают general intelligence. Посмотрим, как пойдет)
Ссылки:
Скоро должна выйти альфа-версия ACT-1, записаться в waitlist можно тут.
А на сайте — больше видео-демок работы ACT
ACT-1 — это расширение в Google Chrome. В небольшом окошке нужно ввести текст-описание того, что вы хотите сделать. Например, "найти дом в Сан Франциско для 4 человек с бюджетом до $600k” или “найти инфу, сколько раз Ди Каприо получал Оскар”. ACT-1 за вас проделает в браузере ту последовательность действий, которую сделал бы человек для реализации задачи. Пример работы — на видео к посту.
Короче, это как продвинутая Siri, только запросы вводятся (пока что) текстом и они могут быть довольно сложные. Дальше обещают добавить возможность уточнять запросы и даже учить ACT-1 делать действия, которые у нее не получаются. Например, научить ее использовать новую формулу в Excel или пользоваться поиском на новой веб-странице.
Судя по всему, ребята собрали датасет пар вида “текстовое описание действия в браузере — последовательность действий”, обучили на нем Transformer и поколдовали над скоростью инференса. Подробный технический пост скоро обещают. Мне лично интересно, как получилось собрать достаточное количество разнообразных данных, чтобы можно было так хорошо натренировать модель (если она действительно работает так хорошо, как выглядит на видео).
Вообще, adept.ai — лаба, основанная выходцами из Google Research и DeepMind. Двое из них в 2017 приложили руку к появлению на свет модели Transformer (первый и третий авторы статьи!). Так что я верю, что ACT-1 действительно работает и жду релиза) Почитать о создателях и истории Adept можно тут.
А в целом Adept заявляют, что они создают general intelligence. Посмотрим, как пойдет)
Ссылки:
Скоро должна выйти альфа-версия ACT-1, записаться в waitlist можно тут.
А на сайте — больше видео-демок работы ACT
👍24🔥11🤔8💩1
Пару дней назад аж в двух тг-каналах увидела новость вида:
“”
Если не остановить разработки, AGI почти наверняка убьет человечество.
Заключение практиков DeepMind и Оксфорда оказалось хуже худших прогнозов философов.
””
Стало интересно, что же там за работа от DeepMind и Оксфорда такая. Работа вот. Прочитала. Ее общая идея формулируется так: “RL-агенты будущего могут начать вмешиваться в процесс передачи вознаграждения” (а не что человечеству точно кирдык). Подробнее, вот что это значит:
Вспомним общую парадигму RL. Там есть агент и среда, с которой агент взаимодействует. У агента есть набор возможных действий, которые он может совершать. Когда агент совершает действие, среда генерирует вознаграждение агенту и новое состояние среды. Задача агента — выработать такую политику действий (механизм принятия решения, в какой момент какие действия совершать), чтобы максимизировать вознаграждение.
У современных RL-агентов набор действий, которые они могут совершать, строго ограничен. Например, агент-бот в игре “змейка” умеет только 4 действия: поворачивать влево-вправо-вперед-назад. Поэтому ни у кого не возникает и мысли, что такой агент может выйти из-под контроля и поработить мир: ему просто нечем.
А представим теперь “продвинутого” RL-агента, которого человечество создаст в будущем. Продвинутый RL-агент будет взаимодействовать с реальным миром, решать многие задачи не хуже человека, а его пространство действий будет не ограничено. Обучать такого агента мы все еще будем, поставляя ему информацию о величине вознаграждения после каждого его действия. Тогда, утверждают авторы статьи, RL-агент может выработать такую политику действий, которая будет изменять сам процесс получения вознаграждения агентом.
Чтобы лучше понять, что имеется в виду, рассмотрим пример из статьи:
Пусть после каждого действия агента некий компьютер высчитывает вознаграждение и показывает его на экране. Пусть это будет число от 0 до 1: 0 — оч плохо, 1 — оч хорошо. Агент получает информацию о вознаграждении из камеры, которая направлена на этот компьютер. Мы, конечно, хотим научить агента выполнять такие действия, чтобы максимизировать число, которое выводит компьютер. Но если агент слишком умный (т.е. его пространство действий не ограничено и он обладает достаточными познаниями о среде), то он может додуматься сделать следующее: вместо того чтобы честно стараться подбирать действия, максимизирующие число на экране, просто взять повесить на экран бумажку, на которой написано число 1. Тогда камера всегда будет видеть бумажку вместо экрана, и агент будет всегда получать reward=1. Задача выполнена.
Можно придумать кучу аналогичных примеров, более связанных с реальной жизнью. А еще — более пугающих. К примеру, пусть информацию о величине вознаграждения агенту передает живой человек. Такой сценарий легко представить, к примеру, если RL-агент — это ваш робот-дворецкий (как в Fallout =) ), и вы голосом сообщаете ему о том, хорошо ваш дворецкий поступил или нет. Если робот сжег пирог, вы его ругаете: надеетесь, что он обучится готовить лучше. Так вот, так как цель агента — все еще максимизировать reward, то он может решить не учиться готовить, а убить вас и заменить другим роботом, который будет всегда сообщать ему похвалу (такого робота RL-агент может собрать сам).
Вот такие вот околофилософские рассуждения ребят из Оксфорда и DeepMind и вызвали заголовки вроде “ИИ опасен для человечества”. В следующем посте — пара мыслей о том, насколько это действительно пугающе и плохо ⬇️
#ai_inside
“”
Если не остановить разработки, AGI почти наверняка убьет человечество.
Заключение практиков DeepMind и Оксфорда оказалось хуже худших прогнозов философов.
””
Стало интересно, что же там за работа от DeepMind и Оксфорда такая. Работа вот. Прочитала. Ее общая идея формулируется так: “RL-агенты будущего могут начать вмешиваться в процесс передачи вознаграждения” (а не что человечеству точно кирдык). Подробнее, вот что это значит:
Вспомним общую парадигму RL. Там есть агент и среда, с которой агент взаимодействует. У агента есть набор возможных действий, которые он может совершать. Когда агент совершает действие, среда генерирует вознаграждение агенту и новое состояние среды. Задача агента — выработать такую политику действий (механизм принятия решения, в какой момент какие действия совершать), чтобы максимизировать вознаграждение.
У современных RL-агентов набор действий, которые они могут совершать, строго ограничен. Например, агент-бот в игре “змейка” умеет только 4 действия: поворачивать влево-вправо-вперед-назад. Поэтому ни у кого не возникает и мысли, что такой агент может выйти из-под контроля и поработить мир: ему просто нечем.
А представим теперь “продвинутого” RL-агента, которого человечество создаст в будущем. Продвинутый RL-агент будет взаимодействовать с реальным миром, решать многие задачи не хуже человека, а его пространство действий будет не ограничено. Обучать такого агента мы все еще будем, поставляя ему информацию о величине вознаграждения после каждого его действия. Тогда, утверждают авторы статьи, RL-агент может выработать такую политику действий, которая будет изменять сам процесс получения вознаграждения агентом.
Чтобы лучше понять, что имеется в виду, рассмотрим пример из статьи:
Пусть после каждого действия агента некий компьютер высчитывает вознаграждение и показывает его на экране. Пусть это будет число от 0 до 1: 0 — оч плохо, 1 — оч хорошо. Агент получает информацию о вознаграждении из камеры, которая направлена на этот компьютер. Мы, конечно, хотим научить агента выполнять такие действия, чтобы максимизировать число, которое выводит компьютер. Но если агент слишком умный (т.е. его пространство действий не ограничено и он обладает достаточными познаниями о среде), то он может додуматься сделать следующее: вместо того чтобы честно стараться подбирать действия, максимизирующие число на экране, просто взять повесить на экран бумажку, на которой написано число 1. Тогда камера всегда будет видеть бумажку вместо экрана, и агент будет всегда получать reward=1. Задача выполнена.
Можно придумать кучу аналогичных примеров, более связанных с реальной жизнью. А еще — более пугающих. К примеру, пусть информацию о величине вознаграждения агенту передает живой человек. Такой сценарий легко представить, к примеру, если RL-агент — это ваш робот-дворецкий (как в Fallout =) ), и вы голосом сообщаете ему о том, хорошо ваш дворецкий поступил или нет. Если робот сжег пирог, вы его ругаете: надеетесь, что он обучится готовить лучше. Так вот, так как цель агента — все еще максимизировать reward, то он может решить не учиться готовить, а убить вас и заменить другим роботом, который будет всегда сообщать ему похвалу (такого робота RL-агент может собрать сам).
Вот такие вот околофилософские рассуждения ребят из Оксфорда и DeepMind и вызвали заголовки вроде “ИИ опасен для человечества”. В следующем посте — пара мыслей о том, насколько это действительно пугающе и плохо ⬇️
#ai_inside
👍49👏1🤮1
Продолжение предыдущего поста о статье про RL-агентов будущего и о том, как AGI поработит человеков
#ai_inside
Напишу пару слов о том, почему считаю, что заголовки постов сильно раздуты, а бояться сильно рано:
- Во-первых, выполнимость такого сценария (что ИИ начнет вмешиваться в процесс передачи вознагражения) зависит от нескольких допущений о строении RL-агента, которые могут быть и не выполнены в будущем. Одна из главных опор статьи — это то, что у описанного “опасного” RL-агента должно быть неограниченное пространство действий в реальном мире. Также должен быть определенный баланс exploration vs exploitation и нужное строение reward-функции. Более того, авторы статьи приводят простые идеи, как не дать этим допущениям свершиться. Подробнее о них читайте в статье. Одна из самых простых таких идей — добавить lethal punishment при попытке как-то навредить человеку или вмешаться в процесс передачи инфы о награде. Сложно представить, что человечество не додумается до такого и случайно создаст ИИ-монстра)
- Во-вторых, я не верю, что у нас из супер-ограниченных современных RL-агентов внезапно начнут появляться очень сложные и неконтролируемые, которые начнут убивать людей. Чтобы RL до такого дошел, должен появиться какой-то принципиально новый подход к моделированию и обучению RL-агентов, и мы даже не знаем, как этот подход будет выглядеть. Мы еще даже близко не подошли к созданию подобного “продвинутого” RL-агента, чтобы вообще можно было рассуждать о том, как он работает, и какие угрозы может нести.
Короче, статья описывает один из сценариев того, что может произойти, если мы перестанем понимать и контролировать то, как ИИ работает и что он может и не может. Но до такой ситуации еще долгий путь: мы еще соовсем не близко к этому моменту. И, скорее всего, в процессе пути до него мы больше начнем понимать о том, как построить действительно мощный ИИ, и при этом не дать ему выйти из-под контроля. И такие “пугалки” будут уже неактуальны.
На всякий случай, уточню: я не критикую саму статью. Статья — интересное рассуждение о том, что, в теории, действительно может произойти и как можно этого избежать (хотя там в конце и есть фраза “with catastrophic consequences”. Но опустим). Что я критикую — это пугающие выводы людей из этой статьи. Фраза “если срочно не остановить разработки в области создания AGI, то экзистенциальная катастрофа станет не просто возможна, но и вероятна” (из одного из постов) — это ну совсем не то, о чем писали авторы работы.
Конечно, я могу чего-то не понимать и ошибаться. В конце концов, мы тут про будущее спорим, которое пока еще не известно никому =) Комментарии всегда открыты для обсуждений)
#ai_inside
Напишу пару слов о том, почему считаю, что заголовки постов сильно раздуты, а бояться сильно рано:
- Во-первых, выполнимость такого сценария (что ИИ начнет вмешиваться в процесс передачи вознагражения) зависит от нескольких допущений о строении RL-агента, которые могут быть и не выполнены в будущем. Одна из главных опор статьи — это то, что у описанного “опасного” RL-агента должно быть неограниченное пространство действий в реальном мире. Также должен быть определенный баланс exploration vs exploitation и нужное строение reward-функции. Более того, авторы статьи приводят простые идеи, как не дать этим допущениям свершиться. Подробнее о них читайте в статье. Одна из самых простых таких идей — добавить lethal punishment при попытке как-то навредить человеку или вмешаться в процесс передачи инфы о награде. Сложно представить, что человечество не додумается до такого и случайно создаст ИИ-монстра)
- Во-вторых, я не верю, что у нас из супер-ограниченных современных RL-агентов внезапно начнут появляться очень сложные и неконтролируемые, которые начнут убивать людей. Чтобы RL до такого дошел, должен появиться какой-то принципиально новый подход к моделированию и обучению RL-агентов, и мы даже не знаем, как этот подход будет выглядеть. Мы еще даже близко не подошли к созданию подобного “продвинутого” RL-агента, чтобы вообще можно было рассуждать о том, как он работает, и какие угрозы может нести.
Короче, статья описывает один из сценариев того, что может произойти, если мы перестанем понимать и контролировать то, как ИИ работает и что он может и не может. Но до такой ситуации еще долгий путь: мы еще соовсем не близко к этому моменту. И, скорее всего, в процессе пути до него мы больше начнем понимать о том, как построить действительно мощный ИИ, и при этом не дать ему выйти из-под контроля. И такие “пугалки” будут уже неактуальны.
На всякий случай, уточню: я не критикую саму статью. Статья — интересное рассуждение о том, что, в теории, действительно может произойти и как можно этого избежать (хотя там в конце и есть фраза “with catastrophic consequences”. Но опустим). Что я критикую — это пугающие выводы людей из этой статьи. Фраза “если срочно не остановить разработки в области создания AGI, то экзистенциальная катастрофа станет не просто возможна, но и вероятна” (из одного из постов) — это ну совсем не то, о чем писали авторы работы.
Конечно, я могу чего-то не понимать и ошибаться. В конце концов, мы тут про будущее спорим, которое пока еще не известно никому =) Комментарии всегда открыты для обсуждений)
👍33❤2🔥1👏1🤮1
Мы открываем набор на второй семестр школы Deep Learning School!
#learning
О том, что за школа и о наборе на первую часть писала тут.
Второй семестр посвящен NLP и обработке звука. Мы считаем, что второй семестр — это естественное продолжение первого, и в первую очередь приглашаем туда тех, кто прошул первую часть. Но, в целом, записаться могут все желающие: строгого ограничения нет. Имейте в виду, что для успешного прохождения второй части желательно понимать темы первой части курса (математику, устройство полносвязных и сверточных нейросетей).
В остальном, все так же:
- Обучение бесплатное. Отбора нет, берем всех.
- Занятие раз в неделю. Лекция, семинар и домашнее задание. В конце — итоговый проект (темы отличаются от тех, что были в первой части)
- Обучение проходит на платформе Stepik. Разделения на базовый/продвинутый во второй части нет.
- По окончании второй части также выдается диплом, который дает баллы при поступлении на ФПМИ МФТИ (бакалавриат и магистратура)
Регистрация тут. Старт — 3 октября.
Если есть вопросы, спрашивайте в комментарии ⬇️
#learning
О том, что за школа и о наборе на первую часть писала тут.
Второй семестр посвящен NLP и обработке звука. Мы считаем, что второй семестр — это естественное продолжение первого, и в первую очередь приглашаем туда тех, кто прошул первую часть. Но, в целом, записаться могут все желающие: строгого ограничения нет. Имейте в виду, что для успешного прохождения второй части желательно понимать темы первой части курса (математику, устройство полносвязных и сверточных нейросетей).
В остальном, все так же:
- Обучение бесплатное. Отбора нет, берем всех.
- Занятие раз в неделю. Лекция, семинар и домашнее задание. В конце — итоговый проект (темы отличаются от тех, что были в первой части)
- Обучение проходит на платформе Stepik. Разделения на базовый/продвинутый во второй части нет.
- По окончании второй части также выдается диплом, который дает баллы при поступлении на ФПМИ МФТИ (бакалавриат и магистратура)
Регистрация тут. Старт — 3 октября.
Если есть вопросы, спрашивайте в комментарии ⬇️
🔥25👍7❤3🤮2
На ICLR-2022 была, оказывается, такая интересная работа: авторы показали, что принцип работы Transformer’ов (с небольшим дополнением) схож с принципом работы гиппокампа и энторинальной коры головного мозга человека.
(Автор работы, если что, Ph.D. по computational/ theoretical neuroscience из Stanford и Oxford. Понимает, о чем говорит)
Подробнее:
Гиппокамп и энториальная кора мозга вместе отвечают за память, восприятие времени и пространства. Энториальная кора является “шлюзом” для гиппокампа: она обрабатывает поступающую в гиппокамп и исходящую из него информацию. Гиппокамп же обрабатывает и структурирует все виды памяти: краткосрочную, долгосрочную, пространственную.
То есть, связка “гиппокамп + энторинальная кора” (EC-hippocampus) играют важную роль при решении человеком задач, связанных с пространственным восприятием.
Как показали, почему Transformer “похож” на EC-hippocampus: авторы статьи взяли Transformer и обучили его на простую задачу, в которой нужно выдавать ответ, имея в виду текущее пространственно положение. Архитектура Transformer была стандартная с парой небольших отличий в формуле для attention и position encodings. Вычисление position encodings было изменено так, что стало обучаемым.
После обучения модели ученые посмотрели на “пространственную карту весов position encodings”. Карта составляется просто: для каждого пространственного положения из задачи, которую учил Tranformer, вычисляется средняя активация position encodings. Так вот, оказалось, что эта карта структурно схожа с той, что получается из активаций нейронов в EC-hippocampus
Но это еще не все: только такая “похожесть” карт активаций нейронов в мозге и модели недостаточно убедительна. Авторы статьи так же показали следующее: архитектура Transformer эквивалентна математической модели EC-hippocampus, которую нейробиологи построили не так давно и активно используют. Эта матмодель называется TEM (Tolman-Eichenbaum Machine), и она хорошо описывает основные процессы, происходящие в EC-hippocampus. TEM — обучаемся модель, которая при обучении должна имитировать процессы, происходящие в EC-hippocampus.
Так вот, упомянутый выше модифицированный Transformer, оказывается, имеет аналогичное с TEM устройство. Аторы назвали такой трансформер TEM-t. В статье авторы показывают аналогии между отдельными компонентами Transformer и TEM. В частности, “модель памяти” TEM оказывается эквивалентной self-attention из Tranformer.
Более того, авторы заявляют, что TEM-t может служить более эффективной моделью EC-hippocampus, чем существующий TEM: он гораздо быстрее обучается, имеет больший потенциал по памяти (может “запоминать” и “вытаскивать” больше бит памяти). Также плюсом является то, что пространственная карта весов position encodings трансформера похожа на такую карту из мозга (о чем писала выше).
Подробнее об устройстве TEM, TEM-t, экспериментах и о том, какое значение это имеет для нейробиологии — в статье. А еще там есть описание того, как архитектура Transformer может быть реализована на биологических нейронах. Блин, а вдруг какие-то части нашего мозга — это реально transformer’ы?)
Еще ссылка: статья в Quantamagazine об этой работе
P.S. Надеюсь, я нигде сильно не наврала. Все же в вопросах устройства мозга и подобном я дилетант. Feel free поправлять меня в комментариях
#ai_inside #paper
(Автор работы, если что, Ph.D. по computational/ theoretical neuroscience из Stanford и Oxford. Понимает, о чем говорит)
Подробнее:
Гиппокамп и энториальная кора мозга вместе отвечают за память, восприятие времени и пространства. Энториальная кора является “шлюзом” для гиппокампа: она обрабатывает поступающую в гиппокамп и исходящую из него информацию. Гиппокамп же обрабатывает и структурирует все виды памяти: краткосрочную, долгосрочную, пространственную.
То есть, связка “гиппокамп + энторинальная кора” (EC-hippocampus) играют важную роль при решении человеком задач, связанных с пространственным восприятием.
Как показали, почему Transformer “похож” на EC-hippocampus: авторы статьи взяли Transformer и обучили его на простую задачу, в которой нужно выдавать ответ, имея в виду текущее пространственно положение. Архитектура Transformer была стандартная с парой небольших отличий в формуле для attention и position encodings. Вычисление position encodings было изменено так, что стало обучаемым.
После обучения модели ученые посмотрели на “пространственную карту весов position encodings”. Карта составляется просто: для каждого пространственного положения из задачи, которую учил Tranformer, вычисляется средняя активация position encodings. Так вот, оказалось, что эта карта структурно схожа с той, что получается из активаций нейронов в EC-hippocampus
Но это еще не все: только такая “похожесть” карт активаций нейронов в мозге и модели недостаточно убедительна. Авторы статьи так же показали следующее: архитектура Transformer эквивалентна математической модели EC-hippocampus, которую нейробиологи построили не так давно и активно используют. Эта матмодель называется TEM (Tolman-Eichenbaum Machine), и она хорошо описывает основные процессы, происходящие в EC-hippocampus. TEM — обучаемся модель, которая при обучении должна имитировать процессы, происходящие в EC-hippocampus.
Так вот, упомянутый выше модифицированный Transformer, оказывается, имеет аналогичное с TEM устройство. Аторы назвали такой трансформер TEM-t. В статье авторы показывают аналогии между отдельными компонентами Transformer и TEM. В частности, “модель памяти” TEM оказывается эквивалентной self-attention из Tranformer.
Более того, авторы заявляют, что TEM-t может служить более эффективной моделью EC-hippocampus, чем существующий TEM: он гораздо быстрее обучается, имеет больший потенциал по памяти (может “запоминать” и “вытаскивать” больше бит памяти). Также плюсом является то, что пространственная карта весов position encodings трансформера похожа на такую карту из мозга (о чем писала выше).
Подробнее об устройстве TEM, TEM-t, экспериментах и о том, какое значение это имеет для нейробиологии — в статье. А еще там есть описание того, как архитектура Transformer может быть реализована на биологических нейронах. Блин, а вдруг какие-то части нашего мозга — это реально transformer’ы?)
Еще ссылка: статья в Quantamagazine об этой работе
P.S. Надеюсь, я нигде сильно не наврала. Все же в вопросах устройства мозга и подобном я дилетант. Feel free поправлять меня в комментариях
#ai_inside #paper
👍49🔥13❤2👎2🤯1🤮1🤨1
Айра — моя знакомая и основательница школы Mathshub, в которой я вела занятия и приглашала вас весной — запустила свой подкаст “Не сами боги”
В нем разные гости из мира ИИ, технологий и масштабных продуктов будут делится опытом и историями из жизни.
Сейчас доступен первый эпизод, второй появится где-то в октябре. Гость эпизода — Юрий Кашницкий: друг Айры, опытный дата-сайнтист, основатель одного из самых известных и фундаментальных курсов по классическому машинному обучению и анализу данных — mlcourse.ai.
Говорили о разном: об интервью, Kaggle, исследованиях, математике, синдроме самозванца. На мой взгляд, получилось круто. Подробнее — в описании к эпизоду на YouTube.
Подкаст с видео (очень качественным, не то, что у меня🥲), запись первого эпизода проходила в Амстердаме.
🎙Смотреть “Не сами боги” на YouTube
Ссылки на подкаст на других платформах (Apple/Google/Yandex) тут
В нем разные гости из мира ИИ, технологий и масштабных продуктов будут делится опытом и историями из жизни.
Сейчас доступен первый эпизод, второй появится где-то в октябре. Гость эпизода — Юрий Кашницкий: друг Айры, опытный дата-сайнтист, основатель одного из самых известных и фундаментальных курсов по классическому машинному обучению и анализу данных — mlcourse.ai.
Говорили о разном: об интервью, Kaggle, исследованиях, математике, синдроме самозванца. На мой взгляд, получилось круто. Подробнее — в описании к эпизоду на YouTube.
Подкаст с видео (очень качественным, не то, что у меня🥲), запись первого эпизода проходила в Амстердаме.
🎙Смотреть “Не сами боги” на YouTube
Ссылки на подкаст на других платформах (Apple/Google/Yandex) тут
👍31👎5🔥5⚡1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите научиться решать действительно важные для бизнеса задачи и проектировать всю необходимую ML-инфраструктуру?
#промо
Валерий Бабушкин (Head of Data Science в Blockchainꓸcom, ранее работал в Facebook, Alibaba, X5 Group, Яндекс) со своими друзьями — руководителями Data Science направлений в крупнейших компаниях — записал свой авторский курс по хардкорному ML.
Вы научитесь самостоятельно собирать и размечать данные, строить пайплайны их поставки, деплоить приложения, настраивать мониторинги и оценивать эффективность алгоритмов.
Сразу предупреждаем — придется интенсивно поработать. Но оно определённо того стоит, ведь знания прикладные: каждый модуль заканчивается разработкой ML-сервиса, который будет не стыдно показать будущему работодателю или адептам ODS.
Переходите по ссылке и записывайтесь на курс до 3 октября — по промокоду DLS20 вы получите скидку 10% на полную оплату курса.
А чтобы вы могли посмотреть, как обучение выглядит изнутри, мы подготовили бесплатную демоверсию!
#промо
Валерий Бабушкин (Head of Data Science в Blockchainꓸcom, ранее работал в Facebook, Alibaba, X5 Group, Яндекс) со своими друзьями — руководителями Data Science направлений в крупнейших компаниях — записал свой авторский курс по хардкорному ML.
Вы научитесь самостоятельно собирать и размечать данные, строить пайплайны их поставки, деплоить приложения, настраивать мониторинги и оценивать эффективность алгоритмов.
Сразу предупреждаем — придется интенсивно поработать. Но оно определённо того стоит, ведь знания прикладные: каждый модуль заканчивается разработкой ML-сервиса, который будет не стыдно показать будущему работодателю или адептам ODS.
Переходите по ссылке и записывайтесь на курс до 3 октября — по промокоду DLS20 вы получите скидку 10% на полную оплату курса.
А чтобы вы могли посмотреть, как обучение выглядит изнутри, мы подготовили бесплатную демоверсию!
❤🔥19💩8👍6🤮4🔥1
В сфере языковых моделей существует интересная проблема, о которой я как-то раньше не задумывалась. Состоит она вот в чем: когда модель обучалась, мир был устроен одним образом. Например, президентом США был Трамп, королева UK была жива, а текущей мировой проблемой был covid-19. Но проходит время, и теперь президент США — Байден, королевы больше нет, а воспоминания ковидного времени — прямо таки ностальгические. Задача, в общем, понятна: как впихнуть в обученную языковую модель новые знания об отдельных вещах/событиях?
Задача не так проста, как кажется: простое изменение инфы вида “президент Трамп -> президент Байден” влияет на очень много запросов и ответов модели. И нужно изменить веса сети не только чтобы научилась правильно отвечать на вопрос “кто президент США”, но и на любые каверзные вопросы, для ответа на которые нужно знание о том, кто сидит в Белом доме.
Так вот, к решению этой задачи существует много подходов. Вот какие у них идеи:
- разные техники дообучения небольшого числа параметров сети (не всей сети целиком) на новых примерах;
- использование трюков с архитектурой и способ обучения сети, которые позволяют сделать так, чтобы последующие изменения в сеть можно было вносить, изменяя только опеределенную малую ее часть. Например, есть подход, который выделяет отдельные нейроны сети под отдельные факты, и изменение инфы об этих фактах достигается изменением активации этого конкретного нейрона;
- подходы, при которых изначально обученная сеть никак не меняется. Но создаются дополнительные мини-модели, которые дообучаются под новые факты и во время инференса помогают начальной модели выдать актуальный ответ на вопрос.
На статью с новой идеей архитектуры в парадигме третьего подхода (без изменения основной сети) я и наткнулась недавно. Идея вот какая:
Не менять изначальную модель. Когда в мире изменяется некий факт, который изначально был заложен в модель (например, сменился президент США), этот факт запомниается в отдельный кеш памяти. Далее при каждом новом запросе в модель происходит следующее:
- небольшая модель-классификатор определяет, связан ли новый запрос с каким-то из фактов в кеше памяти;
- если запрос не связан ни с одним фактом из памяти, модель генерирует ответ как обычно. Если же нашелся факт (или несколько), связанный с запросом, то модели на фход вместе с запросом подается этот связанный факт, и модель генерирует ответ.
Получается, дообучать под новые факты ничего не надо: только сохранять в память. Единственная проблемы, которые может возникнуть — это то, что фактов станет слишком много и они станут занимать кучу памяти. Авторы говорят, что это hardly a problem: один факт — это ~3кб памяти.
Вот так вот. Идея интересная и очень простая, что есть ее огромный плюс. Но у меня в голове крутятся две мысли по этому поводу:
Во-первых, когда я читала эту статью, меня не покидало ощущение, что это как-то не очень естественно. Ну то есть, хочется изобрести какой-то более элегантный способ внеднять новые знания в модель, не таская их за собой в виде мешка фактов. Не могу объяснить, чем подход “неестествен”, но ощущение такое.
И вторая мысль: эта идея, по сути, имитирует zero-shot режим работы модели. Но когда идут разговоры про zero-shot режим, это чаще всего про сценарий вида “есть задача. Мы подаем на вход модели пару примеров “input -> output”, затем новый инпут и ждем, что она выдаст правильный ответ. Например:
“Paris -> France”
“Moscow -> Russia”
“Tbilisi ->”
и ждем на выходе ”Georgia”. Так вот, вопрос в том, будет ли это работать в виде “подаем модели на вход факт, затем начинаем с ней болтать”. Будет ли модель иметь этот факт в виду? Или как нужно сформулировать вход, чтобы модель в zero-shot режиме поняла, что нужно принять этот факт во внимание для генерации последующих текстов?
#paper
Задача не так проста, как кажется: простое изменение инфы вида “президент Трамп -> президент Байден” влияет на очень много запросов и ответов модели. И нужно изменить веса сети не только чтобы научилась правильно отвечать на вопрос “кто президент США”, но и на любые каверзные вопросы, для ответа на которые нужно знание о том, кто сидит в Белом доме.
Так вот, к решению этой задачи существует много подходов. Вот какие у них идеи:
- разные техники дообучения небольшого числа параметров сети (не всей сети целиком) на новых примерах;
- использование трюков с архитектурой и способ обучения сети, которые позволяют сделать так, чтобы последующие изменения в сеть можно было вносить, изменяя только опеределенную малую ее часть. Например, есть подход, который выделяет отдельные нейроны сети под отдельные факты, и изменение инфы об этих фактах достигается изменением активации этого конкретного нейрона;
- подходы, при которых изначально обученная сеть никак не меняется. Но создаются дополнительные мини-модели, которые дообучаются под новые факты и во время инференса помогают начальной модели выдать актуальный ответ на вопрос.
На статью с новой идеей архитектуры в парадигме третьего подхода (без изменения основной сети) я и наткнулась недавно. Идея вот какая:
Не менять изначальную модель. Когда в мире изменяется некий факт, который изначально был заложен в модель (например, сменился президент США), этот факт запомниается в отдельный кеш памяти. Далее при каждом новом запросе в модель происходит следующее:
- небольшая модель-классификатор определяет, связан ли новый запрос с каким-то из фактов в кеше памяти;
- если запрос не связан ни с одним фактом из памяти, модель генерирует ответ как обычно. Если же нашелся факт (или несколько), связанный с запросом, то модели на фход вместе с запросом подается этот связанный факт, и модель генерирует ответ.
Получается, дообучать под новые факты ничего не надо: только сохранять в память. Единственная проблемы, которые может возникнуть — это то, что фактов станет слишком много и они станут занимать кучу памяти. Авторы говорят, что это hardly a problem: один факт — это ~3кб памяти.
Вот так вот. Идея интересная и очень простая, что есть ее огромный плюс. Но у меня в голове крутятся две мысли по этому поводу:
Во-первых, когда я читала эту статью, меня не покидало ощущение, что это как-то не очень естественно. Ну то есть, хочется изобрести какой-то более элегантный способ внеднять новые знания в модель, не таская их за собой в виде мешка фактов. Не могу объяснить, чем подход “неестествен”, но ощущение такое.
И вторая мысль: эта идея, по сути, имитирует zero-shot режим работы модели. Но когда идут разговоры про zero-shot режим, это чаще всего про сценарий вида “есть задача. Мы подаем на вход модели пару примеров “input -> output”, затем новый инпут и ждем, что она выдаст правильный ответ. Например:
“Paris -> France”
“Moscow -> Russia”
“Tbilisi ->”
и ждем на выходе ”Georgia”. Так вот, вопрос в том, будет ли это работать в виде “подаем модели на вход факт, затем начинаем с ней болтать”. Будет ли модель иметь этот факт в виду? Или как нужно сформулировать вход, чтобы модель в zero-shot режиме поняла, что нужно принять этот факт во внимание для генерации последующих текстов?
#paper
👍36🤔10🤮2
Всем привет! Извините, что неделю (даже больше) не было постов: у меня было больше дел, чем я могла вывезти, плюс некоторое нервное напряжение.
Сейчас я сижу в Шереметьево, жду рейс в Стамбул. Там буду находиться до конца октября, затем уезжаю в Лондон. В Лондоне буду делать Ph.D. у вот этого профессора. В связи с отъездом (все же немного даже неожиданным, планировала уехать чуть позже) и были гора дел.
Тут снова будут регулярные посты в самое ближайшее время. Стоило блин только отвлечься, как наклепали классных статей и нейронок😅 Прямо сейчас вот сижу пишу один)
А у вас как дела?
Сейчас я сижу в Шереметьево, жду рейс в Стамбул. Там буду находиться до конца октября, затем уезжаю в Лондон. В Лондоне буду делать Ph.D. у вот этого профессора. В связи с отъездом (все же немного даже неожиданным, планировала уехать чуть позже) и были гора дел.
Тут снова будут регулярные посты в самое ближайшее время. Стоило блин только отвлечься, как наклепали классных статей и нейронок😅 Прямо сейчас вот сижу пишу один)
А у вас как дела?
👍110❤46🔥26🍾11🕊9🙏4💩3👎2🤮2💋1
FoldingDiff: диффузионная модель для генерации структур протеинов.
#paper
По порядку:
Задача генерации протеинов состоит в том, чтобы из атомов и аминокислот создавать новые структуры протеинов, которые действительно стабильно могут существовать а реальном мире. Со времен AlphaFold мы помним, что находить структуры протеинов — сложная задача. Каждый протеин имеет свою уникальную пространственную структуру, которую очень сложно найти даже если аминокислоты, составляющие протеин, известны. А здесь задача еще круче: сгенерировать новые, неизвестные протеины, которые могут существовать в стабильном состоянии.
Как работает диффузия для молекул:
Во-первых, пару слов о том, какое представление используют для молекулы протеина. Есть несколько вариантов, как это делать. Первый — в виде графа в 3-хмерном пространстве (3D-point cloud). Это довольно простой и логичный вариант, который использовали во многих (в том числе недавних) работах по генерации протеинов. Второй вариант представления молекулы — с помощью углов между ее атомами: каждая аминокислота, входящая в состав протеина — это вектор из шести значений (углов). Именно такой вариант используется в FoldingDiff.
Такое представление имеет огромное преимущество: оно не зависит от пространственного положения молекулы. Как бы ни была повернута молекула протеина, ее представление будет одинаковым. 3D point cloud таким свойством не обладает. Это позволяет использовать более легкие модели, с меньшим количеством параметров, для генерации протеинов.
Также авторы говорят, что у такого представления есть еще одно преимущество — оно “имитирует” то, как протеины образуются в реальности, “заворачивая” свои аминокислоты под разными углами, достигая энергетически самого выгодного представления.
Итак, в итоге каждый протеин представляется в виде матрицы размера 6xN, где N — количество аминокислот в составе протеина. К этому представлению постепенно добавляется гауссов шум, пока распределение чисел матрицы не станет неотличимым от wrapped gaussian. Задача модели — из такого представления восстановить структуру молекулы. Обученная модель далее может из рандомных матриц размера 6xN генерировать новые структуры молекул. Процесс показан на картинке к посту выше.
Сама модель очень простая — обычный bidirectional transformer. Модель генерирует структуру протеина шаг за шагом — на каждом шаге генерируется очередной вектор размера 6, соответствующий следующей аминокислоте в цепочке.
Эксперименты показывают, что обученная модель действительно часто генерирует структуры белков, которые можно получить в реальности. “Получить в реальности” означает, что для сгенеренной моделью последовательности углов аминокислот можно подобрать такие атомы, что существует реальный протеин с этими атомами и углами между ними. Также авторы показывают, что модель генерит довольно разнообразные структуры: более разнообразные, чем это делали предыдущие SOTA модели для этой задачи.
Детали устройства модели и экспериментов читайте в статье.
Также есть код на GitHub
#paper
По порядку:
Задача генерации протеинов состоит в том, чтобы из атомов и аминокислот создавать новые структуры протеинов, которые действительно стабильно могут существовать а реальном мире. Со времен AlphaFold мы помним, что находить структуры протеинов — сложная задача. Каждый протеин имеет свою уникальную пространственную структуру, которую очень сложно найти даже если аминокислоты, составляющие протеин, известны. А здесь задача еще круче: сгенерировать новые, неизвестные протеины, которые могут существовать в стабильном состоянии.
Как работает диффузия для молекул:
Во-первых, пару слов о том, какое представление используют для молекулы протеина. Есть несколько вариантов, как это делать. Первый — в виде графа в 3-хмерном пространстве (3D-point cloud). Это довольно простой и логичный вариант, который использовали во многих (в том числе недавних) работах по генерации протеинов. Второй вариант представления молекулы — с помощью углов между ее атомами: каждая аминокислота, входящая в состав протеина — это вектор из шести значений (углов). Именно такой вариант используется в FoldingDiff.
Такое представление имеет огромное преимущество: оно не зависит от пространственного положения молекулы. Как бы ни была повернута молекула протеина, ее представление будет одинаковым. 3D point cloud таким свойством не обладает. Это позволяет использовать более легкие модели, с меньшим количеством параметров, для генерации протеинов.
Также авторы говорят, что у такого представления есть еще одно преимущество — оно “имитирует” то, как протеины образуются в реальности, “заворачивая” свои аминокислоты под разными углами, достигая энергетически самого выгодного представления.
Итак, в итоге каждый протеин представляется в виде матрицы размера 6xN, где N — количество аминокислот в составе протеина. К этому представлению постепенно добавляется гауссов шум, пока распределение чисел матрицы не станет неотличимым от wrapped gaussian. Задача модели — из такого представления восстановить структуру молекулы. Обученная модель далее может из рандомных матриц размера 6xN генерировать новые структуры молекул. Процесс показан на картинке к посту выше.
Сама модель очень простая — обычный bidirectional transformer. Модель генерирует структуру протеина шаг за шагом — на каждом шаге генерируется очередной вектор размера 6, соответствующий следующей аминокислоте в цепочке.
Эксперименты показывают, что обученная модель действительно часто генерирует структуры белков, которые можно получить в реальности. “Получить в реальности” означает, что для сгенеренной моделью последовательности углов аминокислот можно подобрать такие атомы, что существует реальный протеин с этими атомами и углами между ними. Также авторы показывают, что модель генерит довольно разнообразные структуры: более разнообразные, чем это делали предыдущие SOTA модели для этой задачи.
Детали устройства модели и экспериментов читайте в статье.
Также есть код на GitHub
👍25🔥8🤮1🕊1