Telegram Web Link
Media is too big
VIEW IN TELEGRAM
Бесполезный пост, но сегодня ничего другого все равно не придумала.

Смотрите, чел сделал музыку из графика стоимости биткоина с 2015 по 2022 годы.

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

О своей идее и о том, как писал код, чел написал статью на towardsdatascience.

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

Короче, если хотите себе классный пет-проект, то вот вам вдохновение. Можно сделать что-то простое, но эффектное. Главное, чтобы выглядело/звучало красиво.
#tech
🔥277👍4🤔2💩2
#промо

В Data Science одни из самых высоких зарплат в IT. Войти в эту сферу можно с нуля — курс «Профессия Data Scientist PRO» как раз подходит для новичков.

→ Начнёте с основ: подтянете базу по математике и статистике, изучите Python и SQL. Научитесь собирать и очищать данные, построите первые модели и оцените их качество. Попробуете себя на практике в дата-аналитике, дата-инженерии и машинном обучении.

→ Выберете направление для продвинутого изучения. Решите задачи на реальных данных, обучите нейросеть, углубите знания Python, библиотек для анализа данных и машинного обучения, освоите BI-инструменты, Git и выполните командные проекты в области big data.

→ Получите помощь в трудоустройстве: сможете устроиться на работу и параллельно проходить курс, чтобы вырасти до уровня middle.

Оставьте заявку на курс сейчас и получите 6 месяцев бесплатного обучения: https://clc.to/K17awg
💩50😁7👍1
(Очень) краткий ликбез по методам оптимизации нейросетей
#learning

Нейросети, как мы знаем, обучаются с помощью алгоритма обратного распространения ошибки (backpropagation). Основа backprop’а — вычисление производных первого порядка лосс-функции по весам сети.

Один из главных недостатков backprop’а — это невозможность подбора оптимальной длины шага. На каждой итерации алгоритма мы вычисляем производную лосса по весу, и двигаем значение веса по направлению антиградиента на величину, равную learning_rate * значение_производной. learning_rate — это гиперпараметр, который задается до начала обучения. Такой принцип выбора длины шага сильно неоптимален: лосс может легко застрять в локальном минимуме/на плато, а для достижения оптимального результата обучения может потребоваться большое количество итераций. При этом начальный выбор значения learning_rate сильно влияет на эффективность обучения, и часто приходится проводить тщательный подбор этого гиперпараметра для достижения лучшего результата.

Есть техники, которые улучшают эффективность backprop: это AdaGrad, RMSprop, Adam, техники контроля и изменения learning_rate в процессе обучения. Это все работает, но на порядок лучше ситуацию не делает: проблема неэффективности и сложности подбора параметров остается. Но есть еще одна идея улучшения алгоритма обучения сети: она основана на использовании производных второго порядка. Называются такие методы оптимизации second-order optimizers (а backprop — это first-order optimization method)

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

Почему же тогда second-order методы не используют повсеместно? Ответ такой: у них есть свои сложности. Многие методы требуют слишком больших затрат памяти на вычисления, другие требуют очень сложных вычислений на каждом шаге (а-ля вычисление корней матрицы n-й степени). Из-за этого эти методы особо не скейлятся: для маленьких нейросетей их использовать еще можно, а для больших уже не выйдет.

Вот так. Короче говоря, backprop — это не идеальное чудо, и тут тоже нужно искать способы улучшения. Работы тут ведется много, выходит много статей, но прорыва пока нет: как мы видим, все всё еще тренируют сетки с помощью backprop. Но если прорыв будет, то, на мой взгляд, это будет действительно революция: это окажет сильное влияние на эффективность обучения сетей, и прогресс сильно ускорится.

Ниже — ссылки для лучшего вливания в тему оптимизаторов первого-второго порядка:
✔️Ликбез по производной, градиенту и градиентной оптимизации в виде двух colab-ноутбуков, который я когда-то делала для одного курса:
- колаб по производной;
- колаб по оптимизации.
✔️ По различным методам оптимизации первого порядка (AdaGrad, RMSprop, Adam) есть отличное видео в курсе Эндрю Ына. Когда-то давно сама по нему ботала.
✔️ Иллюстрированное описание Ньютоновского метода оптимизации второго порядка: пожалуй, самого простого и понятного метода второго порядка из всех. С него стоит начать погружение в них.
✔️ Большая статья-ревью методов оптимизации второго порядка в нейронных сетях. Отличные объяснения, на мой взгляд.
✔️ Еще скоро выйдет курс, в котором я делала блок про производную, градиент и градиентную оптимизацию. Очень подробно делала) Как выйдет, дам ссылку обязательно =)

Если вы интересуетесь методами оптимизации и у вас есть хорошие ссылки на эту тему, прошу в комментарии)
👍78🔥28👏2
Вчерашний ликбез по методам оптимизации был прелюдией к вот этой статье. Тут ребята из Google Research говорят, что придумали метод оптимизации первого порядка, который по эффективности сравним с методами второго порядка. И главный его плюс: он применим к глубоким нейросетям.
#paper

Метод называется LocoProp (Local Loss Optimization framework). Назвали его так, потому что его главная фишка — оптимизация весов каждого слоя сети отдельно. Сейчас попытаюсь объяснить, что там происходит:

Пусть у нас есть многослойная нейросеть. Обозначим через W_m веса m-го слоя. При обычном backprop мы обновляем веса W_m на каждом шаге так:
1. вычисляем градиент dL / dW_m
2. обновляем W_m = W_m - alpha * dL / dW_m
То есть, обновление каждого веса сети происходит с помощью градиента одного и того же финального лосса.

А вот как устроен алгоритм LocoProp:
Пусть на текущем шаге для m-го слоя сети W_m — его веса, a_m — выход этого слоя до функции активации, y_m = f(a_m) — выход слоя после функции активации. Тогда обновление веса W_m на этом шаге происходит так:
1. Вычисляем градиент dL / da_m
2. Задаем цель для выходов текущего слоя как a’_m = a_m - gamma * dL / da_m. То есть, мы как бы хотим с помощью градиентного спуска “подвинуть“ в нужную сторону не веса, а выходы каждого слоя.
3. Считаем лосс-функцию между целью для выходов слоя a’_m и реальными выходами слоя a_m: L(a_m, a’_m).
4. Вычисляем градиент grad = dL(a_m, a’_m) / dW_m
5. Проводим несколько шагов градиентного спуска для весов слоя: W_m = W_m - alpha * grad

Получается, мы на каждом шаге оптимизации сначала вычисляем желаемые значения выходов каждого слоя после этого шага, а затем подгоняем веса каждого слоя так, чтобы выход слоя приблизился к желаемым значениям.

В статье приводится много красивой математики, которая показывает, что этот алгоритм с одной стороны сроден обычному backprop (если в пункте 5 делать только один шаг обновления, то получим простой backprop), а с другой — алгоритмам оптимизации второго порядка (если чуть изменить вид цели выходов слоя в пункте 2, получим практически алгоритм K-FAC)

Вот так. В статье в алгоритме еще добавлен регуляризатор для весов W_m, чтобы при обновлении в пункте 5 алгоритма веса не уходили от начальных слишком далеко. Иначе веса разных слоев сети будут очень плохо согласовываться между собой после обновлений.

Эксперименты авторы проводили на датасетах MNIST, Fashion MNIST и CURVES. Результаты показывают, что LocoProp достигает эффективности методов второго порядка. При этом память и сложность вычислений алгоритма сравнимы с методами первого порядка, так что LocoProp можно скейлить на глубокие сети.

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

Ну и математика красивая, такое я люблю 🌝

Статья. В ней найдете сравнения LocoProp для разных вариантов лоссов L, доказательства теорем о связях LocoProp с backprop и другими методами, а также описания экспериментов.
👍53🔥13
Помните, в феврале я приглашала вас на курс Mathshub, где лекции читала? У них тогда еще был бесплатный интенсив по Питону и математике для DS. Так вот, интенсив снова стартует 15 августа, снова бесплатно. Снова приглашаю!
#learning

Кому будет полезно?
Тем, кто хочет освоить основы программирования, получить навыки в анализе данных и машинном обучении — с нулевым или небольшим опытом.

Что будет на интенсиве:
— Базовые принципы программирования;
— Введение в Python и анализ больших данных;
— Теория вероятностей;
— Математическая статистика.

Старт: 15 августа, понедельник. Интенсив идет 2 месяца, онлайн.
Преподаватель — Анна Чувилина, Data Engineer в Яндексе, лектор в НИУ ВШЭ и Harbour Space University.

Регистрация тут

P.S. Вообще, Mathshub — школа DS и программирования с фокусом на портфолио студента. Одна из ее создателей — Айра, моя знакомая. Она очень классная! У нее богатый опыт создания продуктов в DS. У нее вот тг-канал еще есть и научпоп блог в инстзапрещенной_соцсети_с_картинками, она там про DS, математику и ИИ очень интересно рассказывает.
🔥19👍6
Ладно, пора уже написать про Stable Diffusion. К тому же, вокруг text-to-image моделей много споров развелось сейчас.
#news

В течение последних полугода мы наблюдали за развитием text-to-image моделей. Сначала DALL-E 2, потом Imagen, Parti, Make-A-Scene (посты об их архитектурах можно почитать по ссылкам). Эти модели выпущены компаниями OpenAI, Google и Meta*, и находятся в закрытом доступе. То есть, веса моделей (а во многих случаях, даже кода) вы получить не можете. Максимум, что было можно — записаться в лист ожидания на бета-тест. Тем, кто доступ получал, давалась возможность генерировать пару-тройку запросов в день, причем запросы должны были соответствовать правилам. Нарушил правила — бан. Мы тут в канале даже обсуждали такую “закрытую” политику OpenAI в этом посте.

И тут на свет выход проект Stable Diffusion. Это полностью открытая (open-source) модель для text-to-image, основанная на диффузии.

Модель основана на вот этой статье лабы CompVis. Архитектура модели напоминает стандартные для text-to-image, но есть одно существенное отличие: диффузией генерируется не сама картинка, а ее латентный вектор. Этот вектор потом с помощью декодера автоэнкодера переводится в итоговое изображение.
Эта идея помогает Stable Diffusion работать очень быстро: генерация картинок занимает секунды, а не минуты, и не требует больших вычислительных ресурсов.

Но главное в Stable Diffusion, конечно, это политика доступа: модель полностью открытая. С самого анонса компания Stability AI, которая занимается разработкой модели, обещала выложить веса и код в открытый доступ. И она потихлньку это делает:
- код доступен на GitHub;
- доступ к весам модели можно получить, заполнив форму тут. Модель настолько легкая, что запустить ее, кажется, можно даже на colab.
В будущем обещают выдавать доступы просто всем.

У Stable Diffusion есть еще пара классных преимуществ:
1. У Stable Diffusion есть настраиваемые параметры. Можно будет настраивать размеры изображения (не только квадратные!), количество шагов генерации и, самое интересное — “детализацию” и “загруженность” фото. Подробнее об этом тут.
2. Кроме непосредственно генерации картинок с помощью Stable Diffusion можно делать и другие вещи: например, image inpainting. Вообще Миша вот утверждает, что из Stable Diffusion получится фотошоп будущего. Не знаю, насколько это релевантное сравнение, но демки будущих возможностей впечатляют. Только посмотрите, как Stable Diffusion может изменять видео!

Короче, итог: Stable Diffusion — классный, хайповый проект по создании открытого, и, при этом, качественного text-to-image. И все бы ничего, но пару дней назад в Твиттере поднялось дикое восстание художников против Stable Diffusion. Также снова активизировались разговоры об опасениях развития подобного AI и о том, куда AI катит этот мир. Об этом в следующем посте ⬇️

*Организация признана экстремистской и ее деятельность запрещена на территории РФ
👍29🔥155
Rebellion against Stable Diffusion
#news

Вскоре после того, как Stability AI раздал доступы к своей модели Stable Disffusion большому количеству человек, стали понятны две вещи:
1. Модель действительно очень качественно генерит картинки. Они прям сильно похожи на реальные рисунки, а артефактов практически не наблюдается. Детализация на высоте. А то, что модель легкая, запустить ее просто, а ждать генерации недолго, породило просто огромное количество пользовательских генераций в считанные дни
2. Художники и просто неравнодушные всерьез обеспокоены развитием AI подобного типа. Типа, который претендует на “чисто человеческие” умения вроде креативности и арта.

В Твиттере начали появляться тонны постов с критикой Stable Diffusion и опасениями, к чему это нас приведет. В основном опасаются художники, которые, кажется, стали бояться потерять работу. Пост вида “эта нейронка слишком хороша, я экстремально обеспокоен” набрал более 10k и 88k лайков. Появились хештеги #cancelstablediffusion и #dontreleasetheweights. Подробнее о том, что происходит в Твиттере, есть тут

Также есть мнения, что подобные AI-модельки не просто забирают работу у многих людей, но и делают людей тупее. Вот на Reddit некий AI engineer написал пост, в котором выразил свои опасения по поводу того, куда движется вся индустрия AI. Он сравнил AI-тулзы, которыми мы пользуемся для облегчения работы (DALL-E, который помогает генерить картинки, Copilot, который помогает писать код) с “отупляющими таблетками”. Мол, если бы человек день за днем принимал небольшую дозу отупляющей таблетки, он бы с течением времени сильно отупел, но вряд ли бы сам это заметил. AI-тулзы, считает автор поста, влияют на наш интеллект примерно так же.

Я по этому поводу думаю вот что: хотя я и не жила во время промышленной революции, сейчас у меня возникают явные флешбеки. Та же история с “оно заберет мое рабочее место!”. А уж про “отупение” и говорить нечего: люди боялись этого всегда. Даже когда изобрели книгу (книгу❗️) , многие современники были уверены, что от этого будущее поколение отупеет, лишившись нужды запоминать все знания в памяти. То же самое происходило, когда изобрели интернет, телефон, машину и вообще все остальное.

Короче, я, как обычно, считаю, что науку не остановить. И нужно не пытаться запретить, а приспосабливаться, стараться использовать новые достижения во благо. Человек не тупеет из-за технологии, развитие или деградация человека — это его выбор. Если выбрать развитие, никакие Stable Diffusion этому не помешают. И этот бугурт в Твиттере вызывает желание взять попкорн и наслаждаться шоу🍿

Чтобы лучше вникнуть в тему, вот вам две ссылки:
- интервью Яныка с CEO Stability AI. Поговорили о целях и смыслах Stable Diffusion, а также о том, что в глазах создателя сервиса есть “демократизация ИИ”
- в канале эйай ньюз был пост с обсуждением того, нужно ли запрещать подобные AI-штуки, или нужно подстраиваться под изменчивый мир.

Ну и спрошу у вас: что вы думаете по этому поводу? Какие чувства вызывает Stable Diffusion, реакция общества и вообще текущий курс AI-мира?
38👍20🤯2👏1
Ну и раз уж мы про диффузионные модели: все же знают, что они используются не только для генерации картинок?

Вот, например, свежая статья о диффузии для speech enhancement. Подобные задачи, где нужно избавиться от шума, вообще просто идеально подходят для решения диффузией: идея работы диффузионных моделей как раз состоит в том, чтобы взять объект, последовательно добавлять к объекту шум, а затем обучить нейросеть восстанавливать изначальный объект из этого шума. Ну ребята из IEEE и применили диффузию к speech enhancement, причем архитектура их нейросети заимствована прямо из работ по генерации картинок =) Работает это хорошо, сравнимо с SOTA моделями. Более того, авторы утверждают, что их метод достигает лучшей генерализации, чем предыдущие подходы.

Ссылки:
Статья
Код на Github

Ну и пара ссылок для тех, кто хочет лучше вникнуть в то, как работают диффузионные модели и кто как зачем их сейчас применяет:
✔️ Статья-введение в diffusion models
✔️ Гитхаб-репо со ссылками на статьи/видео/лекции о diffusion models и score-matching models (это нашла в эйай ньюз)
#paper
🔥18👍9
Data Science | Machinelearning — канал, в котором собраны самые интересные статьи на ML/DS тематику!
#промо

Подписывайся, узнаешь:
✔️ Чем отличаются модели ALBERT, RoBERTa и DistilBERT;
✔️ В чем состоит работа AI-иллюстратора;
✔️ Как улучшить датасет для обучения модели;
✔️ Какие крутые нейросети есть в открытом доступе.

Кроме этого на канале часто публикуются вакансии в сфере ML/DS.
Также у автора есть отдельный канал @ds_international, где публикуются англоязычные статьи по ML/DS.

⬇️ Подписывайся и узнавай больше о мире ML! ⬇️

@devsp
👍10🤔1
Рубрика #веселыеистории (когда-то такое должно было случиться, на самом деле)
#ai_fun

Пару дней назад видела в паре каналов восторженные посты о Kaedim. Это сервис, который предлагает создание 3D-mesh по произвольной 2D-картинке за 15 минут. Авторы сервиса заявляют, что генерацией занимается “AI-powered 3D modelling software”. Результаты работы тулзы действительно поражали: она довольно хорошо переводила 2D-картинки в 3D. Это выглядело без преувеличения как настоящая революция в области 3D-modeling и угроза для некоторых потерять работу (но постов тех восторженных уже нет, так что ссылку дать не могу)

Так воот, только я хотела узнать о сервисе подробнее и написать пост (такая AI-тулза стоит внимания!), как увидела этот пост. Похоже, Kaedim всех н***али, и никакой AI-тулзы у них нет. И вообще никакой тулзы нет, кроме морды сайта, а внутри сидят реальные люди и по запросам пользователей генерируют 3D-модельки руками. (как это выяснилось, читайте тут)

Похоже, авторы сериса хотели сделать “шикарную демку своего инновационного AI-алгоритма”, чтобы потом поднять денег у инвесторов и уйти в закат. Ну и параллельно на пользователях сервиса чуть заработать, цены за генерации у них ого-го.

Хорошо, что пост не написала 😅
😁44👍7🤯2
Краткий ликбез по black-box оптимизации и Google Vizer
#learning #paper

Нейросети мы обучаем с помощью backpropagation. Мы подаем данные на вход сети, получаем выходы сети и значение лосс-функции, затем вычисляем производные лосса по весам сети и обновляем веса с помощью этих производных. Получается, тут ответы сети и значение лосс-функции прямо влияют на параметры сети (веса): посчитав лосс-функцию и ее производные, мы сразу понимаем, как именно нужно изменить веса, чтобы модель стала работать лучше (имела меньший лосс).

Но есть много алгоритмов (в том числе ML-моделей), параметры которых оптимизировать не так просто. Это любые недифференцируемые алгоритмы: к примеру, решающие деревья. Тут вы также можете подать на вход решающему дереву данные, получить ответ и значение лосса/метрики качества. Но понять, как нужно изменить параметры дерева (max depth, min samples split, etc), чтобы метрика качества стала лучше, уже не так просто: мы не можем взять производную лосса по этим параметрам и подвинуть параметры в сторону антиградиента. Вот этот случай оптимизации параметров, когда связь между параметрами и выходом сети неочевидна, и называется black-box оптимизацией.

Можно представлять это так: модель — это черная коробочка с торчащими из нее ручками. Тут коробочка — это модель, ручки — ее гиперпараметры. Что в коробочке, вы посмотреть не можете. Вы можете только крутить ручки и смотреть, как от этого меняется выход модели. Задача black-box оптимизации — как можно быстрее, т.е. за как можно меньшее количество итераций, найти оптимальное положение всех ручек.

Заметим еще, что оптимизация гиперпараметров нейросетей — тоже black-box optimization. Сюда входит поиск оптимального learning rate, размера батча, количество слоев, количество нейронов в слоях, выбор функции активации, количества эпох обучения и т.д. Поэтому для нейросетей алгоритмы black-box opt тоже очень актуальны.

Для black-box оптимизации существуют разные алгоритмы. В основном они основаны на гауссовских процессах и байесовской оптимизации. Вот эта статья (на русском!), на мой взгляд, хорошо на пальцах объясняет применение гауссовских процессов.

Так воот. Про black-box оптимизацию мы немного поняли, теперь поговорим о Vizer. Vizer — это большая тулза для black-box оптимизации внутри Google. С помощью нее ищутся лучшие гиперпараметры для большинства ML-моделей Гугла. Внутри Vizer в зависимости от задачи работают несколько разных оптимизационных алгоритмов. По умолчанию используется Batched Gaussian Process Bandits.

Но главная новость — у Vizer недавно появилась open source версия “Open Source Vizer” (OSS). Ее довольно легко настроить и использовать в своих проектах по докам на Google Cloud.

Вот еще несколько ссылок по Vizer:
- Видео о Vizer с Pittsburgh ML Summit 2019. Тут немного про SOTA в black-box оптимизации и про возможности Vizer;
- Статья о Vizer;
- Код на GitHub и инструкция по установке и использованию API;
- Отдельная статья на arxiv по открытой версии Vizer: там описано устройство бекенда сервиса и его возможности, а также и приводится сравнение с другими открытыми тулзами для оптимизации на Python.

Ну и, как обычно: если у кого-то есть хорошие ссылки по black-box оптимизации, welcome to comments =)
👍38🔥2
Дайджест Stable Diffusion и text-to-image

Я не хочу писать/пересылать кучу постов с новостями об этой нейронке (а их правда огромная куча). Их и без меня в других каналах хватает. Поэтому буду писать дайджест с набором новостей и ссылками на соответствующие посты.
#news

Итак:

✔️ 21 августа Stable Diffusion запилил веб-сервис для генерации картинок. Все как обычно: пишешь тестовый запрос, тебе возвращается картинка. При регистрации давали 200 бесплатных генераций, дальше — за деньги. Двести — звучит много, но вот Артем из эйай ньюз говорит, что улетают они быстро: дело в том, что хороших генераций из всей кучи выдается не так много.
В будущем обещают веб-версию дополнять: добавить выбор модели, ее параметров, новые фичи типа inpainting и т.п.

✔️ На Huggingface официально выложены веса Stable Diffusion. Доступны аж четыре версии модели, к каждой есть пояснение, чем она отличается. Теперь можно выкинуть вебку из пункта выше и самому генерить арт сколько захочется в колабе (да, легкие версии моделек позволяют запускать их даже на таком железе)
Вот тут найдете ссылку на готовый колаб с весами и на блогпост Stability AI о релизе весов.

✔️ neural.love выкатили свою версию text-to-image модели. Основана она все на той же статье, что и Stable Diffusion, но у модели от neural.love есть свои плюшки:
- генерация картинок бесплатна и без ограничения количества генераций. Но также можно заплатить, и тогда ваши картинки будут генериться быстрее (в приоритете). Но имейте в виду, что NSFW запрещен.
- моделька выдает хорошие результаты с первого раза, т.е. внутри реализован встроенный черри-пикер.
- со сгенеренными картинками можно играться: увеличивать/уменьшать, добавлять блюр и т.п.

✔️ Непосредственно со Stable Diffusion не связано, но: OpenAI с сентября опускают цены на использование некоторых своих моделей. Снижение цен в 2-3 раза. Интересно, связано ли это с тем, что идет тенденция на создание полностью открытых аналогов моделей? 🙃

Вот такие новости к этому часу. Возможно, я что-то пропустила в потоке информации. Если что, дополню этот пост.
23👍17
В продолжение поста о Google Vizer:

Google представляет OptFormer: первую нейронную модель для black-box оптимизации
#paper

Работал, значит, в Гугле Vizer несколько лет, работал, и накопил достаточно много логов оптимизации разных ML-моделей. И у рисерчеров возникла идея: что если на этих логах обучить нейросеть? И тогда с помощью этой нейросети можно будет оптимизировать параметры других ML-моделей. Так и родился OptFormer.

Устройство OptFormer простое. Архитектура — обычный T5-Трансформер. На вход модель принимает информацию о нейросети и о задаче, под которую нейросеть нужно оптимизировать (на гифке ниже это info: нейросеть обучается под CIFAR-10) Эта информация подается на вход в виде набора текстовых токенов. Например, если мы хотим найти гиперпараметры для сверточной нейросети для решения задачи CIFAR, и наша метрика — accuracy, то на вход модели подаем следующее:

"name": "convnet on cifar10",
"metric": "accuracy",
"goal": "MAXIMIZE"

Также на вход нужно подать список параметров, которые нужно оптимизировать (search space на гифке под постом). Например, вот так можно задать, что лучший оптимизатор нужно искать среди SGD и Adam:

"parameter": {
"name": "opt_type",
"type": "CATEGORICAL",
"categories": ["SGD", "Adam"],
}

После этого начинается процесс подбора гиперпараметров. На каждом шаге OptFormer выдает значение каждого из настраеваемых параметров. Например, “Adam, 1e-3”. Далее нужно обучить нейросеть с этими параметрами, получить результат (значение лосс-функции/метрики качества), и подать это значение обратно в OptFormer. После этого начинается следующий шаг оптимизации: OptFormer видит, какой результат получился с текущими значениями гиперпараметров, и на основе этой инфы пытается подобрать новые гиперпараметры, которые дадут лучший результат.

Короче, user interface как у стандартных байесовских оптимизаторов. Но у OptFormer несколько серьезных преимуществ:
✔️ В OptFormer можно задать, какой алгоритм оптимизации имитировать. Как я писала в посте выше, для black-box оптимизации есть много разных алгоритмов. OptFormer учился на логах всех из них, поэтому может имитировать процесс подбора параметров разными алгоритмами. Чтобы заставить OptFormer имитировать grid search, к примеру, нужно на вход подать еще один параметр: "algorithm": "random_search”. Результаты экспериментов показывают, что OptFormer достаточно хорошо прикидывается различными алгоритмами.
✔️ Кроме значений параметров на каждом шаге OptFormer также выдает ожидаемую метрику качества, которая должна получиться у нейросети с такими параметрами. Причем выдает весьма неплохо, как пишут в статье.
Эта фича — предсказание значения метрики качества для набора параметров — позволяет OptFormer работать даже лучше, чем стандартные алгоритмы (и даже лучше, чем Vizer). Дело в том, что на каждом шаге работы алгоритма можно семплировать сразу несколько значений параметров, а затем выбрать из них лучший, основываясь на предсказаниях метрики качества для каждого из набора параметров. По результатам экспериментов OptFormer действительн могёт: оптимизация ResNet-50 на CIFAR-10 у него заняла меньшее количество итераций, чем у Vizer, и итоговый достигнутый accuracy получился даже лучше.

Ссылки:
Блогпост Google AI
Статья на arxiv
🔥22👍7
#промо

Wunder Fund: проект для Python разработчика / Data engineer 🔥

Мы в wunderfund.io занимаемся высокочастотной торговлей на бирже (HFT) с 2014 года, активно используем машинное обучение. Сейчас мы торгуем на 12 биржах по всему миру и наш дневной оборот больше $4 млрд.

И у нас много данных.

Ищем Питон-разработчиков в команду:

🛠 Вы будете разрабатывать парсеры биржевых данных и программы для надежного их сохранения. Будете развивать автоматический пайплайн ежедневной обработки этих сохраненных данных.

👺 Идеальный человек хорошо знает Python и уже строил пайплайны на Luigi/Airflow/etc и выкатывал их продакшн, работал с облачными платформами.

👾 У нас сильная команда и развитая инженерная культура. Вот небольшое видео с рассказом нашего СТО о том, как устроена работа и вообще — https://youtu.be/662q9FVqp50
А вот более подробное описание вакансии (https://wunderfund.io/jobs/data-eng).

Платим от 200 до 400к в месяц ($3k — $7k). В особых случаях больше, договоримся.

Контакт @nedifar1703
👍18💩10👎1
Анонс!

В понедельник (29.08) я буду записывать новый выпуск подкаста Deep Learning Stories, и мне нужны ваши вопросы гостю =)

Гость выпуска — Артемий Новоселов, постдок рисерчер в Stanford University и автор канала NN for Science. В Стенфорде Артемий занимается ML в сейсмологии.

В выпуске обсудим:
- путь Артемия в рисерче: как добраться до Стенфорда;
- что такое землетрясения и какими методами их пытаются предсказывать;
- AI в сейсмологии: как применяется сейчас, какие есть проблемы и какое видится будущее.

Выпуск будет не живой, выложу я уже запись. Сейчас под этим постом у вас есть возможность задать вопросы Артемию. В понедельник при записи выпуска мы добавим эти вопросы в программу.

Вопросы Артемию ⬇️
🔥41👍3🤩3🤮1😍1
Google запускает приложение AI Test Kitchen. Это приложение на Android (скоро и на iOS). Оно призвано, с одной стороны, дать широкому кругу людей понимание, на что способен современный ИИ, а с другой — помочь Гуглу тестировать новые AI-модели.
#tech

В приложение будут добавляться демки разных AI-моделей. Сейчас туда уже внедрили LaMDA. Сценарии взаимодействия пока такие:
- “Imagine it”. Задаете любое место (например, дно океана), и модель описывает, что вы видите вокруг себя. Вы можете задавать вопросы (например, “есть ли вокруг осьминоги?”), и модель дополнит ответ. Говорят, развивает воображение =)
- “List it”. Задаете цель, и LaMDA помогает разбить эту цель на небольшие шаги
- “Talk about it”. Тут можно просто общаться с LaMDA. Правда, пока только о собаках…

Идея крутая: так больше людей смогут “потрогать страшный ИИ” и понять, на что он способен на самом деле. И для Гугла есть польза: по мере общения с LaMBA пользователи будут оценивать ее ответы по нескольким критериям, помогая Гуглу улучшать модель.
🔥29👍12
Сегодня я целый день на бегущем городе, времени писать что-то сложное нет (этот пост писала в машине на трассе Москва-Волоколамск =). Держите поэтому список недавних хороших постов из других каналов:
#news #learning #tech

✔️ BEiT-3: Image as a Foreign Language. Новая мультимодальная модель от Microsoft, которая родила сразу 12 рекордов!

✔️ Идея, лежавшая на поверхности: ребята из University of Maryland попробовали обучать диффузионные модели не с гаусовским шумом, а с другими деструктивными операциями на картинках: блюр, маскирование и т.д. И это работает на практике! Хотя теоретических доказательств работоспособности модели ни в одном из этих случаев нет.

✔️ Начинаются первые попытки в text-to-3Dimage. Пока что работает так себе, но работает же!

✔️ А с помощью наших любимых tetx-to-image можно создавать вот такие шедевры в дизайне одежды! Вообще, ИИ-одежда — это не новость, шить одежду по дизайну ИИ начали уже давно. Об этом писала тут. Но с новыми tetx-to-image модельками будет еще круче!

✔️ Meta* выпустили новую языковую модель для протеинов. Работает по качеству похоже на AlphaFold, но по скорости сильно быстрее. Есть статья, код и веса.

✔️ В Сберлоге в четверг пройшел очередной семинар. На нем Татьяна Шаврина (AIRI, Sberdevices) рассказала о том, как они в AIRI учили mGPT (многоязычную модель GPT-3 для 61 языка мира).

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

✔️ Один разраб создал “умный дверной звонок” для котов. Кот подходит к звонку, мяукает, звонок распознает мяуканье и отправляет человеку на телефон инфу, что кот хочет домой. Код есть, если вдруг хотите себе такой же)

✔️ Ну и напоследок: кто-то зафайнтюнил text-to-image модель для генерации обнаженных девушек. Выходит неплохо, проверяли всем чатом. Не благодарите)

*Организация признана экстремистской и ее деятельность запрещена на территории РФ
🔥30👍11🤬21🤔1
AI, соответствующий времени (осторожно, мат❗️)

Если кто-то все еще ищет пет-проект…
#ai_fun
🥰42😁8👍64👎1💩1
DLStories
(Очень) краткий ликбез по методам оптимизации нейросетей #learning Нейросети, как мы знаем, обучаются с помощью алгоритма обратного распространения ошибки (backpropagation). Основа backprop’а — вычисление производных первого порядка лосс-функции по весам…
Ребят, тут случилось следующее: из-за санкций Google вчера отключил физтеховскую почту @phystech.edu, которая хостилась на gmail. И ко всем файлам, что были на гугл диске, пропал доступ. Почту саму перенесли на Yandex (письма теперь приходят туда), а файлы с диска — нет.

К чему я это: в этом посте я давала ссылки на свои два колаба по производной и градиентной оптимизации. Они как раз валялись на аккаунте @phystech.edu, и к ним пропал доступ. Со стороны это выглядело так: если нажать по ссылке в посте, открывается страница Гугла, которая говорит, что доступа нет, и предлагает доступ запросить. Вчера и сегодня я на почту получила несколько таких запросов доступа. Но открыть его я не могу: я сама теперь тоже не имею доступа к этим файлам.

Я сейчас перенесла ноутбуки на другой акк gmail, поменяла ссылки в посте. Если это были вы, кто запрашивал доступ к файлам, то ткните по новым ссылкам, пожалуйста. По старым работать уже ничего не будет.
🤬3313👍11😢7🤡6😁3
2025/07/14 09:12:18
Back to Top
HTML Embed Code: