и Стэнфордским университетом, и состоящей из 100 000 синтезированных изображений, плюс 850 000 автоматически созданных вопросов и ответов[130].
Рис. 9.10. Сеть, выход которой представляет собой другую сеть, динамически созданную для ответа на поставленный вопрос
Итак, справа от металлического серого цилиндра находится блестящий объект. Такого же ли он размера, что и большая резиновая сфера? Чтобы ответить на этот вопрос, необходимо найти сферу и цилиндр, которые имеют правильные свойства, и сравнить их размеры. Первая сеть (вверху) работает как система перевода. Она принимает вопрос в качестве входа и преобразует его в «предложение» (последовательность инструкций), описывающее архитектуру сети, состоящей из пяти модулей. Это предложение трансформируется во вторую сеть, которая специально построена для ответа на вопрос: ее модули обнаруживают сферу, цилиндр, их положение и сравнивают их размеры, чтобы получить ответ. Система обучается от начала до конца на основе образцов изображений, вопросов и автоматически сгенерированных ответов (источник: Hu et al., 2017, FAIR[131]).
Такая идея нейронных сетей, созданных динамически на основе входов, привела к новой концепции дифференцируемого программирования. Мы пишем программу, инструкциями которой являются не фиксированные операции типа «добавить 4 к переменной z», а модули глубокого обучения, функция которых будет определяться обучением. Роль программы заключается в создании графа модулей (сети), расположение которых подходит для задачи. Этот граф (архитектура сети) заранее не фиксируется, а структурно зависит от входов. Затем система обучается с учителем. «Инструкции» программы, то есть точные функции каждого модуля, определяются этим этапом обучения.
Это новый способ написания программ, использующий преимущества дифференцируемости модулей, автоматического дифференцирования графа модулей и обучения методом градиентного спуска. Некоторые видят в этом настоящую революцию.
Интеллектуальные объекты
Искусственный интеллект требует больших вычислительных мощностей. Обучение большой сверточной сети может занять несколько часов или дней на целой «батарее» машин с графическими процессорами. После обучения сеть может использоваться на серверах центра обработки данных для фильтрации, пометки и сортировки изображений или текста, или для распознавания речи. На рисунке 6.9 показано, что для распознавания изображения требуется несколько миллиардов цифровых операций. Команды инженеров работают над автоматическим упрощением сетей, чтобы минимизировать их размер и объем памяти, и чтобы они могли быстро работать на серверах, использующих стандартные процессоры.
Растущему числу приложений требуются специализированные процессоры для сверточных сетевых вычислений, архитектура которых сильно отличается от архитектуры стандартных процессоров. Они задействованы в системах поддержки вождения автомобилей, используются в мобильных телефонах для немедленного перевода или функций «виртуальной реальности», в интеллектуальных фото– и видеокамерах для оптимизации съемки, в беспилотных летательных аппаратах, которые могут отслеживать и снимать нас самих. В будущем у нас будут глубокие сети в очках виртуальной реальности, в интеллектуальных домах и обслуживающих роботах, на транспортных средствах и у роботов-курьеров.
Все это требует разработки новых инструментов – нейронных процессоров с вычислительной мощностью, измеряемой в TFLOPS (терафлопс), но дешевых и потребляющих мало энергии. Их «маленькая» сверточная сеть должна выполнить 10 млрд операций для анализа изображения. При 30 кадрах в секунду для работы на смартфоне потребуется процессор со скоростью 300 гигафлопс, потребляющий менее 1 Вт. Емкость аккумулятора смартфона составляет примерно 10 ватт-часов. Процессор мощностью 1 Вт опустошает его за 10 часов. Слишком быстро!
Для достижения высокой производительности нейронные процессоры используют новую аппаратную архитектуру. Чтобы свести к минимуму энергоемкие обмены данными, вычислительные блоки и память смешиваются и распределяются по кремниевому чипу. Вычисления выполняются с числами очень низкой точности: нескольких битов достаточно, чтобы представить веса и активность нейронов. Нет необходимости кодировать числа на 32 или 64 бита, как это делают обычные процессоры. Новые возможности, предоставляемые приложениями глубокого обучения, интегрированными в наши повседневные гаджеты, таковы, что инновации в индустрии интегральных схем уже стремительно растут.
Компании, подобные NVidia, Google, Facebook, Microsoft, Amazon, Samsung, Intel, Qualcomm, Apple, ARM, Baidu, Alibaba, Huawei и множество американских, китайских, тайваньских и европейских стартапов разрабатывают нейронные процессоры для собственных нужд или для новых поколений смартфонов, домашних роботов, виртуальных помощников, очков виртуальной или дополненной реальности, интеллектуальных камер, автономных транспортных средств и, в общем, самых разных интеллектуальных объектов.
Будущее согласно ИИ
Четыре основные категории приложений ИИ вызывают интерес у крупных промышленных компаний: медицина, автономные транспортные средства, виртуальные помощники, и бытовые/промышленные роботы. Первые две области мы уже обсудили. Существующие методы уже влияют на медицину и помощь при вождении автомобилей. Но многие исследователи полагают, что эти приложения получат широкое распространение только после серьезного концептуального прорыва.
Полностью автономный автомобиль на улицах Нью-Йорка, Парижа, Рима или Калькутты в часы пик, без вмешательства человека, невозможен до появления обучения без учителя и использования прогностических моделей. Скорее всего, нам придется всерьез выяснять, как человек учится водить машину всего за 20 часов.
Что касается виртуального помощника, то его разработка еще более ограничена. В идеале он должен обладать интеллектом, близким к человеческому, в сочетании с хорошей долей здравого смысла. Он мог бы помогать нам каждый день. Не нужно будет тратить часы на звонки по телефону, на электронную почту или интернет, чтобы решить ту или иную административную проблему, связаться со службой мобильной телефонной связи, организовать поездку или прогулку с друзьями, планировать свой календарь или отфильтровать сообщения. Умный помощник сможет ответить на любой вопрос, помочь нам в деловых встречах, напомнить об итогах предыдущих встреч. Все это невозможно без революции, основанной на здравом смысле.
Научно-фантастический фильм «Она» 2013 г. режиссера Спайка Джонза описывает возможное взаимодействие мужчины со своим виртуальным помощником. Главный герой Тео влюбляется в компьютерную сущность, у которой голос Скарлетт Йоханссон и которую он назвал Самантой. Это – один из немногих фильмов, в которых ИИ рассматривается очень реалистично. Сценарий футуристический, но суть его верна. Люди склонны привязываться к объектам, животным и людям вокруг них. Почему все должно быть иначе с виртуальным помощником, особенно если он запрограммирован на развитие уникальной личности на основе взаимодействия со своим «хозяином»?
Но давайте посмотрим правде в глаза, настоящий робот все еще существует лишь в научной фантастике. Наши «роботы»-пылесосы, откровенно говоря, глупы. Они легко застревают просто под столом или за креслом. Когда же мы увидим домашнего робота, который способен убрать весь дом?
Автономные газонокосилки немного более искусны в обнаружении препятствий, поскольку те потенциально опасны для машины. Но и они до сих пор не могут отличить клумбы от зарослей одуванчиков. Привет, кошмар садовода! Появится ли, наконец, робот-садовник, который позаботится о наших цветах, соберет малину и вырвет все сорняки?
Машины, используемые в производстве, только повторяют раз за разом предварительно запрограммированные процедуры, но