Книга Архитекторы интеллекта. Вся правда об искусственном интеллекте от его создателей - Мартин Форд
Шрифт:
Интервал:
Закладка:
Машинное обучение всегда было частью науки об ИИ. По сути, это развитие корректного поведения на базе предшествующего опыта.
М. Ф.: Еще дайте, пожалуйста, определения нейронным сетям и глубокому обучению.
С. Р.: Одна из стандартных методик машинного обучения – это обучение с учителем. Системе ИИ дается набор примеров какого-то понятия, снабженных описаниями и метками. Представьте фотографию с подписью, которая указывает, что это изображение лодки, далматинца или чашки с вишнями. Цель обучения состоит в поиске параметра или гипотезы, которые позволят классифицировать изображения в целом. Так мы пытаемся научить ИИ предсказывать, как могут выглядеть другие изображения тех же объектов.
Гипотезу или параметр можно представить в виде нейронной сети – схемы, состоящей из набора слоев. Входом в нее могут быть значения пикселов на фотографиях далматинцев. В процессе их распространения по схеме на каждом уровне вычисляются новые значения. На выходе из нейронной сети мы получаем распознавание объекта. И мы надеемся, что если подать на вход изображение далматинца, то после прохождения значений всех пикселов через все слои нейронной сети индикатор далматинца будет иметь высокое значение, а индикатор чашки с вишнями низкое. В этом случае можно сказать, что нейронная сеть правильно распознала объект.
М. Ф.: А как заставить нейронную сеть распознавать объекты на изображениях?
С. Р.: Для этого и нужен процесс обучения. Его алгоритмы настраивают весовые коэффициенты всех связей таким образом, чтобы на примерах сеть запоминала правильные ответы. При определенном везении сеть начинает распознавать объекты и на новых, не входящих в обучающий набор изображениях.
Глубокое обучение – это обучение многослойных нейронных сетей. Формально минимального требования к глубине сети не существует, но двух- или трехуровневые сети, как правило, не считаются глубокими. Некоторые сети могут насчитывать более тысячи слоев. В них преобразование, происходящее между входом и выходом, можно представить как композицию более простых преобразований, происходящих на отдельных уровнях. Предполагается, что наличие множества уровней облегчает поиск обобщающих параметров благодаря установлению весовых коэффициентов всех связей.
Мы только подходим к теоретическому пониманию того, в каких случаях и почему глубокое обучение дает верные результаты. По большому счету все происходящее до сих пор выглядит для нас как магия. Кажется, что изображения, звуковые сигналы и речь, подаваемые на вход глубокой сети, обладают каким-то свойством, помогающим вычленить из них нужный признак. Но пока не ясно, каким.
М. Ф.: Может сложиться впечатление, что ИИ – это синоним глубокого обучения. Это не так?
С. Р.: Приравнивать глубокое обучение к ИИ – ошибка, потому что умение отличать далматинцев от ваз с вишнями – это малая часть требований к эффективному ИИ. Программы AlphaGo и AlphaZero привлекли внимание СМИ к глубокому обучению, но на самом деле это гибрид классического ИИ, который использует метод поиска, с алгоритмом глубокого обучения, который оценивает каждую игровую позицию. Хотя умение отличать хорошую позицию от плохой в го ключевое, программа не смогла бы сыграть на уровне чемпиона мира только в результате глубокого обучения.
По такому же принципу работает система беспилотного автомобиля. На дороге то и дело возникают ситуации, разрешение которых должно происходить по классическим правилам, но в то же время нужно предугадывать возможную реакцию других участников движения, оценивать последствия.
Восприятие – это важный компонент ИИ, который вполне адекватно удается реализовать через глубокое обучение, но для создания системы ИИ требуется множество других способностей различного типа. Особенно это касается действий, растянутых во времени, таких как поездка в отпуск, или сложных – строительство завода. Такие виды деятельности невозможно организовать, имея только систему типа «черный ящик» с глубоким обучением. Иначе алгоритму глубокого обучения нужно будет продемонстрировать все способы, которые когда-либо применялись для строительства. Научится ли система после этого строить заводы? Нет. Во-первых, таких данных не существует, а если бы они и были – нет смысла строить заводы таким образом.
Для строительства нужны специальные знания. Умение планировать. Знание свойств материалов. Чтобы решать долгосрочные и сложные задачи, можно создать системы ИИ, но глубокое обучение тут не поможет.
М. Ф.: Есть ли достижения в сфере ИИ, которые можно считать прорывом?
С. Р.: Хороший вопрос. Дело в том, что многие достижения, о которых активно говорили в СМИ, это не концептуальный прорыв, а всего лишь демонстрация. Вспомните хотя бы победу суперкомпьютера Deep Blue над Каспаровым. По сути, речь шла о демонстрации алгоритмов, разработанных тридцатью годами ранее и постепенно совершенствовавшихся на более мощном оборудовании. Но прорыв заключался в особенностях шахматной программы. В ней интересны и способ прогнозирования, и альфа-бета-алгоритм, сокращающий объем поиска, и некоторые из методов проектирования функций оценки. В итоге, как это часто бывает, СМИ назвали прорывом то, что им не является.
Также и сегодня. Вспомните отчеты о восприятии и распознавании надиктованной речи, заголовки в газетах о точности понимания текста на уровне человека или еще точнее. Но все эти впечатляющие практические результаты – только демонстрация прорывов, произошедших в 1980–1990-х гг.
Сейчас к более старым достижениям прибавлены современные методы проектирования, огромные наборы данных, многоуровневые сети и новейшее оборудование. Есть интерес к ИИ. Но обсуждаются не прорывы.
М. Ф.: Можно ли считать примером прорывной технологии программу AlphaZero от DeepMind?
С. Р.: Это интересная программа. Но нет ничего удивительного в том, что программное обеспечение для игры го смогли использовать для игры в шахматы и сеги на уровне чемпионов мира.
Тот факт, что программа AlphaZero менее чем за сутки научилась играть на сверхчеловеческом уровне в три разные игры, используя одно и то же программное обеспечение, безусловно, вызывает волнение. Но это всего лишь подтверждает, что если вы четко понимаете класс задачи, особенно детерминированной, если есть два игрока, делающих ходы по очереди, а игра идет по известным правилам и за ней можно наблюдать, то решением может стать хорошо спроектированный класс алгоритмов ИИ, позволяющих обучать функции оценки и использовать классические методы управления поиском.
Но для других классов задач, где часть информации скрыта, нужны другие алгоритмические структуры. И программа AlphaZero не научится играть в покер и водить автомобиль. Она не умеет оценивать скрытые факторы. Фигуры на доске для нее – это только фигуры на доске.
М. Ф.: Но ведь в Университете Карнеги – Меллона разработали систему ИИ для игры в покер. Программу Libratus можно считать прорывом в сфере ИИ?
С. Р.: Эта программа – еще один впечатляющий пример гибридного ИИ. Она представляет собой комбинацию алгоритмов, которые существуют уже 10 или 15 лет. Для игр с неполной информацией требуется смешанная стратегия. Ведь если, к примеру, все время блефовать, соперники это быстро поймут. Но без блефа невозможно воровать блайнды, если у вас слабая комбинация карт. Давно известно, что в таких карточных играх нужно постоянно менять свое поведение и оценивать перспективу будущей ставки. ИИ умеет рассчитывать все эти вероятности крайне точно, но только для игры с короткой колодой. Уже примерно 10 лет идет работа над масштабированием расчетов, и есть результат.