ᴀɴᴅʀᴇ | ᴅᴀᴛᴀ sᴄɪᴇɴᴄᴇ
164 subscribers
102 photos
7 videos
35 links
Телеграм канал обычного студента, которому нравится всё изучать
Download Telegram
Media is too big
VIEW IN TELEGRAM
🔥 Итак, разработка системы управления манипулятором через семантику официально завершена

Честно скажу, потратил на это дело я немало нервов и времени. Давайте я сначала расскажу о том, как вообще велась разработка, а потом — об окончательном решении и архитектуре

Казалось бы, что трудного — проверить смысловую близость между двумя предложениями. Я тоже так думал, когда использовал связку TF‑IDF и логистической регрессии, которая оказалась вообще неэффективной в этой задаче

Это было слияние нескольких математических формул, чрезвычайно чувствительное к изменениям. Если, к примеру, степень схожести для предложения «Перекинь кубик вперёд» составляет ≈93%, то для предложения «Перекинь кубик вперед» она может упасть до ≈10%. Такая комбинация оказалась непрактичной

Затем я решил полностью поменять архитектуру и получил следующую структуру:
Токенизация – все слова превращаются в числа, максимальная длина предложения — 10

Embedding-слой – каждое число заменяется на 64-мерный вектор

BiLSTM (двунаправленная LSTM) – слой, который «читает» фразу в обе стороны и возвращает 256-мерный вектор

Dropout – случайно выключает 50 нейронов, чтобы не допустить переобучения

Dense + Softmax – возвращает список вероятностей принадлежности к каждому классу

В конце берётся класс с самой большой вероятностью

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

После небольшого пребывания в тильте я снова поменял архитектуру, о которой расскажу в посте ниже 🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍55🆒3🐳1
⚙️ Глянем под капот

Довольно интересно всё сложилось: я пришёл к тому, к чему меня всё время направляли — взять готовую SLM-модель и внедрить её в код, что я, в принципе, и сделал

Немного повозившись с датасетом и в сотый раз перебрав обучающие данные, я смог добиться стабильной работы модели и устранить ложные срабатывания

Пробежимся по метрикам:
Accuracy — самая стандартная метрика, процентное отношение правильно распознанных команд к общему количеству. Правда, в некоторых моментах она бывает обманчива

Матрица ошибок — в этой матрице первый столбец (реальный класс) и первая строка (предсказанный класс) одинаковы. Числа в самой матрице — это либо дробь, либо точное количество правильно предсказанных примеров

Precision и Recall — тут лучше разобрать на примере. Предположим, что в нашей выборке есть 10 фраз со значением «влево». Модель предсказала эту команду 8 раз (некоторые правильно, а некоторые нет). Допустим, 7 фраз были предсказаны верно, одна фраза была ошибочно принята как команда «влево», а оставшиеся 3 команды модель распознала как-то иначе. Тогда значение метрики Precision будет равно 0,875 (87,5%), а значение Recall — 0,7 (70%). Из этого делаем вывод: Precision показывает, насколько можно доверять модели, когда она говорит, что команда распознана, а Recall показывает, как много реальных команд модель не пропускает. Вот здесь вычисления метрик

F1-Score — это среднее гармоническое между Precision и Recall. Но почему именно гармоническое, а не арифметическое? Рассмотрим ситуацию: допустим, на команде «влево» имеем Recall = 1,0 (то есть мы всегда замечаем эту команду), а Precision = 0,1 (значит, ложных срабатываний очень много). Берём среднее арифметическое: (1 + 0,1) / 2 = 0,55 — выглядит терпимо. Теперь берём гармоническое: 2 * (1 * 0,1) / (1 + 0,1) ≈ 0,18 — значение намного меньше, то есть мы оценили модель гораздо строже

Кросс-валидация — вообще прикольная метрика. Лучше сразу показать на примере. Допустим, в датасете всего 500 фраз. Делим их на 5 разных частей (фолдов) — получаем, что размер каждого фолда составляет 100 фраз. Начинается итерационный процесс: сначала модель обучается на 2–5 фолдах и тестируется на 1-м, потом смена: обучаемся на 1, 3, 4, 5 фолдах и тестируемся на 2-м фолде, и так далее, пока каждый фолд не выступит в роли тестового. Итоговая точность — среднее арифметическое по 5 итерациям. Это даёт более стабильную и честную оценку качества, чем одно случайное разбиение 80/20


Ну и пару слов об архитектуре:
Нейросеть — RuBERT-tiny2. Это модель типа BERT (Bidirectional Encoder Representations from Transformers), а именно её энкодерная часть. На выходе получаем 312-мерный вектор

Классификатор SVC (Support Vector Classification). Здесь мы ищем в 312-мерном пространстве оптимальные границы гиперплоскости, которые максимально чётко разделяют наши исходные классы
Первый результат довольно хороший. Дальше можно допиливать ещё какие-то фичи, команды, добавить больше обучающих данных — пока грандиозных идей особо нет. Зато за это время я понял, что с текстовыми данными работать как будто труднее, чем с числовыми, и что как бы ни был шикарен метод обучения, если датасет — мусор, то ждать положительного результата не стоит. Хотя этап EDA (Exploratory Data Analysis) — обязанность скорее дата-аналитика, а не моя

🌸 Спасибо тебе, читатель, что дочитал этот длиннющий пост до конца. Если есть другие идеи решения этой задачи и другой архитектуры, я бы сразу их послушал

Узреть сей шедевр можно тут
Please open Telegram to view this post
VIEW IN TELEGRAM
562❤‍🔥1
Совсем недавно в нашем вузе прошёл цикл образовательных лекций от преподавателей Университета ИТМО

Перед студентами и преподавателями выступили:
🧑‍🎓 Бухановский Александр Валерьевич — руководитель научно-исследовательского центра «Сильный ИИ в промышленности», доктор технических наук

⚡️В лекциях поднимались темы основ современных технологий ИИ и компьютерного зрения. Также обсуждались философия современного ИИ и экономика ИИ. Разобрали кейсы «Татнефти», обработку сотен строительных ГОСТов, ИИ-косайнтистов и применение цифровых двойников

🧑‍🎓 Климова Александра Сергеевна – директор учебно-методического центра «Искусственный интеллект», кандидат технических наук
⚡️Лекция была посвящена внутреннему устройству международных научных конференций, культуре рецензирования и системе финансирования исследований в области ИИ

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

🔥 Для меня это большая возможность — пообщаться с действующими экспертами в своей области, получить ценные знания и опыт, которые точно пригодятся в дальнейшей работе. Огромная благодарность Университету ИТМО за визит!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
8😁1
Тэкс, долго я тут не появлялся, надо исправляться! 😒

Всем привет! Извиняюсь за такой внезапный простой на канале — было много дел, связанных с учёбой в универе и работой. Ща всё расскажу

Что произошло за это время?
Готовясь к сессии, я параллельно задумывался о развитии канала: посты мне казались какими-то неживыми и слишком большими. Многие говорили, что читать огромные посты на постоянной основе трудновато, поэтому буду разбавлять их мини-постами, где спонтанно и в свободной форме буду делиться своими мыслями, без громадных текстов (хотя прямо сейчас я нарушаю эту установку 😅)

Хочу также похвастаться: я впервые в жизни попробовал себя в сфере преподавания и в мае выпустил своих первых учеников. Честно скажу — это неоценимый опыт! За мной закрепилась группа из 16 человек, все ученики девятиклассники, готовились к математике. Несмотря на две недели подготовки к этому курсу, первое время было немного страшно

В большинстве случаев, когда преподаватель объясняет материал своим ученикам, он частично прививает им своё видение вещей и мира. То, как ты преподносишь и объясняешь материал, отразится на ученике, и после осознания этой мысли я почувствовал на себе огромнейшую ответственность

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

Несмотря на то что курс был относительно небольшим, расставаться с ними было крайне тяжело. Сейчас они сдали уже все экзамены и идут в 10 класс / колледж. Некоторые из них до сих пор поддерживают со мной связь, делятся своими мыслями, идеями, что мне очень приятно! Искренне надеюсь, что они добьются всех своих целей 🫂

Дальше самое интересное. Зачётную неделю закрыли успешно, дальше шли четыре экзамена, два из которых удалось закрыть автоматом. На двух других пришлось знатно попотеть, но всё обошлось (аж самому не верится), в итоге закрылся на «хорошо» и «отлично», и можно теперь отдыхать... да?

Ага, щас! Ещё до начала последнего экзамена мне прилетело предложение поучаствовать в хакатоне по треку «робототехника и сенсорика»! Уже могу сказать, что кейс ооочень неординарный. Да, я понимаю, что говорю так почти про каждый кейс, но именно этот — особенный)

Поэтому скоро я снова смогу ощутить эту атмосферу непрерывного кодинга, брейншторма и аналитики, буду присылать кружочки. Если такой формат вам зайдёт, поставьте там огонёчек какой нибудь

В общем, будет много контента, благо сессия закрыта, долгов нет, значит, можно участвовать во всём подряд! Ждите новостей 😎

— Рассказывайте, как проходят ваши каникулы. Как экзамены / ОГЭ / ЕГЭ?
Please open Telegram to view this post
VIEW IN TELEGRAM
113👏1🆒1
Channel name was changed to «ᴀɴᴅʀᴇ | ᴅᴀᴛᴀ sᴄɪᴇɴᴄᴇ»
Начали 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
6👍2👏1💯1
Это было жарко 🔥

Вот и прошёл хакатон по треку «Робототехника и сенсорика» — хак, который мне запомнится надолго!

Описание кейса оставлю тут и сразу перейду к сути: изначально, до публикации расширенного кейса, мы предполагали, что нам будут доступны следующие приборы:
1. Акселерометр – для вычисления линейного ускорения

2. Гироскоп – для измерения угловой скорости

3. Магнитометр – для определения направления по магнитному полю

4. Высотомер – для измерения расстояния от дрона до земли

5. Барометр – для измерения давления (или высоты над уровнем моря);

6. Лидар/радар – для лазерного сканирования местности

7. Цифровая карта рельефа – 2D-карта, которую можно представить в виде матрицы, элементы которой являются значениями высот рельефа

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

В итоге мы с Игорем (мл-щиком) два с половиной дня горбатились, чтобы создать супер-универсальный алгоритм для определения положения дрона в пространстве. Точнее набор алгоритмов, потому что рельефы бывают разные. Мы разделили их на плоский, умеренный и скалистый. В итоге под каждый тип местности работали свои алгоритмы и наборы правил

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

Теперь следующий пункт назначения – Регион 93
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👏4🏆4
Кстати, ещё закупился на лето классными книжками

Первая книжка — чисто практическая. Там всё про линал, тервер, матстатистику и машинное обучение. В общем, весь набор, который должен знать топовый специалист

Другая книжка тоже практическая, но в ней огромный упор сделан на статистический анализ

Следующая — для карьеристов. Её можно считать уже финальным этапом, когда все практические основы уже изучены

Ну и английский, куда же без него. Одно дело — понимать чужую речь, другое — самому излагать мысли на этом языке. Надо закрыть гештальт
73😍2
Forwarded from Data Secrets
This media is not supported in your browser
VIEW IN TELEGRAM
В Шэньчжэне стартовал первый в мире MMA чемпионат среди роботов – Ultimate Robot Knock-out Legeng

Выглядит достаточно эпично. Главный приз – полтора миллиона долларов, кстати.
😱3😁2
Фильм «Живая сталь» скоро станет реальностью 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
9