Настройка гиперпараметров может показаться рутинной задачей, но хорошая настройка – ключ к успеху СНС и других систем машинного обучения. Так как подобные сети имеют многовариантную структуру, обычно невозможно задать все параметры автоматически, даже при использовании автоматизированного поиска. Часто настройка сверточной нейронной сети требует тайного знания, которое студенты машинного обучения обретают, работая под началом экспертов и ценой больших усилий получая собственный опыт. Как отметил директор исследовательской лаборатории Microsoft Эрик Хорвиц, “сейчас мы занимаемся не наукой, а своего рода алхимией”
[130]. Люди, умеющие таким образом “заклинать сети”, формируют небольшой клуб избранных. “Оптимизация таких систем – настоящее искусство… – говорит один из основателей Google DeepMind Демис Хассабис. – В мире всего несколько сотен людей, которые действительно хорошо справляются с этим”
[131].
На самом деле количество специалистов по глубокому обучению стремительно растет: многие университеты предлагают тематические курсы, и все больше компаний запускает для сотрудников собственные учебные программы по глубокому обучению. Членство в клубе глубокого обучения может быть весьма прибыльным. Недавно я посетила конференцию, на которой руководитель ИИ-подразделения Microsoft рассказывал, как компания привлекает молодых специалистов по глубокому обучению: “Если парень знает, как тренировать пятислойную сеть, он может требовать пятизначную зарплату. Если парень знает, как тренировать пятидесятислойную сеть, он может требовать семизначную зарплату”
[132]. К счастью для парня, который вскоре станет богачом, сети пока не умеют учиться самостоятельно.
Большие данные
Не секрет, что глубокое обучение требует больших данных. Таких больших, как миллион с лишним размеченных тренировочных изображений в ImageNet. Откуда берутся эти данные? Конечно, от вас – и, вероятно, всех ваших знакомых. Современные системы компьютерного зрения обязаны своим существованием миллиардам изображений, которые пользователи загружают в интернет и (иногда) сопровождают подписью, соответствующей их содержимому. Вы хоть раз загружали на свою страницу в Facebook фотографию друга и оставляли к ней комментарий? Facebook благодарит вас! Возможно, этот снимок и сопровождающий его текст использовались для тренировки его системы распознавания лиц. Вы хоть раз загружали фотографию на Flickr? Если да, возможно, она вошла в тренировочное множество ImageNet. Вы хоть раз перечисляли объекты на фотографии, чтобы доказать какому-нибудь сайту, что вы не робот? Возможно, ваши ответы помогли Google разметить это изображение для использования при тренировке своей системы поиска по картинкам.
Крупные технологические компании предлагают множество бесплатных сервисов для вашего компьютера и смартфона: интернет-поиск, видеозвонки, электронную почту, социальные сети, автоматизированных личных помощников – этот список можно продолжать очень долго. Зачем это нужно компаниям? Дело в том, что, как вы, возможно, слышали, их настоящий продукт – это пользователи (такие, как мы с вами), а их клиенты – рекламодатели, которые привлекают наше внимание и собирают информацию о нас, пока мы пользуемся “бесплатными” сервисами. Но есть и другой ответ: пользуясь сервисами таких технологических компаний, как Google, Amazon и Facebook, мы непосредственно снабжаем эти компании примерами – в форме наших изображений, видео, текста и речи, – которые они могут использовать, чтобы лучше обучать свои ИИ-программы. Усовершенствованные программы привлекают больше пользователей (а следовательно, больше данных), помогая рекламодателям эффективнее таргетировать рекламу. Более того, предоставляемые нами примеры можно использовать для обучения таких сервисов, как компьютерное зрение и обработка естественного языка, которые затем можно предлагать бизнес-клиентам на платной основе.
Многое написано об этике крупных компаний, которые используют создаваемые вами данные (например, все изображения, видео и тексты, загружаемые вами на Facebook), чтобы тренировать программы и продавать продукты, не информируя вас об этом и не предоставляя вам компенсацию. Этот важный вопрос выходит за рамки настоящей книги
[133]. Я же хочу подчеркнуть, что необходимость огромных наборов размеченных тренировочных данных – одно из отличий глубокого обучения от человеческого обучения.
Практическое применение большого количества систем глубокого обучения приводит к тому, что компаниям требуются все новые наборы размеченных данных для тренировки глубоких нейронных сетей. Прекрасный пример – беспилотные автомобили. Таким автомобилям необходимо развитое компьютерное зрение, чтобы распознавать разметку на дороге, светофоры, знаки “стоп” и так далее, а также чтобы различать и отслеживать всевозможные потенциальные препятствия, включая другие автомобили, пешеходов, велосипедистов, животных, дорожные конусы, перевернутые мусорные баки, перекати-поле и многое другое, с чем вы предпочли бы не сталкиваться. Беспилотным автомобилям надо усвоить, как выглядят все эти объекты – на солнце, под дождем, в метель, в тумане, днем и ночью, – и понять, какие из них обычно движутся, а какие стоят на месте. Глубокое обучение сделало эту задачу отчасти выполнимой, но для этого ему необходимо огромное количество тренировочных примеров.
Компании по производству беспилотных автомобилей извлекают обучающие примеры из бесконечных часов видео, снятых на камеры автомобилей, движущихся в потоке на шоссе и по городским улицам. Это могут быть беспилотные прототипы, тестируемые компаниями, или, например, “теслы”, владельцы которых при покупке машины обязуются предоставлять данные производителю
[134].
“Тесловоды” не обязаны присваивать метку каждому объекту на видео, сделанных во время движения их автомобилей. Но делать это необходимо. В 2017 году газета Financial Times написала, что “большинство компаний, работающих над этой технологией, задействуют сотни и даже тысячи людей, часто в офшорных аутсорсинговых центрах Индии и Китая, чтобы научить роботизированные автомобили распознавать пешеходов, велосипедистов и другие препятствия. Для этого работники вручную размечают тысячи часов видео, часто покадрово”
[135]. Появляются новые компании, которые предлагают услугу по разметке данных: так, Mighty AI предлагает “размеченные данные, необходимые для тренировки моделей компьютерного зрения в вашем компьютере”, и обещает, что работать на вас будут “реальные, проверенные и надежные аннотаторы, которые специализируются на данных для беспилотного вождения”
[136].