Партнерский материал
29 июня 2018

Это мы создаем нейронные сети: кто в Петербурге делает беспилотники и как работает машинное обучение

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

Чем нейронные сети похожи на мозг, почему компьютерное зрение превосходит человеческое и из-за чего даже сами разработчики до конца не понимают, как работают алгоритмы машинного обучения? Об этом в партнерском материале с «Газпром нефтью» рассказывают сотрудники Научно-технического центра и инженер-программист группы «Кронштадт», производящей беспилотники.

Иван Бурцев

Инженер-программист в группе «Кронштадт»

Чем занимаются специалисты по машинному обучению и нейросетям?

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

Я занимаюсь разработкой наукоемких решений в области компьютерного зрения и глубокого обучения для беспилотных летательных аппаратов. Работаю в группе «Кронштадт», которая занимается производством беспилотных авиационных систем и бортового оборудования.

Я здесь относительно недавно, но уже успел поучаствовать в интересных проектах: один из них — это мониторинг линий электропередач. При помощи беспилотников специалисты могут определить геодезические координаты опор; их высоты и габариты элементов воздушной ЛЭП; угрожающие падением деревья; незаконные строения; свалки в охранной зоне воздушных ЛЭП. А также выявить наличие перегревов изоляции и другие важные характеристики. Время на настройку комплекса (запуск аппаратуры, настройка программы полета) — 15–20 минут. Летательный аппарат сам взлетит, облетит участок, соберет необходимые данные и вернется на аэродром.

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

Технология компьютерного зрения обошла человека в огромном количестве задач. Человек видит хуже, чем современные нейросети. В 2011 году нейросеть победила человека про распознаванию дорожных знаков, в 2012-м — рукописных букв, в 2014-м — в распознавании объектов.

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

Как вы попали на эту работу?

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

Я учился в бакалавриате на кафедре высшей математики в Университете ИТМО, там же окончил магистратуру по специальности «Экстренная обработка сверхбольших объемов данных». За время учебы мне удалось познакомиться и с нанотехнологиями, и с квантовыми компьютерами, но по-настоящему меня привлекла работа именно с нейронными сетями в области компьютерного зрения. Все мировые гиганты, такие как Google, Facebook, IBM и другие, занимаются разработками в этой области.

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

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

После мне захотелось принимать участие в более масштабных проектах, где я бы мог полностью раскрыть свой потенциал, находить нестандартные решения. Так я и попал в группу «Кронштадт».

Почему эту работу не может выполнить кто угодно?

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

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

Стоит ли заниматься этим делом в Петербурге?

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

Помимо прочего, специальность широко востребована мировым сообществом, и, несмотря на формирующуюся конкуренцию, опытные специалисты получают высокую заработную плату.

Приблизительные минимальные расценки в Петербурге — 50–80 тысяч рублей, средние — 80–120 тысяч. Зарплата ведущих разработчиков — от 200 тысяч. В США те же специалисты получают 300–500 тысяч в год (в пересчете на рубли — 1,5–2,6 млн в месяц).

Пять вещей, которые отличают эту профессию

1.

Чтобы создать успешную модель, не требуется большое количество специалистов

Для того чтобы создать модель машинного обучения, достаточно одного человека, обладающего необходимыми знаниями.

2.

Нужно быть готовым к рутинным вещам

Существенная часть работы специалиста, который занимается построением алгоритмов для нейросетей, — это кропотливая работа с данными.

3.

Нейросети позволяют решать множество интересных задач

Нейросети, а также компьютерное зрение применяются во многих отраслях — от торговли до медицины.

4.

Для работы с нейросетями нужна интуиция

Нельзя заранее быть на 100 % уверенным, что конкретная архитектура нейросети подойдет под определенную задачу.

5.

Сфера машинного обучения быстро меняется

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

Адель Закиров и Виктор Котежеков

Сотрудники Научно-технического центра «Газпром нефти»

Чем занимаются специалисты по машинному обучению и нейросетям?

Адель Закиров, руководитель направления, отдел интеллектуальных систем в геологии и разработке Научно-технического центра «Газпром нефти»: Мы создаем алгоритмы — в том числе, нейросети — для автоматизации ручного труда и работы с данными, которых у нас очень много. В частности, я курирую все вопросы, связанные с машинным обучением.

Адель Закиров

В качестве примера возьмем исследование скважин. Скажем, мы используем прибор, который измеряет такие данные, как звук, магнитное поле, сопротивление и так далее. Человек, анализируя данные, делает выводы о расположении нефти. Всё это можно автоматизировать благодаря нейросетям. Другой пример: во время бурения мы не всегда знаем, какой литотип (песок, глина или другая порода) сейчас бурится, знаем только на 50 м выше. Можно научить машину определять литотип в точке бурения и даже глубже.

Алгоритмы можно разбить на два типа. Первый — supervised learning (обучение с учителем), когда мы берем данные — допустим, картинку — и объясняем нейросети: «В этой области находится то, что нам интересно». И обводим [эту область]. Второй тип называется unsupervised learning, а команда звучит так: «Здесь есть что-то интересное, найди». Этот подход сложнее и пока что мало используется. Но предполагается, что именно за ним будущее.

Виктор Котежеков, руководитель направления управления комплексного проектирования разработки Научно-технического центра «Газпром нефти»: Если дать простое определение, то машинное обучение — это когда программы пытаются извлечь знания из опыта путем обучения или, другими словами, когда программы пишут программы. В частности, речь идет о нейронных сетях, деревьях решений, генетических алгоритмах и так далее.

Мы стремимся автоматизировать процессы, связанные с когнитивными функциями человека, которые невозможно напрямую «разложить» в виде алгоритма. Например, чтобы обработать гидродинамические исследования скважин, нужно распознавать образы и прогнозировать определенные паттерны. Для автоматизации подобных процессов мы используем ансамбли нейронных сетей.

По стандартам, один специалист должен обработать порядка одного-двух исследований в день. А автоматизированная система сможет обрабатывать 100 исследований — и будет на порядки сокращать трудозатраты. А люди, которые сейчас занимаются ручной работой, будут заниматься более интеллектуальными вещами.

Другой пример — проект СПИН (самообучающий помощник инженера-нефтяника). Он заключается в интеграции всех имеющихся у нас разнородных данных в одну метамодель, которая выдавала бы набор рекомендаций по оптимальным мероприятиям на скважинах, чтобы повысить добычу нефти.

Виктор Котежеков

Почему эту работу не может выполнить кто угодно?

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

Закиров: Если человек никогда не занимался математикой и программированием, у него не получится выучить всё за месяц. Многим кажется, что можно взять язык программирования Python и благодаря его накруткам сделать нейросеть в три строки. Да, за месяц человека действительно можно научить собирать разные архитектуры, но он не поймет, почему они работают. Он будет только знать шаблоны. А чтобы грамотно с этим работать, нужно понимать внутреннее устройство механизма.

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

Прогресс становится обыденностью — например, автопилоты уже делают всё. К Tesla присоединились и Volkswagen, и Uber, и Audi. Ты можешь сесть внутрь, положить руки на коленки, и автомобиль будет ехать. Но есть обязательства: человек должен реагировать на предупреждения.

Если говорить про алгоритмы, в 2017 году в Америке создали искусственный интеллект, который научился генерировать человеческие лица при помощи генеративных состязательных нейросетей (GAN). Программе «скормили» очень много портретных фотографий: одна нейросеть пыталась сгенерировать лицо и запутать вторую, которая сравнивала ее с подлинником. В итоге получалось абсолютно новое лицо нового человека.

Нейросеть даже научили создавать пейзажи. Например, девушка кладет перед нейросетью два куска ткани: синий и рыжий. Нейросеть создает из этого морской пейзаж с песчаным берегом. Девушка начинает мять ткань — и на работе нейросети появляются волны. Грубо говоря, она «галлюцинирует» пейзажами.

Что самое сложное в вашей профессии?

Котежеков: Самое сложное — это, наверное, отсутствие строгих правил. У нас есть задача и понимание, как в принципе ее решить — то есть использовать инструменты машинного обучения. Но, по сути, машинное обучение— это черный ящик. Мы задаем ему какие-то входные параметры и получаем какие-то результаты. При этом заранее понятия не имеем, как этот ящик должен быть устроен, из каких алгоритмов и методов должен состоять, не знаем область его применения.

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

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

То же самое с моделями машинного обучения. Мы не понимаем, как модель себя поведет, поэтому значительная часть времени уходит на тестирование. Если ваша модель хорошо прогнозирует данные, которые изначально не видит, значит, она работает удовлетворительно. Но я бы сказал, что 95 % настроенных моделей мы выбрасываем, потому что нас не удовлетворяет их точность и устойчивость.

Стоит ли заниматься этим делом в Петербурге?

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

При поиске «Data analyst» или «Data scientist» можно найти достаточно много различных вакансий. Сейчас даже небольшие компании, работающие, скажем, в сфере торговли, начинают идти в этом направлении. Они понимают, что у них много данных, и хотят извлечь из них какую-то ценность. Они, может быть, даже не очень понимают преимущества и недостатки данного направления, но пытаются что-то делать и ищут специалистов. Сейчас количество вакансий, связанных с анализом данных, превышает предложение, которое есть на рынке.

Закиров: Мне здесь очень комфортно. При этом сейчас стало модным во всём этом тусоваться, data science становится привлекательной хипстерской темой. И на дата-завтраки в Bonch нередко ходят те, кто ничего не понимает в алгоритмах.

Есть крупное российское сообщество Open Data Science, использующее Slack в качестве площадки для дискуссий. Недавно, например, у нас возник вопрос: как решить проблему обработки системы линейных алгебраических уравнений очень большого масштаба. Матрицы получаются такие большие, что не помещаются в память компьютера. Мы запостили в ODS такой запрос — может, что предложат.

Другие материалы о профессиях будущего читайте в спецпроекте «Бумаги» и «Газпром нефти»

Если вы нашли опечатку, пожалуйста, сообщите нам. Выделите текст с ошибкой и нажмите появившуюся кнопку.
Подписывайтесь, чтобы ничего не пропустить
Профессии будущего. Спецпроект
Это мы занимаемся генетикой: кто в Петербурге изучает генные мутации и разрабатывает лекарства против наследственных заболеваний
Это мы создаем альтернативную энергию: кто в Петербурге производит электричество из мусора на свалках и делает топливо из борщевика
Это мы собираем роботов: кто в Петербурге создает машины, которые могут работать в космосе, заправлять самолеты и строить автомобили
Это мы изучаем большие данные. Кто в Петербурге исследует интерес к биткоинам, флешмоб MeToo и производство нефти с помощью data science
Это мы создаем виртуальную реальность. Кто в Петербурге использует VR в фильмах про Эрмитаж и в образовании?
Технологии в Петербурге
В Петербурге презентовали беспилотный трамвай. Показываем, как он выглядит 👀
В Петербурге прошел фестиваль «Технокультура 4.0». Видео оттуда выглядят странно: на площадке почти никого нет, танцуют только роботы
Робот Алекс стал героем роликов с газового форума в Петербурге. Он ответил на вопрос о войне машин и людей и рассказал стих про бычка 🤖
В Петербурге запустили сервис для отслеживания движения машин скорой помощи. Рассказываем, зачем он нужен
Петербургский студент создал экзоскелет, с помощью которого можно поднимать тяжелые предметы. Его разработкой заинтересовались в МЧС
Новые тексты «Бумаги»
На «Бумаге» — премьера клипа «Научи меня жить» от группы «Простывший пассажир трамвая № 7»
От хюгге-кэмпа до экофермы: блогеры рекомендуют необычные места для путешествия по Ленобласти
Чем технология 5G будет полезна экономике и почему вокруг нее столько страхов? Рассказывает кандидат технических наук
На Рубинштейна постоянно проходят уличные вечеринки, где веселятся сотни людей. Местные жители жалуются на шум, а полиция устраивает рейды
Как проходило голосование по поправкам в Петербурге: вбросы бюллетеней, коронавирус у членов комиссий и участки во дворах
К сожалению, мы не поддерживаем Internet Explorer. Читайте наши материалы с помощью других браузеров, например, Chrome или Mozilla Firefox Mozilla Firefox или Chrome.