Искусственный интеллект, машинное обучение и нейронные сети сегодня используются во всех сферах. Многочисленные сервисы, созданные разработчиками, позволяют сделать нашу жизнь удобнее и интереснее, и с каждым годом потребность в новых технологиях и сервисах только растет. При этом целевая аудитория у проектов может быть совершенно разной. Например, Константин Дробязкин из Смоленска разработал обучающий сервис для младшеклассников. Мобильное приложение позволяет детям повторять пройденные темы по арифметике и закреплять материал, решая упражнения в удобное для них время.
«У меня есть младшая сестра, она тогда училась в первом классе. Мне захотелось разработать сервис, который будет полезен и интересен для ребят ее возраста. В моем приложении представлены задачи на сложение, вычитание, умножение и деление. Сейчас дети с раннего возраста умеют пользоваться гаджетами, поэтому важно, чтобы перед глазами у ребят был не только развлекательный, но и полезный материал. Приложение было создано на языке программирования Java. Кроме того, на основе методических материалов от учителей я обучил нейронную сеть генерации новых примеров», – рассказывает автор проекта, 11-классник гимназии № 4 Смоленска Константин Дробязкин.
Основываясь на опросах целевой аудитории, школьник уделил внимание интерфейсу своего приложения и подобрал цветовую гамму, смайлики и все необходимые функции. Первым пользователем стала сестра Константина, после чего сервисом смогли воспользоваться ее одноклассники и ученики из других школ. Кстати, именно школьники помогли разработчику усовершенствоватьить проект. Младшеклассники подсказали, какие графические элементы стоит изменить для удобства приложения.
В направление «Большие данные, искусственный интеллект, финансовые технологии и машинное обучение», как правило, приходят ребята, увлеченные всем, что связано с искусственным интеллектом и ИТ-сферой в целом. Это будущие бэкенд- и фронтенд-разработчики, инженеры по машинному обучению, SRE-инженеры и многие другие. Свои умения участники конкурса могут применить в научно-исследовательских и практико-ориентированных проектах. О том, что важно учитывать при подготовке проектов, рассказал методист направления Александр Садовников.
– Какие типы проектов могут быть представлены на вашем направлении?
– Как и в других направлениях конкурса, у нас есть научно-исследовательские и практико-ориентированные проекты. Результатом работы над практико-ориентированным проектом могут быть веб-сервис, приложение, чат-бот и многое другое. Иногда ребята подаются на наше направление даже с роботами. Однако важно, чтобы разработка, будь то приложение или что-то другое, так или иначе была связана с технологиями искусственного интеллекта: тут возможны как применение уже готовых алгоритмов, так и создание собственных. В примере с роботом это могли бы быть алгоритмы компьютерного зрения, отвечающие за распознавание объектов, или алгоритмы Speech-to-Text и Text-to-Speech, обеспечивающие способность робота понимать человека и отвечать ему.
Результат работы над научно-исследовательским проектом – это некоторый вывод, подтвержденный экспериментально или на основе исследования данных. Например, у вас есть конкретная задача, и вы хотите понять, какие алгоритмы машинного обучения лучше всего подойдут для ее решения. Вы изучаете область, чтобы узнать, какие алгоритмы вообще имеют шанс подойти, собираете данные для проверки качества работы алгоритмов в применении к вашей задаче, реализуете их, проводите сравнение алгоритмов, интерпретируете результаты и делаете вывод. Это некоторый общий подход к исследованиям того, какой метод решения задачи является более оптимальным, а бывают и другие типы исследований. Однако, чтобы самостоятельно определиться с объектом исследования, нужно действительно очень глубоко понимать предмет, и в этом основной вызов научно-исследовательских проектов.
– Как грамотно защитить свой проект?
– Первое, на что обращают внимание эксперты, – насколько проект обоснован: действительно ли существует проблема, которую вы пытаетесь решить, насколько она актуальна. Также важно, провели ли вы анализ предметной области на наличие существующих решений проблемы. А если провели, то как можете обосновать необходимость в создании своего собственного решения. И это очень важно: проект не должен быть дословным повторением чего-то уже существующего.
Критически важным является наличие результата работы над задачей. Важно довести работу до логического завершения или хотя бы промежуточного результата. Если вы планировали разработать приложение, должна быть демонстрация работы готового прототипа, если хотели провести исследование, должен быть подведен его итог. Проект без результата – это просто идея. Возможно, очень хорошая, но в рамках конкурса важно не только то, что вы смогли предложить решение актуальной проблемы, но и то, что смогли его реализовать.
Отдельно важно показать, как был достигнут этот результат, какие решения вы принимали в процессе работы, почему они именно такие. Например, если для своей задачи вы используете модель, основанную на архитектуре «трансформер», а не какую-то другую, вы должны уметь это обосновать. Можно было бы провести сравнение различных моделей и показать, что для вашей задачи «трансформеры» подходят лучше. А можно найти исследование, в котором подобный анализ уже проводился, и сослаться на него. То же касается и выбора подходов, которые используются в разработке приложения: нужно уметь их мотивировать. Все это показывает, насколько вдумчиво вы подошли к решению задачи, насколько комплексно велась работа над проектом.
– Какие проекты не относятся к вашему направлению?
– Важно, что у проекта направления должна быть программная часть с содержательной логикой. Приведу несколько периодически встречающихся примеров проектов, для которых это условие не выполнено.
Иногда ребята подают на наше направление экономические или бизнес-проекты. Однако важно, что термин «финансовые технологии» в названии нашего направления подразумевает именно программное решение на пересечении информационных технологий и финансовой сферы. Так, например, бизнес-план развития предприятия в качестве проекта нашего направления не подойдет.
Тонкий момент с робототехникой. Если разработка содержит в себе сложное программное решение, использующее, например, алгоритмы машинного обучения, то это проект нашего направления. В прошлом году один подобный проект даже победил в конкурсе. А вот если решение не содержит интеллектуальной программной составляющей, то на наше направление оно может не подойти.
К сожалению, иногда мы вынуждены отклонять даже наукоемкие работы. Например, несколько лет назад был проект, в ходе которого участник сформулировал и доказал теорему. Сама по себе работа была интересной, однако и принять на направление мы ее тоже не могли: никакой программной составляющей в работе не было.
– С чего начать проектную деятельность в области больших данных и искусственного интеллекта?
– Очень важно уделять внимание не только практическим навыкам, но и фундаментальным знаниям. Для создания действительно новаторских разработок в области искусственного интеллекта необходимо глубоко понимать предмет. Поэтому погружение в область я бы рекомендовал начинать с изучения самых азов: классических алгоритмов машинного обучения и той математики, которая за ними стоит. При этом красота машинного обучения в том, что параллельно с изучением, казалось бы, даже базовых алгоритмов вы уже сможете начинать решать прикладные задачи. И вот так, двигаясь постепенно, можно изучать все более и более сложные алгоритмы: классические нейронные сети, те самые «трансформеры», современные языковые модели. Но очень важно, чтобы эти знания вы получали системно и с достаточным уровнем погружения в теорию.
У нас на Сириус.Курсах есть целая линейка курсов по искусственному интеллекту, которая устроена ровно таким образом: начать погружение в тему можно с курсов по математике и программированию, которые являются естественным продолжением школьной программы, и постепенно дойти до таких продвинутых тем, как глубокое обучение и обработка естественного языка. При этом если в каких-то темах вы чувствуете себя достаточно уверенно, то соответствующие курсы можно пропустить и начать изучение именно того, что кажется наиболее интересным.
Практическая составляющая тоже важна. Поэтому одновременно с изучением теории полезно участвовать, например, в дистанционных проектных программах, которые позволяют закрепить полученные знания на практике при решении реальных задач. У нас реализуется несколько подобных программ – «Уроки настоящего», «Сириус.Лето» и «Сириус.ИИ», – и в каждой из них ребята могут выбрать проекты по тематике искусственного интеллекта и больших данных.
Довольно часто проекты, которые ребята начинают разрабатывать в рамках этих программ, становятся заявками на конкурс «Большие вызовы».
Подать заявку на «Большие вызовы» можно до 15 февраля. Все подробности представлены на сайте конкурса.