finitely presented – Telegram
Forwarded from ML-легушька (Николай Кутузов)
👍3😁1🤬1
4
В декабре я успешно сдал курс Математика больших данных. Нужно было либо решить всякие стохастические задачки, либо сделать проект. Я выбрал второе, и сейчас я про это расскажу.

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

Хорошая новость заключается в том, что, хоть матрица (пользователи, фильмы) и большая, но скорее всего она малоранговая: вероятно, существует какой-то небольшой набор фильмов, оценки которых будут давать оценки всем другим фильмам. Как это понимать?
Об этом можно думать так: все фильмы можно разбить по жанрам: детективы, комедии, хорроры. Если пользователю A нравятся детективы (например, всем просмотренным детективам он выставил высокую оценку), но не нравятся хорроры (аналогично, всем просмотренным хоррорам он выставил низкую оценку), то вполне вероятно, что какому-то другому детективу он также выставит высокую оценку, а значит и предлагать ему надо какой-то детектив. В этом и заключается малоранговость матрицы (пользователи, фильмы): можно найти небольшое число фильмов (скажем, по одному ключевому фильму в каждом жанре), пользовательские оценки которых будут определять оценки других фильмов.

Допустим, это так. Выходит, чтобы приблизить нашу исходную матрицу (пользователи, фильмы), нам нужно искать среди матриц такого же размера, но у которых маленький ранг (например, ранг k). Это как-то облегчает нашу участь? О да: множество матриц фиксированного размера и фиксированного ранга, на самом деле, являются гладким многообразием! Более того, оно погружено в Евклидово пространство, а значит можно наследовать риманову метрику с объемлющего пространства на наше многообразие. А тогда мы можем заниматься всякой гладкой оптимизацией, ведь у нас теперь есть возможность посчитать градиент.

Рассмотрим такую функцию f(index; A) = A[index], которая по заданным индексам и матрице возвращает значения матрицы в этих индексах. Пусть index будет теперь означать индексы исходной матрицы (пользователи, фильмы), в которых стоят оценки. Тогда, можно рассмотреть квадратичную функцию ошибки на многообразии матриц фиксированного ранга:
(f(index; (пользователи, фильмы)) - f(index; A))**2
Ее мы можем минимизировать тем же градиентным спуском, и тогда мы получим приближение нашей исходной матрицы. То есть у нас получится найти такую матрицу A, у которой на пересечении известных оценок будут, собственно, эти самые оценки, а для тех фильмов, оценки которых мы еще не знаем, мы получим какое-то приближение.
Но мы ведь этого и хотели! Теперь мы примерно знаем, что конкретный пользователь может поставить фильму, который он еще не смотрел — надо просто глянуть на нужную ячейку в матрице A. Ну и дальше уже думать, предлагать ли фильм или нет.

Вообщем, просмотреть все детали и код можно в этой тетрадке.
👍4🔥21
Биг бой 🤓
3🔥3🥴1
Я тут решил устроить reading seminar по geometric deep learning: хоть книга и небольшая, читать ее вместе полезнее и веселее.
Если это еще кого-то заинтересовала, то ссылочка вот.
👍31🤡1
Что за лев этот тигр 😮‍💨😮‍💨

Кстати его статья Topology of deep neural networks на самом деле оч крутая: оказывается, когда fully-connected нейроночка пытается отличить, скажем, кошечек от собачек на картинке, то она упрощает топологию пространства картинок с кошечками и пространства картинок с собачками до такой степени, что эти два пространства легко друг от друга отделить, хоть и сперва эти два пространства могли быть очень сложно устроены. Во дела 😲🤓
🔥1🌭1
Forwarded from Empty Set of Ideas
https://oimo.io/works/life/

Можно позумить бесконечную игру жизнь в игре жизнь в игре жизнь...

Забавно, конечно, достаточно легкого изменения на одном из уровней, чтобы все последующие обратились в прах, а предыдущие остались сохранны
🔥2🐳2
🤭😁🤭😁🤭
5❤‍🔥1
Я слева 👹
👍8
А я тем временем сдавал TOEFL, удалось набрать 99/120 баллов 🤨

Экзамен длился почти 4 часа, и уж точно не был самым простым. Но и сложным, в общем, назвать его было бы неправильным.

Я хотел набрать 100 баллов, но не хватило совсем чуть-чуть. Меньше всего набрал в Speaking, может быть, мой плохой встроенный в ноутбук микрофон подвел меня, может быть заветный 1 балл я бы добрал, будь микрофон получше. А может и нет.

Но и 99 баллов — это тоже неплохой результат, учитывая, что я почти не готовился к тесту. Я писал тест 20 марта, регистрировался на него 18 марта, и времени на подготовку толком и не было. Все, что я в итоге сделал — это прослушал курс TOEFL: Test Preparation на edX, который дал мне представление о структуре экзамена.

В общем, первый опыт сдачи международного экзамена оказался неплохим
🔥10👍3
Forwarded from Kandinsky
Результат генерации по запросу "короткая точная последовательность в реальной жизни"
❤‍🔥2😢1
Давно я сюда ничего не писал ...

За прошедшие 1.5 месяца успело многое измениться:
- Я устроился на работу в Хуавей
- Я поступил в американский университет
- Я защитил диплом
🔥161
Про работу в Хуавее:
Уже больше месяца я работаю в Ноевом ковчеге (Noah’s Ark) — исследовательском подразделении Хуавея, младшим инженером. На самом деле попасть сюда хотел давно: я видел работы людей отсюда, знал нескольких личностей, что тут работали и работают. Я попал в команду, которая исследует использование нейросеток в различных задачах комбинаторной оптимизации. Устроенный в этом семестре семинар по геометрическому глубокому обучению оказался как нельзя кстати: на работе мы активно используем графовые сеточки.
Единственным минусом, наверное, является очный формат работы: я привык сидеть в Воронеже и делать все онлайн: учиться, работать. Но у очного формата работы куча своих плюсов though.

Про американский университет:
В общем-то, я до этого писал о том, что я сдал TOEFL, это было не просто так: еще в ноябре мой научный руководитель предложил мне поступить к нему в University of Texas Rio Grande Valley. Для меня это было неожиданным предложением: я планировал продолжить обучение в аспирантуре в России, об иностранной аспирантуре я и не думал, хотя мысли об учебе зарубежом у меня были еще со школы. В общем, колеблясь, я решил подавать документы. Помимо TOEFL, мне пришлось сделать оценку диплома в WES, и спустя небольшое время мне пришло письмо о том, что я поступил. Учеба, конечно, очная, о чем я знал, и из-за чего и колебался: покидать близких мне людей не хотелось и не хочется. С другой стороны, это крутая возможность, которую также не хочется упускать. Поэтому, когда мне пришло письмо, я испытывал двоякие эмоции.
В общем, теперь я — студент техасского университета 😎. Городок, в котором я буду находиться ближайший год находится прямо у границы с Мексикой, на 22 параллели, рядом с заливом. Возможно наконец научусь плавать 🌚

Про диплом:
Я писал диплом, совмещая его с работой: это давалось непросто, но все же все получилось. Диплом посвящен топологическим методам в анализе данных, в нем рассмотрены 3 разные темы, из которых мне кажется наиболее стоящей внимания последняя, посвященная тому, как меняется топология данных, проходящих через слои нейросети. Я немного уже упоминал про статью статью Topology of Deep Neural Networks, исследования на эту тему в моем дипломе вдохновлены этой статьей. Несмотря на то, что мне было наиболее интересно заниматься этой темой, я не могу сказать, что у меня получились какие-то крутые результаты, или что работа хоть как-то окончена: еще есть, что делать, и, может быть, однажды это выльется в действительно хорошую работу и полноценную публикацию.
Защита прошла довольно хорошо, правда давалось мало времени на доклад. По итогу я получил свою отл(9).
13
Forwarded from AI для Всех
С Llama-2 🦙 уже можно поговорить

У французского стартапа Hugging Face 🤗, которые изначально прославились хабом для трансформеров (когда еще это называлось NLP), оказывается есть свой веб-интерфейс для чат моделек.

Он называется Hugging Chat и они только что добавили поддержку Llama-2.

Уже можно идти общаться!

🤗 HuggingChat
🔥1
Forwarded from Записки Ппилифа (Ppilif)
Офигенно! Документирование чуть ли не построчно :3

This is a collection of simple PyTorch implementations of neural networks and related algorithms. These implementations are documented with explanations, and the website renders these as side-by-side formatted notes. We believe these would help you understand these algorithms better.

https://nn.labml.ai/
3😢1
Люди работают, понимать надо ...

Нежданно-негаданно решил с друзьями: Сережей и Германом, залететь на Всероссийский хакатон от Цифрового прорыва в Нижнем, на кейс от РЖД. Необходимо было придумать модель для координации вагонопотока между жд станциями.

Мы посидели-посидели, и в итоге заняли 3-е место, выйграли килограмм варенья, килограмм печенья, а также поездку куда-то 🥳🥳
🎉7😢2
ОАО «РЖД» – Координация пропуска вагонопотока

ТОП 5 ⚡️
1️⃣ Шишка
2️⃣ Код Гиасс
3️⃣ Люди Работают. Понимать Надо.
4️⃣ RGB
5️⃣ Lymnict

Новички:
🍀 Код Гиасс
🍀 Люди Работают. Понимать Надо.
🍀 LearnPrints
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉4😢3