Будут ли интеллектуальные алгоритмы будущего походить на роботов общего назначения, так же хорошо справляющихся с непринуждённой беседой и чтением карт, как с кухонными задачами? Или наши цифровые помощники будут больше походить на специализированные гаджеты – то есть, это будет не разговорчивый шеф-повар, а кухня, набитая бытовой техникой?

Если алгоритм пытается сделать слишком многое, у него начинаются проблемы. Приведённый ниже рецепт был создан искусственной нейросетью – таким типом искусственного интеллекта, который обучается на примерах. Этот алгоритм тщательно изучил порядка 30 000 кулинарных рецептов, от супов и пирогов до барбекю, а затем попробовал выдать собственный рецепт. Результат получился, скажем так, неортодоксальным.

Куриная паста с рисом

2 фунта очищенных сердец
1 чашка порезанной свежей мяты или малинового пирога
1/2 чашки тёртых катримас
1 столовая ложка растительного масла
1 соль
1 перец
2 1/2 столовых ложки сахара

Смешайте без листьев и помешивайте, пока смесь не станет густой. Добавьте яйца, сахар, мёд, семена тмина, и готовьте на небольшом огне. Добавьте кукурузный сироп, орегано, розмарин и белый перец. Добавляйте сливки по нагреванию. Готовьте добавить оставшуюся чайную ложку разрыхлителя и соли. Готовьте на 350 °F от 2 до 1 часа. Подавайте горячим.

На 6 порций.
А вот пример рецепта, созданного тем же алгоритмом, но только вместо того, чтобы изучать все рецепты подряд, он тренировался только на тортах. Рецепт неидеален, но гораздо лучше предыдущего.
Морковный пирог

1 упаковка жёлтой смеси для кекса
3 чашки муки
1 чайная ложка разрыхлителя
1 1/2 чайной ложки соды
1/4 чайной ложки соли
1 чайная ложка корицы
1 чайная ложка имбиря
1/2 чайной ложки гвоздики
1 чайная ложка разрыхлителя
1/4 чайной ложки соли
1 чайная ложка ванили
1 яйцо комнатной температуры
1 чашка сахара
1 чайная ложка ванили
1 чашка нарезанных пеканов

Разогрейте духовку до 350 градусов. Смажьте 9-дюймовый противень.

Быстро взбивайте яйца до тёмно-жёлтого цвета. Отставьте в сторону. В отдельной чашке взбейте белки до твёрдости. Ускорить первую смесь в подготовленную форму и размягчить масло. Выпекать в духовке 40 минут, до тех пор, пока зубочистка, вставленная в центр пирога, не останется чистой. Охлаждать в форме 10 минут. Поставить на проволочную подставку до охлаждения.

Вынуть пирог из формы до полного охлаждения. Подавать тёплым.

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

Разработчики, занимающиеся тренировкой алгоритмов машинного обучения, обнаружили, что часто имеет смысл создавать тостеры вместо волшебных ящиков. Это может показаться не интуитивным, поскольку ИИ в западной фантастике больше напоминают C-3PO из «Звёздных войн» или WALL-E из одноимённого фильма. Это примеры искусственного интеллекта общего назначения (ИИОН), автоматов, способных взаимодействовать с миром, как люди, и выполнять множество разных задач. Однако многие компании незаметно – и успешно – используют машинное обучение для достижения гораздо более ограниченных целей. Одним алгоритмом может быть бот для чата, обслуживающий ограниченное количество базовых вопросов клиентов по поводу счёта за телефон. Другой может выдавать предсказания по поводу того, что хочет обсудить звонящий клиент, и демонстрировать эти предсказания на экране для человека, отвечающего на звонок. Это примеры искусственного интеллекта узкой специализации (ИИУС) – ограниченного совсем небольшим набором функций. С другой стороны, Facebook недавно отправил на пенсию своего бота для чатов «М», который так и не сумел справиться с бронированием отелей, покупкой билетов в театр, и прочим.

Причина того, что у нас есть ИИУС вместо ИИОН уровня WALL-E заключается в том, что любой алгоритм, пытающийся обобщать задачи, начинает хуже справляться с теми задачами, что ему дают. К примеру, есть алгоритм, натренированный выдавать картинки на основании описания. Он пытается создать картинку из текста: «это жёлтая птица с чёрными пятнами на голове и очень коротким клювом». Когда его тренировали на наборе данных, состоявшем исключительно из птиц, он справился довольно неплохо (без учёта странного рога):



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



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

Программисты используют разные трюки, чтобы выжать из ИИУС алгоритмов максимальную отдачу. Один – передаваемое обучение: натренируйте алгоритм работать с одной задачей, и он научится выполнять другую, близко связанную с этой задачу, после минимальной перетренировки. Люди используют передаваемое обучение для тренировки алгоритмов, распознающих изображения. Алгоритм, научившийся распознавать животных, уже собрал много информации, касающейся определения контуров и анализа текстуры, которые можно перенести в задачу по определению фруктов. Но при перетренировке алгоритма на распознавание фруктов алгоритм подвергнется «катастрофическому забыванию», то есть, уже не будет помнить о том, как определять животных.

Ещё один фокус сегодняшних алгоритмов – модульность. Вместо того, чтобы превращаться в единый алгоритм, способный решить любую проблему, ИИ в будущем, скорее всего, будут представлять собой сборки высокоспециализированных инструментов. Алгоритм, научившийся играть в Doom, будет обладать раздельной системой для компьютерного зрения, управления и памяти. Взаимосвязанные модули смогут обеспечить избыточность для предотвращения отказов, и механизм голосования за наилучшее решение проблемы на основе различных подходов. Может появиться способ обнаруживать и исправлять ошибки алгоритмов. Обычно довольно сложно понять, как конкретный алгоритм принимает решения, но если решение было принято через взаимодействие алгоритмов, мы сможем изучить выход каждого из них.

Наверно, мы не должны представлять себе алгоритмы далёкого будущего в виде WALL-E и C-3PO. Вместо этого мы можем представить себе что-то вроде смартфона, полного всяких приложений, или кухонной столешницы, заставленной гаджетами. Готовясь к миру, заполненному алгоритмами, необходимо удостовериться в том, что мы планируем встретиться не с думающими волшебными ящиками общего назначения, которые могут никогда не появиться, а с высокоспециализированными тостерами.

Комментарии (29)


  1. ni-co
    11.08.2018 12:47

    Когда они (IA) научатся обмениваться алгоритмами, оптимизировать их, исправлять — наша эра закончится.


    1. pavelpromin
      11.08.2018 17:25
      +1

      Я джва года этого жду… И еще джва подожду


  1. adeptoleg
    11.08.2018 14:05
    +1

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


  1. pavelchavyr
    11.08.2018 16:20
    +1

    А потом придумают Искусственный Интеллект Супер Узкой Специализации (ИИСУС) и начнется новая эра.


    1. holy_desman
      11.08.2018 18:12

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


      1. holy_desman
        13.08.2018 01:22

        Интерееесно… Это мне хасиды в карму минусанули, или технари которые не уловили тонких отсылок (вообще, не тонких нифига) к Библии и Апокалипсису Иоанна Богослова?

        Разъясняю для технарей.
        Согласно христианскому символу веры во время второго пришествия Мессии (др. евр. спаситель) мёртвые воскреснут. Иоанн Богослов так же предполагал что непосредственно перед этим «зверь выйдет из моря». Между тем, хасиды, они же — ортодоксальные иудеи, полагают что прихода Мессии ещё не было, а Христос не считается.


        1. MTyrz
          13.08.2018 16:33

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


    1. vladob
      13.08.2018 02:39

      А потом придумают Искусственный Интеллект Супер Узкой Специализации
      … А потом через некоторое время появится — Научно Исследовательский Институт Креативных Основ Глубокого Обучения (НИИ КАГО)… и все вернется на круги своя.


  1. AlexTOPMAN
    11.08.2018 21:21
    +1

    Эти товарищи пробовали приготовить свой «неортодоксальный рецепт»? По-моему, уже изначально при постановке задачи было ясно, что тренировка на полном перечне ингредиентов для готовки и только (подчёркиваю!) успешных результатах (т.е. подтверждённых рецептах), ничего кроме результатов тупого микширования этих ингредиентов и «как их запекать» — не даст. Нет ограничителей. «Если это смешать с этим» или «запечь отдельно мороженое в духовке», то получится хрень. Перечень рецептов есть, а антирецептов — нет. Потому что его никто не составлял. Предметно он никому не был нужен. И потому алгоритму ИИ неоткуда взять критерии как делать нельзя или не стоит. Вот качество обучения возможностям без их ограничений и получается того ещё известного вида и запаха, которые так и веют от первого же примера синтезированного рецепта в публикации.
    Ну? Очевидные же вроде бы вещи…


    1. Num
      11.08.2018 22:29

      Обучение без учителя же


    1. VolCh
      12.08.2018 06:47

      Ну, ИИ мог догадаться, что раз каких-то комбинаций компонент никогда не встречается, то и ему не стоит их использовать.


      1. BlackMokona
        12.08.2018 15:36

        -Эй ИИ придумай мне новый рецепт!
        -Хмм нового рецепта не было, наверное по каким то причинам.
        Ничего не нашлось


    1. algotrader2013
      12.08.2018 23:11

      В приципе, в зависимости от похода он может быть и не нужен. Если уж совсем упрощать, то рецепт — это вектор из 100500 координат, где x_i — это сколько надо положить i-го продукта. А генератор, что бы выдать что-то вразумительное, должен выдавать вектор, который имеет соседей с высоким рейтингом (или хотя бы вообще имеет соседей на адекватном расстоянии). По такой схеме примеры плохих векторов не сильно и нужны (хотя минус — что такой алгоритм вряд ли придумает что-то принципиально новое). Понятно, что расстояние от вектора с сердцами и малиновым пирогом до ближайших соседей будет гигантским.


    1. roscomtheend
      13.08.2018 12:07

      Ну он насоздавал как в анекдоте «того-того-того смешать, взбить, вылить в унитаз. Намазать кусок батона маслом и съесть». Ещё он очень любит разрыхлитель — по несколько раз его добавляет.


  1. bro-dev0
    12.08.2018 12:30

    Если нет обратной связи то ясен фиг рецепты это почти рандом. Чтобы получился вменяемый результат после каждого приготовления пользователь должен был оценки ставить насколько вкусно получилось, например, и тогда на вопрос придумай самый вкусный рецепт нейросеть уже ответит верно.


    1. roscomtheend
      13.08.2018 12:08

      *выживший пользователь, способный покинуть Комнату Белого Брата.


  1. holy_desman
    12.08.2018 18:42

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

    Говоря техническим языком, да, не хватает контура обратной связи. Креативность зашкаливает, а критика на нуле.


    1. Daddy_Cool
      12.08.2018 21:53

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

      adeptoleg кстати любопытно — как оно работало бы. Скажем резиновый мячик раскрашенный под апельсин. Где-то есть граница за которой и человек не сможет отличить одно от другого. А вот на каком наборе признаков это делается — вопрос…


      1. Igor_O
        12.08.2018 22:11

        резиновый мячик раскрашенный под апельсин

        Попробуйте погуглить яндексом «откусил восковой фрукт». Находится масса примеров от рассказов о жизни имитаций фруктов в детском саду до литературных произведений классиков. Кусок воска, правильно раскрашенный, в условиях, когда нельзя понюхать или фрукт до надкуса не имеет сильного запаха (как некоторые сорта яблок, на которых от природы есть слой воска на шкурке) — весьма большой процент людей ведется и принимает их за настоящие. По крайней мере, в местах, где восковой фрукт можно взять в руки, я еще не встречал не надкусанных восковых фруктов… Хотя, нет, один раз встретил. И я был тем, кто тогда восковой фрукт надкусил. (а есть еще смешной вариант — в Китае на определенные праздники принято приносить и/или выставлять на стол красные яблоки… И к этим датам в магазинах появляются настоящие яблоки, которые плод яблони, которые просто явно покрашены в красный цвет каким-то красителем из пульверизатора… Ценник у таких яблок тоже какой-то запредельный, обычно… И есть эти яблоки, вроде бы, не принято.)


  1. Igor_O
    12.08.2018 20:20

    Ускорить первую смесь в подготовленную форму

    Дайте мне это развидеть!


    1. roscomtheend
      13.08.2018 12:13

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


  1. Igor_O
    12.08.2018 22:24

    изображение девушки, которая ест кусок пиццы

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

    Эта девушка заставила вспомнить еще один интересный спецэффект подсистемы обработки изображений в хомо-сапиенсе… Я сейчас регулярно с ним сталкиваюсь. Берем чертеж с кучей подписей, в ПДФ, «распечатанный» как картинка. Когда смотришь уменьшенное изображение, где по 3-4 пикселя на букву, весь текст прекрасно читается. Увеличиваешь изображение что-то рассмотреть, и вдруг текст превращается в набор разноцветных бессвязных пятен.


  1. technic93
    12.08.2018 22:56

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


    Мне кажется, что в примере про рецепты ИИ в обоих случаях не справился с задачей. То что ошибка при более узкой задаче кажется меньше, это потому что вероятность выдать полную ахинею на маленьком наборе данных была меньше. Когда ИИ скармливали рецепты пирогов, то понятное дело что он выдаст что то связанное с яйцом, мукой и духовкой, просто потому что он ничего кроме этого не слышал. Более того ИИ догадался что по статистике рядом с яйцами надо поставить слово взбивать а рядом с духовкой разогревать. И любой текст такого типа при беглом просмотре будет казаться осмысленным. Но если прочитать текст внимательно становиться очевидно что оба "рецепта" это бессмыслица.


    Я вот представил себя на месте этого несчастного робота которому дали миллион рецептов написанных китайскими иероглифами и попросили придумать новый. Почему на китайском? Потому что я, так же как и он, не знаю значения ни одного слова в тексте. У меня например, к каждому существительному на русском кроме его буквенного представления есть ещё и размер, форма, цвет, запах, вкус, плотность и так далее. Это я не говорю уже про действия: я знаю как резка, жарка, размешивание и прочее меняет физические и химические свойства тех или иных объектов. Но ИИ не может ощущать никаким образом всё это, потому что на входе его позитронной кремневой нейронной сети стоят символы а-я. И я думаю что я бы не смог понять из этих китайских грамот больше чем этот ИИ. Т.е. закономерность что некие слова как "резать" и "чистить" стоят ближе к началу текстов а вот "жарить" и "варить" ближе к концу это я бы смог заметить, а вот остальное только через проведение аналогий к уже известным ранее мне словам и действиям (на другом языке из ранее накопленного опыта).


    Во втором примере мне кажется задачи были разные по сложности. Сначала ии скармливали картинки птиц, а потом попросили нарисовать птицу. Т.е. абстракций было не так много и по крайней мере получится всегда птица, потому что другого алгоритму не вложили. А вот когда в него напихали много всего задача стала сложнее, т.е. нужно добавить ещё один уровень чтобы понять рисуем мы человека кошку или собаку. К тому же задание было сделать комбинацию объектов: человека и пиццу, и я вообще не уверен что они встречались вместе в наборе входных данных. Я вижу на картинке части человека и части пиццы. Но проблема в том что ИИ не очень понимает такие концепции как "есть", потому что он питается по проводам (хоть он и об этом не подозревает). Создатели этой нейронки "надеялись" что она разглядывая статические картинки должна понять как едят, т.е. что такое рот, и как туда руками подается еда (некоторое динамическое действие). К тому же все птицы судя по пдф в архиве были примерно в одном положении сидящие на ветке. А вот как располагались люди во входных данных? ведь нужно выработать представление о том как части тела могут двигаться друг относительно друга а не просто накидать текстуры в случайные места. Опять же может ли ИИ это понять только по картинкам?


    В заключение, я думаю что ии плохо справляется с задачами из реального мира, потому что у него мало входных данных для понимания концепций деятельности кожаных мешков (или недостаточно вычислительной мощности чтобы их все принять). Вот в играх где вся информация о мире доступна ИИ, он не плохо справляется.


    1. holy_desman
      13.08.2018 01:30

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


  1. robo2k
    13.08.2018 14:56

    Мне хочется чтобы кто-нибудь попробовал приготовить первый рецепт.


    1. roscomtheend
      13.08.2018 17:21

      Боюсь, УК будет против
      www.urbandictionary.com/define.php?term=katrima
      И это не считая мук выбора между мятой и малиновым пирогом.


  1. wych-elm
    13.08.2018 18:34

    Этот рецепт должен начинаться со слов: «Такой вот усредненный рецепт, потому что вариаций масса...» Ж-)


  1. JJBaltika
    13.08.2018 21:18


  1. GalayZloy
    13.08.2018 21:19

    То, что второй рецепт гораздо лучше первого — ерунда. То же самое, только ингридиеньы ограничены. Результат плохой, алгоритм обучения тоже никуда не годится. Лабораторная работа.