Малков Кирилл, глава разработки машинного обучения ИИ компании Билайн, рассказывает, что такое машинное обучение, data science, как реализуется на практике разработка ИИ, а также в чем заключаются методы машинного обучения.
Использование машинного обучения в современном мире
Разработчик рассуждает об использовании машинного обучения в современном мире:
Все, о чем мы говорим, когда имеем в виду ИИ и науку о данных – это числа, их перемножение и определенные преобразования. ИИ начинает присутствовать уже почти во всех сферах нашей жизни. Вы сталкиваетесь с искусственным интеллектом, если, например, пользуетесь модными гаджетами, даже если это лишь умная колонка.
ИИ решает самые разные задачи. Если вы пользуйтесь телефоном, в котором есть приложения для фотографий, о
бработка этих снимков реализуется в большей степени с помощью алгоритмов, а не физики и технических инструментов. Если мы говорим про ТикТок, Инстаграм, маски, которые там есть, – это тоже компьютерное обучение, это тоже искусственный интеллект. Если вы заходите на какой-нибудь сайт для просмотра фильмов, вам предлагаются фильмы с учетом ваших интересов на основе того, какие фильмы вы смотрели ранее, это также результат работы ИИ. Кирилл считает, что лет через 10 искусственный интеллект будет в каждой вещи и в каждой сфере нашей жизни. Сам разработчик не боится столь плотной интеграции машин в нашу жизнь:
Я думаю, что ИИ не сможет навредить человеку, потому что это лишь инструменты, которые помогают что-то автоматизировать, что-то упростить. Это, естественно, мы делаем все, чтобы работать меньше. ИИ – это инструмент в руках человека, который человек сам настраивает и корректирует.
Молодой разработчик изначально занимался наукой. Там, по его мнению, ситуация не такая радужная, как в IT-секторе. Все научные открытия делаются в течение десятилетий. Если ты хочешь помочь людям, на реализацию задумки может уйти в буквальном смысле целая жизнь. В IT же можно сделать что-то серьезное в виде проекта или конкретного продукта всего за несколько месяцев.
Проекты Кирилла
Малков Кирилл рассказывает о двух последних проектах, в разработке которых он участвовал:
- совместный проект с ЛизаАлерт. Он посвящен тому, чтобы на основе снимков дронов искать потерявшихся людей, разработчики смогли автоматизировать процесс поиска. Теперь не надо привлекать людей, чтобы рассматривать эти многочисленные видео. Это яркий пример того, как компьютер и машинное обучение в буквальном смысле спасают человеческие жизни;
- проект с Московским государственным медицинским университетом имени И.М. Сеченова. Разработки на стыке компьютерных технологий и медицины очень популярны. Команда Кирилла занимается анализом снимков МРТ для обнаружения патологий, анализом гистологических препаратов. Это нужно для того, чтобы прогнозировать течение онкологических заболеваний и предсказывать, что будет дальше.
Это очередной раз демонстрирует, что современные технологии при правильном подходе могут значительно повысить качество жизни людей. Однако сфера ИИ – направление молодое и формируется только сейчас. Кирилл признается, что в процессе работы сталкивается с большим количеством сложностей, вызовов и ошибок. Сам он говорит об этом так:
Я не боюсь ошибаться в локальном смысле. В глобальном же плане ошибка может очень дорого стоить, поэтому надо хорошо думать, что конкретно ты делаешь. Однако любая ошибка – это опыт. В моей команде порядка 20 человек, это абсолютно разносторонние ребята, так как мы в Билайне занимаемся почти всем, что касается ИИ.
Разносторонняя команда позволяет более качественно работать над продуктом. Если говорить про машинное обучение и IT, по мнению Кирилла, самое важное – это практика.
Развитие data science
Согласно нескольким исследованиям, data science развивается сейчас быстрее всего в мире, а у России в этом плане очень большой потенциал. Развитие этой технологии позволит улучшить качество жизни людей в самых разных областях. На вопрос, каким будет человек будущего, Кирилл отвечает:
Это неэгоистичный человек, который думает о том, что происходит вокруг него. Думает, как то, что он делает, влияет на всех остальных. Также это тот человек, у которого постоянно есть потребность узнавать что-то новое, делать что-то новое, развивать себя.
В дополнение к теме
Методы машинного обучения
- С учителем (supervised machine learning). Стоит начать с того, что под учителем в машинном обучении понимается любое участие человека. Однако учителем не всегда становится непосредственно человек – это может быть некоторый сет размеченных исходных данных, загруженных человеком, которые впоследствии анализируются программой. При этом каждому примеру в датасете соответствует «правильный ответ» – выходная информация, к которой должен прийти ИИ. Такой метод может использоваться машиной при выявлении заболеваний у пациентов, например по результатам анализов. Ещё один пример – распознавание объектов по фотографии. К слову, чем больше данных предоставляется искусственному интеллекту на старте, тем точнее он выполнит задачу.
- Без учителя (unsupervised machine learning). Напомним: в предыдущем методе используются размеченные данные. Однако получить их непросто. Соответственно, машинное обучение без учителя подразумевает задачу поиска алгоритмом ответов, которые неизвестны на конкретном этапе.
То есть в данном случае в программу загружен датасет, однако не указано, что именно с ним делать, и нейросети необходимо разобраться самой – выявить зависимости, корреляции, определить и проанализировать всевозможные признаки.
Алгоритмы машинного обучения
- Дерево принятия решений. Так называемый метод поддержи принятия решений. Его основа – древовидный граф, то есть модель принятия решений, учитывающая последствия сделанного выбора. Обычно на вопросы в графе можно ответить только «Да» или «Нет».
- Строгий байесовский классификатор. Данная разработка основывается на теореме Байеса. В контексте этого алгоритма функции рассматриваются как независимые. Такой классификатор применим в выявлении спама, при автоматической сортировке статей по рубрикам на сайтах, распознавании объектов на фото.
- Метод наименьших квадратов. Одна из вариаций линейной регрессии – наименьшие квадраты. Как правило, с её помощью подгоняют прямую, которая пересекает большое количество точек. Методика наименьших квадратов в этом случае работает так: проводится прямая, измеряется расстояние от неё до всех точек и рассчитываются суммы расстояний. Кривая с самой маленькой суммой расстояний – правильный ответ. Применяется для минимизации погрешности.
- Логистическая регрессия. Этот способ предназначен для выявления зависимости между переменными. При этом категориально зависима лишь одна, а остальные являются независимыми. Логистическая регрессия – эффективный статистический алгоритм прогнозирования событий, зависящих от большого количества факторов. Применяется в кредитном скоринге, прогнозе прибыли, в определении вероятности катаклизмов и т. д.
- Метод опорных векторов. Включает широкий набор алгоритмов, требующихся для классификации и регрессионного анализа. Его задача – сделать так, чтобы все объекты, находящиеся в N-мерном пространстве, распределились по двум группам. Для этого строится гиперплоскость – подпространство коразмерности 1. Яркий пример использования – определение пола человека по фотоснимку.
- Ансамбль алгоритмов. Основывается на алгоритмах, которые создают большое количество классификаторов и разделяют объекты из новых данных, усредняя их или результаты голосования.
Варианты:
- бустинг – формирует сет классификаторов и преобразует слабые классификаторы в сильные;
- бэггинг – обучает простые классификаторы и собирает усложнённые;
- коррекция ошибок выходного сигнала нейросети.
Главные особенности метода:
- минимизация воздействия случайных факторов;
- уменьшение дисперсии;
- исключение возможности выхода за рамки множества.
- Кластеризация. Алгоритм распределяет объекты по категориям, исходя из наиболее схожих параметров. Применяется в генетике, социологии, IT и множестве других сфер.
- Алгоритм главных компонент. Статистическая операция по ортогональному преобразованию. Цель – конвертация наблюдений за потенциально взаимосвязанными переменными в сет главных компонент, то есть значений, не связанных линейно. Метод применим только в хорошо изученных и детально описанных предметных областях, поскольку не справляется с плохо упорядоченными исходными данными.
- Анализ независимых компонент. Алгоритм ищет скрытые факторы (независимые компоненты), которые могут влиять на случайные величины. Данный метод связан с алгоритмом из пункта №8, однако является более эффективным и применяется при непригодности классических подходов. Благодаря своей функциональности используется в астрономии, медицине, голосовых технологиях, аналитике всевозможных динамических показателей. Разумеется, ИИ неразрывно связан с Data Science (наукой о данных), о которой далее и расскажет Кирилл Малков.