Как стать автором
Обновить

Компания Питерская Вышка временно не ведёт блог на Хабре

Сначала показывать

Как я магистратуру по биоинформатике окончил

Блог компании Питерская Вышка Учебный процесс в IT Биотехнологии Интервью

В прошлом году НИУ ВШЭ — Санкт-Петербург и компания BIOCAD открыли магистерскую программу для физиков, математиков и программистов “Вычислительная биология и биоинформатика”. А годом ранее, в 2020-м, запустили экспериментальный трек по биоинформатике (о чем мы кратко рассказывали в этом посте). Сегодня мы поговорили с первым (и единственным!) выпускником трека Ярославом Гераськиным о том, почему он после бакалавриата ВМК МГУ уехал в Питер, променял компьютерное зрение на биоинформатику и как устроился в BIOCAD в начале второго курса. 

Читать интервью
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 2.1K
Комментарии 3

Модели мира или мультиагентное обучение с подкреплением в рамках бюджета

Блог компании Питерская Вышка Алгоритмы *Машинное обучение *Искусственный интеллект

Всем привет! Меня зовут Владимир, и в этом я году оканчиваю магистратуру “Программирование и анализ данных” в Высшей школе экономики в Петербурге, а также работаю в JetBrains Research. В этом посте я хочу рассказать про нашу статью Scalable Multi-Agent Model-Based Reinforcement Learning, которую приняли на большую конференцию AAMAS’22 (A*). Над статьёй я работал вместе с Алексеем Шпильманом, заведующим Центром анализа данных и машинного обучения в Вышке. 

В статье мы впервые предлагаем использовать модель мира в мультиагентных средах с большим количеством агентов, показывая эффективность такого подхода в использовании опыта при обучении. Модель мира позволяет обучать оптимальное поведение агентов в десятки раз быстрее текущих аналогов, что значительно уменьшает количество требуемых ресурсов.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.2K
Комментарии 1

Учим LLDB уточнять указатели на локальные переменные

Блог компании Питерская Вышка Программирование *C++ *

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

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

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 1.9K
Комментарии 3

Тенденции в российской it-индустрии: анализируем Хабр, Хабр Карьеру и Stepik

Блог компании Питерская Вышка Машинное обучение *Карьера в IT-индустрии

Привет, Хабр!

Меня зовут Саша и я учусь на втором курсе «Прикладной математики и информатики» в Питерской Вышке. В осеннем семестре я занималась научно-исследовательской работой, в которой сравнивала IT-тенденции. Эта история о том, как я не хотела изобретать велосипед, а в итоге открыла целый велосипедный магазин. 

В этом посте я расскажу, как собирала и анализировала данные с Хабра, Хабр Карьеры и Stepik и какие тренды мне удалось нащупать. Возможно, эта информация будет полезна начинающим специалистам, которые только строят свою карьерную траекторию [спойлер: подумайте, точно ли хотите идти в веб-разработку]. 

Читать далее
Всего голосов 15: ↑12 и ↓3 +9
Просмотры 14K
Комментарии 15

Как найти плагиат в контестах по программированию

Блог компании Питерская Вышка Программирование *Алгоритмы *Учебный процесс в IT

Многие (особенно в постсоветских странах) относятся к списыванию довольно беззаботно. Ученики в школах, студенты в университетах, а затем и специалисты в своей работе заимствуют чужие идеи и решения, не чувствуя вины за обман. Между тем плагиат — это не безобидное «подумаешь, списал», а серьезная проблема, которая ведет к мошенничеству и коррупции [1, 2]. 

Существует множество инструментов, направленных на поиск плагиата в текстах, изображениях и промышленном коде, которые показывают отличные результаты. Но в программировании есть область — решение олимпиадных задач — где применение этих инструментов никогда не изучали. В посте я расскажу об одном из самых перспективных алгоритмов поиска плагиата GPLAG и как я исследовала его применимость в олимпиадном программировании.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 3.1K
Комментарии 15

Градиенты в нейронных сетях для поиска аномалий в данных

Блог компании Питерская Вышка Алгоритмы *Математика *Машинное обучение *

В основе машинного обучения лежит предположение, что данные для обучения, тестирования и применения взяты из одного и того же распределения. К сожалению, в процессе применения модели это предположение может нарушаться, что приводит к необъяснимым последствиям — сдвигу распределения. Особенно такие нарушения опасны в областях, где требуется быстро и точно принимать решения: медицина, финансы, self-driving cars. 

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

Меня зовут Глеб Енгалыч, я аспирант Питерской Вышки первого года обучения. В этом посте я расскажу о своей магистерской диссертации «Анализ градиента нейронной сети для поиска аномалий в данных», которую сейчас активно дорабатываю для подачи на конференцию ICML-2022.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 4.5K
Комментарии 5

JetBrains и Питерская Вышка приглашают на вторую школу по практическому программированию

Блог компании Питерская Вышка Учебный процесс в IT

Школа по практическому программированию и анализу данных ориентирована на учащихся 10 и 11 класса, которые углубленно занимаются математикой и информатикой и собираются поступать в топовые вузы. 

Школа пройдет в два этапа. Первый включается в себя продвинутый курс по алгоритмам и обзорные лекции по C++, машинному обучению и биоинформатике. Второй этап будет посвящен работе над практическими проектами под руководством представителей индустрии и студентов-старшекурсников.

Подробнее о программе, кураторах и датах рассказываем в посте. Если заинтересовались, не откладывайте в долгий ящик: регистрация продлится до 26 декабря.

Узнать подробности
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 4.3K
Комментарии 0

Приложение для аудиозвонков с регулировкой звука, как в реальной жизни

Блог компании Питерская Вышка Программирование *C++ *Qt *Разработка систем связи *

Распространенная в пандемию ситуация: общаетесь с друзьями или коллегами по Zoom, несколько человек начинают говорить одновременно и… разобрать хоть что-то не представляется возможным. Эта проблема натолкнула нас на идею написать свое приложение для аудиозвонков, где громкость регулируется весьма необычным образом. У каждого пользователя есть свой аватар — кружок на плоскости, который управляется перетаскиванием. Чем ближе аватары пользователей на экране, тем громче они друг друга слышат. Работает ли это? В целом да. Рассказываем, что у нас получилось.

Читать далее
Всего голосов 23: ↑22 и ↓1 +21
Просмотры 4.8K
Комментарии 25

От копии аркады 90-х на отдельном носителе до полноценной компьютерной игры со своим геймпадом

Блог компании Питерская Вышка C++ *Разработка игр *Программирование микроконтроллеров *Разработка под Arduino *

Привет, Хабр!

Наверняка в фильмах или сериалах, а может быть даже на собственном опыте, вы сталкивались с игровыми автоматами. Мы тоже, и однажды у нас появилась идея создать современную версию игры, похожую на всеми любимую космическую аркаду Blasteroids. А чтобы вдвойне воплотить наш замысел в жизнь, мы сделали два режима управления игрой, один из которых — с помощью Ардуино, играющего роль маленького переносного геймпада, а другой — с помощью клавиатуры.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 3.1K
Комментарии 0

Как мы добавили поддержку языка Frege в IDEA. Часть 2

Блог компании Питерская Вышка Java *Совершенный код *Функциональное программирование *Учебный процесс в IT

Привет! Это вторая часть рассказа о том, как мы поддерживали язык Frege в IntelliJ IDEA. Первую часть читайте здесь. Сейчас мы поделимся, как сделали автодополнение, систему сборки, интерпретатор и систему типов. И как все это тестировали.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 2K
Комментарии 1

Как мы добавили поддержку языка Frege в IDEA. Часть 1

Блог компании Питерская Вышка Java *Совершенный код *Функциональное программирование *Учебный процесс в IT

В этом посте мы расскажем, как реализовывали плагин для поддержки функционального языка Frege в IntelliJ IDEA. Если вам интересно, как IDE от JetBrains работают внутри, или вы хотите поконтрибьютить в языковые плагины (а может даже написать свой!), эта статья для вас. Мы пройдемся по этапам создания языкового плагина для IDEA, расскажем, с какими трудностями столкнулись, и как подружили этот язык с JVM-миром.

Читать далее
Всего голосов 35: ↑35 и ↓0 +35
Просмотры 5.4K
Комментарии 9

Абстрактные 3D-фракталы всех сортов на C++

Блог компании Питерская Вышка Программирование *C++ *CGI (графика) *Учебный процесс в IT

Привет, Хабр!

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

Читать далее
Всего голосов 34: ↑34 и ↓0 +34
Просмотры 10K
Комментарии 7

Многопользовательская сетевая игра Ticket to Ride

Блог компании Питерская Вышка Программирование *C++ *Разработка игр *Учебный процесс в IT

Привет, Хабр! Мы — Тимофей Василевский, Сергей Дымашевский и Максим Чайка — только что окончили первый курс бакалавриата «Прикладная математика и информатика» в Питерской Вышке. В качестве семестрового проекта по C++ мы написали симулятор всем известной настольной игры Ticket to ride. Что у нас получилось, а что нет, читайте под катом.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 3.8K
Комментарии 11

Плагин для ранжирования кода по важности или как я пыталась облегчить жизнь программистам

Блог компании Питерская Вышка Программирование *Java *Алгоритмы *Учебный процесс в IT

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

Сейчас готовых средств для ранжирования кода по важности нет. Поэтому студентка второго курса программы «Прикладная математика и информатика» Олеся Субботина решила написать такой плагин в рамках проектной работы по Java.

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

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 3.5K
Комментарии 6

Предсказание растворимости молекул с помощью графовых сверточных нейросетей

Блог компании Питерская Вышка Python *Машинное обучение *Биотехнологии

Пару недель назад мы начали рассказывать о проектах, которые стали победителями Школы по практическому программированию и анализу данных НИУ ВШЭ — Санкт-Петербург и компании JetBrains.

Второе место заняла команда одиннадцатиклассников из СУНЦ МГУ. Ребята реализовали модель, которая предсказывает растворимость веществ, основываясь на SMILES представлении молекул. Что это такое, какие методы машинного обучения можно использовать в этой задаче, и согласуются ли полученные результаты с реальными химическими экспериментами, авторы проекта рассказали в этом посте. 

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 3.7K
Комментарии 22

Обучение с подкреплением в Super Mario Bros. Сравнение алгоритмов DQN и Dueling DQN

Блог компании Питерская Вышка Python *Машинное обучение *Учебный процесс в IT

Этой весной Питерская Вышка и JetBrains впервые провели проектную смену для старшеклассников — Школу по практическому программированию и анализу данных. В течение пяти дней 50 участников со всей страны работали над групповыми проектами по машинному обучению, NLP, мобильной и web-разработке.  

Первое место заняла команда Deep Q-Mario — ребята создали нейронную сеть, которая использует reinforcement learning для обучения агента играть в Super Mario Bros. В этом посте они рассказывают, какие алгоритмы использовали и с какими проблемами столкнулись (например, в какой-то момент Марио просто отказался прыгать).

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 4.3K
Комментарии 0

Music2Dance: как мы пытались научиться танцевать

Блог компании Питерская Вышка Алгоритмы *Машинное обучение *Учебный процесс в IT Искусственный интеллект

Всем привет! Меня зовут Владислав Мосин, я учусь на 4-м курсе бакалаврской программы “Прикладная математика и информатика” в Питерской Вышке. Прошлым летом вместе с Алиной Плешковой, магистранткой нашего факультета, я проходил стажировку в JetBrains Research. Мы работали над проектом Music2Dance, цель которого — научиться генерировать танцевальные движения, подходящие под заданную музыку. Это может быть использовано, например, при самостоятельном обучении танцам: услышал музыку, запустил приложение, и оно показало движения, которые гармонично с этой музыкой сочетаются.

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

Тык
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2K
Комментарии 5

Сложно, но можно: как я совмещал работу и учебу на одной из самых сильных программ по программированию в России

Блог компании Питерская Вышка Учебный процесс в IT Карьера в IT-индустрии IT-компании

Привет Хабр!

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

Любопытно? Тогда приглашаем под кат.

Читать дальше
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 7.3K
Комментарии 14

НИУ ВШЭ — Петербург и JetBrains проведут школу по практическому программированию для старшеклассников

Блог компании Питерская Вышка Учебный процесс в IT

Питерская Вышка и компания JetBrains приглашают учащихся 10 и 11 классов на школу по практическому программированию и анализу данных. Среди лекторов —  ведущие преподаватели Петербурга и специалисты IT-компаний: Сергей Копелиович, Егор Суворов, Иван Ямщиков, Михаил Дворкин, Алексей Шпильман и другие.

Школа пройдет в два этапа: первый этап состоится с 22 по 28 марта в онлайн-формате. Второй этап будет очным, участники встретятся в Санкт-Петербурге с 5 по 10 мая. Участие в школе бесплатное.

Подробнее о школе
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.2K
Комментарии 0

Личное или социальное? Как добиться кооперации в мультиагентной среде

Блог компании Питерская Вышка Алгоритмы *Машинное обучение *Учебный процесс в IT Искусственный интеллект

Привет! Меня зовут Дмитрий, и я хочу рассказать про нашу статью “Balancing Rational and Other-Regarding Preferences in Cooperative-Competitive Environments”, которую недавно приняли на конференцию AAMAS (A*). 

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

Читать дальше
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.7K
Комментарии 2