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

Девушки бывают разные, и интересы, как и профессии, у них могут быть самые необычные. Хотя сегодня все наперебой твердят о стирании границ между сугубо мужскими и женскими занятиями, о стремлении к гендерному равенству в профессиональной сфере, общество ещё не до конца привыкло видеть среди представительниц прекрасного пола, скажем, водителей-дальнобойщиков или автомехаников. Наша героиня не водит громадные фуры, не лежит в промасленной спецовке под капотом автомобиля, и, вообще, её рабочее место и инструментарий не превышают по тяжести личный ноутбук, хотя её профессию программиста долгое время принято было считать мужской. Наталье Ефремовой, аналитику компании NtechLab и преподавателю курса «Интеллектуальные информационные системы» в РЭУ им. Плеханова, сложно найти свободное время в плотном графике. В самом начале весны нам удалось пообщаться с Наташей и разузнать некоторые подробности о нейронных сетях, их прошлом, настоящем и будущем. NtechLab: Наташа, привет! Спасибо, что согласилась побеседовать. Ну, прежде всего, позволь выразить восхищение тем, чем ты занимаешься, чему посвятила свою жизнь — исследованию нейронных сетей. Не самая типичная для девушки профессия, хотя сейчас не принято делить род деятельности по гендерному признаку. И всё же, первый вопрос простой и логичный: как ты пришла к своей профессии, своему роду деятельности, когда ты поняла, что ты хочешь этим всем заниматься, что это твоё, что ты love what you do? НАТАЛЬЯ ЕФРЕМОВА: В эту область я пришла случайно. Вообще, я училась в школе с гуманитарным уклоном и занималась, страшно сказать, английской литературой. После школы я поступила в РГГУ, однако литературы мне на тот момент хватило, и я отправилась изучать лингвистику на факультет искусственного интеллекта. Знакомство с прикладной лингвистикой очень быстро привело к пониманию, что это, ну, не моё совсем. Тогда мне представился случай заняться распознаванием естественного языка, что в итоге привело меня к нейронным сетям. С тех пор я уже 10 лет занимаюсь программированием нейронных сетей. NTL: А что это значит «заниматься нейронными сетями»? Нужно ли обладать какими-то супернавыками программирования, очень круто знать математику, разбираться в устройстве мозга? Н.: Есть разные степени погружения, я бы сказала. Каждая степень позволяет решить определённую задачу. Я полагаю, что с современным развитием нейронных сетей необязательно понимать точно, что происходит в каждой функции. Нейронные сети сейчас вышли на ту стадию, когда это уже, скорее, производственный инструмент. Когда мы пользуемся компьютером, мы до конца не понимаем, как он работает, какие процессы происходят внутри, но нам это и не нужно. Нейронную сеть можно собрать (примерно как из кубиков Lego) из разных составных частей и уже дальше работать над её совершенствованием. Сегодня уже существуют современные библиотеки, которые можно использовать; специально настроенные библиотеки можно применять под специальные задачи. Кроме того, существует сложившееся мнение, какие типы нейронных сетей для каких задач используются, есть представление, какой тип разработки нужен для той или иной задачи, будь то пошаговая или end-to-end разработка. Хотя специалисты по нейронным сетям не устают предлагать нестандартные способы использования «традиционных» алгоритмов, таких как, например, использование рекуррентных сетей для распознавания образов (об этом подробнее см. здесь —прим. NtechLab). Сама база знаний о нейронных сетях так широка и настолько многими успешно используется, что уже не нужно быть экспертом в этой области, чтобы этим пользоваться. Например, для того чтобы своими руками построить простейшую нейронную сеть для распознавания рукописных символов, достаточно базовых навыков программирования на «питоне», умение подключать библиотеки для «питона» и знание, какие библиотеки существуют на настоящий момент. NTL: А как твоё рабочее место устроено? Н.: Вот моё рабочее место (показывает ноутбук — прим. NTL), оно путешествует со мной по всему миру, а при необходимости я подключаюсь к амазоновским серверам для выполнения каких-то вычислений, но под каждую задачу я делаю свою конфигурацию амазоновского сервера. NTL: Скажи, а можно действительно просто рассказать о нейронных сетях? Вот совсем просто, на пальцах. Н.: Я преподаю курс «Нейронные сети» в Плехановской Академии и обычно начинаю рассказ, что такое нейронные сети, с описания сцены из мультика «Мадагаскар». Во втором, кажется, «Мадагаскаре» есть момент, когда пингвины собирают самолёт. Они призывают на помощь мартышек и говорят: «Мартышки, нам нужны ваши большие пальцы и лобные доли». Большие пальцы мартышек нужны, чтобы держать много инструментов, а лобные доли — чтобы сообразить, как собрать из всего мусора, который есть у них под рукой, работающий самолёт. Почему лобные доли? Потому что мартышки это единственные существа на земле, у которых так же, как у людей, устроен мозг. Такие мыслительные процессы, как распознавание образов, естественного языка у человека и приматов во многом схожи. Мозг человека, как и всех млекопитающих, состоит из серого и белого вещества. Серое вещество состоит из маленьких клеточек, которые называются нейронами. Эти клеточки выполняют определённые вычисления. Каждая клеточка выполняет всего лишь одну функцию: она «решает», передать ли дальше сигнал или нет, возбудиться или не возбудиться. А множество сигналов-возбуждений в множестве нейронов в нашем мозгу создаёт некую вычислительную сеть. Эта вычислительная сеть каждую секунду принимает решение о том, что мне, человеку, делать дальше: повернуть ли голову, посмотреть ли на какой-то объект, как интерпретировать то, что я услышала. По тому же принципу устроены искусственные нейронные сети. За каждый минимальный фрагмент задачи отвечает маленький элемент-нейрон, объединение большого количества которых нам позволяет производить очень сложные параллельные вычисления, включающие, в том числе, и распознавание образов. NTL: А что можно назвать сложным, а что простым? Скажем, задача почесаться потребует сложных вычислений? Н.: Это достаточно сложный сигнал. NTL: А какой тогда простой? Н.: Простой сигнал — это, например, сообразить, что я перед собой вижу, не совершая при этом никаких действий. Обработка того, что мы получаем с сенсорных органов — это, наверно, одно из самых простых действий. Уже движение требует координации того, что мы видим с активизацией наших моторных функций, это уже более сложная задача. Мы тренируем наши нейроны всю жизнь. Наша комплексная сеть начинает тренироваться ещё в утробе матери, и процесс обучения продолжается всю жизнь. NTL: А это похоже на то, как обучается искусственная нейронная сеть (далее ИНС — прим. NTL)? Н.: В ИНС тоже идёт обучение, но оно несколько проще, в ней функцию можно описать формулой. Всё, что можно описать математическими формулами, проще биологических процессов. Биологическая нейронная сеть (далее БНС — прим. NTL) сложная, потому что в БНС очень много избыточности, множество параллельных процессов дублируется, повторяется несколько раз, запараллеливаются несколько задач. А ИНС настраивается на выполнение одной задачи, например, на распознавание лиц, или распознавание естественного языка, или управление дроном. Я бы не стала сравнивать процессы обучения, протекающие в БНС и ИНС. Это во многом разные процессы. В случае с человеком, сразу тренируется вся большая нейронная сеть. ИНС мы обычно тренируем по кусочкам. ИНС можно сравнить с кусочком мозга человека, который выполняет определённую функцию. Как если бы мозг человека был настроен только на распознавание образов, такой человек-глаз. В своём объяснении нейронных сетей (далее НС — прим. NTL) на мартышках из «Мадагаскара» я использую образ их лобных долей как символ мышления в том виде, в каком мы его знаем: мартышка лучше любого другого млекопитающего может сообразить, что из чего можно сделать. Каждая зона нашего мозга обладает определёнными функциями, например, НС для распознавания зрения будет аналогом зрительной коры, НС для распознавания естественного языка будет аналогом зон, которые занимаются образованием и распознаванием естественного языка в мозгу, т.н. зоны Вернике и Брока. Лобные доли в человеческом мозгу занимаются логическими вычислениями и принятием решений. NTL: Как быстро доходит до студентов? Они же у тебя не программисты. Н.: Они экономисты, но с факультета информатики. По-разному доходит. Есть те, которые быстро схватывают. К тому же, я не вдаюсь в математические подробности, в доказательства теорем и прочие математические выводы, потому что, как я уже раньше сказала, для современного пользования НС это не так уж важно. Недавно прочла статью в интернете, в которой прозвучала такая мысль: вам не нужно PhD, чтобы программировать нейронные сети. Можно сказать, что это и так и не совсем так. Всё зависит от задачи и типа НС. В работе некоторых НС даже мне со своим 10-летним опытом непросто разобраться. Кстати, в декабре я была на большой конференции NIPS (Neural Information Processing Systems — прим. NTL) в Барселоне. Там принимало участие ни много ни мало 6 тысяч специалистов по машинному обучению, и в основном это были специалисты по НС. Там было много выступлений, семинаров. Должна признаться, что не всё знала. Чтобы стать специалистом в каком-нибудь одном направлении нужно пожертвовать многими другими. Всеми НС заниматься, конечно, можно, но очень сложно. Если ты занимаешься свёрточными НС, то ты будешь специалистом в этой области НС, а НС, где используется обучение с подкреплением, уже будут не настолько прозрачны. Я занимаюсь распознаванием образов, компьютерным зрением, это, в основном, свёрточные НС. NTL: А как ты пришла в NtechLab? Н.: Про NtechLab я впервые узнала за границей. Мне тогда попалась на глаза статья в The Guardian. Причём самое забавное, что там компания фигурировала как некая группа русских хакеров, которая запустила свой алгоритм по распознаванию лиц и наделала много шуму в соцсетях, распознала «кто есть кто», кому-то помогла, а кому-то и насолила. Мне стало интересно, я копнула глубже, узнала, что это не просто группа хакеров, а целая лаборатория, которая занимается распознаванием лиц, а значит, нейронными сетями. Мне это всегда было близко. Тогда я узнала, что компания набирает команду (со мной связалась «хедхантер» Наталья), и в скором времени меня пригласили в компанию. Я приехала и мне устроили встречу с топ-менеджментом. Эта встреча меня совершенно вдохновила, мне было очень интересно пообщаться с умным человеком, который, что называется, говорит со мной на одном языке. Что меня ещё зацепило? То, что алгоритм победил на MegaFace — это, конечно, дорогого стоит. Так как я часто работаю с разработчиками нейронных сетей, я знаю, что победить в каком-нибудь международном «челлендже» очень сложно, там же уйма команд! Такая победа говорит о том, это система действительно крутая. Это, конечно, вызвало уважение. Помню, как ребята из Imperial College London при нашей с ними первой встрече сразу вспомнили, что русские программисты их обошли на MegaFace. Вообще, многие мои коллеги в различных университетах по всему миру говорят, что русские программисты лучше всех. На очень многих «челленджах», действительно, выигрывают именно русские. NTL: Интересно. Казалось, что это уже такой отживший миф про самых-крутых-русских-программистов, а ты подтверждаешь обратное. Это приятно. Наташа, помимо того, что ты являешься экспертом в области нейронных сетей и машинного обучения, а также ведущим аналитиком компании NtechLab ты ещё участвуешь в различных научных проектах. Расскажи подробнее об этом. Н.: Сейчас в рамках обучения в Оксфорде я занимаюсь исследованиями, которые ведутся совместно с Оксфордским университетом. Это проект по обработке спутниковых карт для мониторинга запасов питьевой воды и для прогнозирования истощения запасов питьевой воды. На данном этапе это более теоретическое, нежели прикладное, исследование, но многие компании уже стараются найти ему практическое применение. В основном, это стартапы, которые находятся в Кремниевой Долине. Причём нужно чётко понимать, что стартап сегодня — это вовсе не обязательно команда из трёх программистов, которые собирают деньги на запуск какого-то приложения. Я, например, познакомилась с ребятами из стартапа, которые запускают микроспутники в космос. Сейчас есть большое движение по запуску микроспутников для получения большего объёма информации со спутниковых карт для последующего использования её в коммерческих целях. Этот совместный научный проект c Оксфордом как раз связан с такими исследованиями и нацелен на то, чтобы помогать инвестиционным компаниям просчитывать риски, связанные с истощением природных ресурсов. NTL: То есть это не сугубо гуманитарная история? Поиск источников питьевой воды, помощь бедным странам в период засухи и т. п. Н.: В принципе, этот проект может быть нацелен на что угодно, но сейчас всё больше появляется историй, когда экологическими проблемами начинают заниматься инвестиционные компании. Они должны просчитать все риски, связанные со страхованием предприятий, частных лиц и компаний, со страхованием недвижимости, с общим движением рынка. Существуют, например, риски, связанные с возможным потеплением и поднятием температуры на 3 градуса. Есть целая отрасль, которая занимается исключительно этой проблемой и просчитывает соответствующие риски. NTL: Как ты думаешь, какого будущего нам ждать от развития исследований в области нейронных сетей? Что конкретно предполагается осуществить с помощью технологий, основанных на нейронных сетях, в самом ближайшем будущем? Н.: Я думаю, что в ближайшие 2−3 года у нас уже многие процессы — распознавание языка, производство естественного языка, диалог на естественном языке, распознавание видео, предсказание видео и т. д. и т. п. — будут хорошо автоматизированы. NTL: А предсказание видео — это как? Н.: Когда по началу действия можно предугадать, что будет дальше. В большей части производства фильмов и мультфильмов, где задействована компьютерная графика, всё будет максимально автоматизировано. С другой стороны, думаю, что будет дальше развиваться т. н. интернет вещей. Будут девайсы в доме, которые будут минимизировать потребление энергии, воды. Система будет настроена на то, чтобы автоматически отключать отопление, забытые утюги и проч. Сейчас т. н. умные дома есть у единиц, в основном, у состоятельных людей. А в будущем эти новомодные «умные» навороты будут дешёвыми, повседневными и доступными для всех. Я думаю, это случится достаточно скоро. Сейчас уже многие энергокомпании работают над тем, чтобы люди минимизировали потребление энергии. Переход на «умное» потребление ресурсов неизбежен, так как нас становится всё больше, и нам нужно минимизировать своё влияние на окружающую среду. Это спровоцирует появление не только умных домов, но и умных машин, техника будет сама просчитывать, когда лучше сходить в душ, чтобы нам хватило горячей воды. И чем больше будет ощущаться нехватка ресурсов, тем лучше будут развиваться технологии для того, чтобы эти ресурсы использовать. У нас просто не будет другого выхода, потому что нехватка ресурсов в будущем будет ощущаться всё сильнее и сильнее, и то, что сейчас нам представляется нормой в плане трат ресурсов, будет считаться дикостью, невежеством, чем-то абсолютно неразумным. В идеале у нас будут также просчитаны наши занятия спортом, диеты и и. п. В ресторане ты будешь фотографировать своё блюдо и получать информацию, сколько километров тебе нужно пробежать, чтобы эти калории сжечь. Такие разработки уже есть, но это будет массово, повседневно, это будет неотъемлемой частью нашей жизни. Для каких-то частных случаев будут придуманы девайсы. Уже есть очки для слепых в виде приложения, которое подсказывает человеку, что перед ним находится. И это только начало. NTL: А если говорить о далёком будущем? Можешь представить что-то, пока представляющееся абсолютной фантастикой, но что можно будет когда-то реализовать именно с помощью развития нашего знания о нейронных сетях? Н.: Что касается совсем уже далёкого будущего и фантастики, я бы сделала ставку, в плане гаджетов, например, на то, что всё будет полупрозрачное и носимое. Скорее всего, это будет что-то встроенное в очки или надеваемое на запястье, встроенное в контактную линзу и т. п. Мы уже к этому движемся, Рекомендательные системы станут более умными, чем сейчас, все эти рекомендации по здоровью, чтению, досугу, системы предугадывания, предсказания желаний. NTL: Что нужно делать, к чему стремиться, чтобы такое будущее наступило? Н.: Совершенно точно нужно заниматься нейронными сетями, потому что эта дисциплина сейчас находятся в той точке развития, когда она переходит из науки в технологию. Есть такое понятие technology S-curve [1] [2], которое очень хорошо описывает развитие инновационных технологий. Сегодня они находятся в той точке, когда начинается бурное развитие, но через год уже будет поздно входить в эту область, поэтому нужно это делать сейчас. Если есть знание, желание, достаточно экспертизы нужно заниматься нейронными сетями. Будь это распознавание лиц, естественный язык, анализ спутниковых изображений. NTL: Возможно ли создать искусственно абсолютное подобие человеческой жизни, человека? Н.: Нет, конечно. Сейчас это невозможно, но я считаю, это и не нужно. Если мы дойдём до той степени, когда можно будет создать абсолютное подобие, наверняка уже тогда можно будет создать что-то лучшее, более совершенное, некоего сверхчеловека, «пятый элемент», если хотите. То есть уже сейчас стоит думать не о копировании себе подобных, а о создании существа, скажем так, высшего порядка. NTL: Наташа, тебе задали «вопрос с улицы», назовём это так, и мы не можем его не привести: стоит ли опасаться сингулярности и когда она наступит? Н.: Я часто слышу этот вопрос. В двух словах нужно сказать, что такое сингулярность. Это такой гипотетический момент, при котором накопленная информация станет настолько сложной, что мы не сможем её понимать. Возможно мы перейдём на следующий уровень развития человечества после создания искусственного интеллекта или создания механизма, при котором мы сами перейдём в цифровую форму и будем существовать в некоем информационном пространстве, когда тело будет не нужно. Учёные считают, что именно так будет выглядеть конец света. Есть несколько теорий на этот счёт (моя любимая — саморазвивающийся искусственный интеллект из «Нейроманта» Гибсона). Если спрашивать моё мнение, то мне кажется, что это несколько утрированное восприятие действительности. Перенаселение, глобальное потепление, истощение ресурсов, о котором мы говорили выше, и тому подобные катастрофы, гораздо ближе. Я больше склоняюсь к тому, что в будущем будут настолько истощены ресурсы, что мы не сможем себе позволить даже компьютеры, и проблема сингулярности исчезнет сама собой. Будем жить, выращивать морковку, капусту, и это если повезёт и не наступит глобальное потепление. В общем, на сингулярность я бы ставила меньше, чем на глобальную экологическую катастрофу, как это ни грустно. NTL: Очень жизнерадостные перспективы, ничего не скажешь. А эту глобальную катастрофу мы сможем предотвратить или побороть? Н.: А вот это будет зависеть от того, как скоро человечество начнёт серьёзно относиться к своим проблемам. Сейчас мы перешли в эпоху наличия отрицания этих проблем. Надеюсь, это скоро прекратится. NTL: Интересно. Значит, есть надежда, и будущее не предопределено. Знаешь, Наташа, точку в нашем разговоре поставить сложно. Н.: Ставьте многоточие! NTL: С удовольствием, очень хочется продолжить наш разговор в скором времени. Наташа, большое спасибо за увлекательный рассказ, за то, что поделилась своим мнением с нашими читателями. Тебе больших успехов во всех твоих начинаниях и продолжениях!
  1. Geroski, P.A. (2003). The Evolution of New Markets. Oxford: Oxford University Press
  2. Ventresca, M. J & Zhao, M. (2012). Course Note: «System-builders and the evolution of large-scale technology: Lessons for ecosystem and infrastructure».