Мыслящие машины — это старые алгоритмы на более быстрых компьютерах

We use cookies. Read the Privacy and Cookie Policy

Барт Коско

Преподаватель электромеханики; преподаватель инженерного дела и правоведения в Университете Южной Калифорнии; автор книги «Шум» (Noise)

Машины не думают. Они аппроксимируют функции. Они превращают входные данные в выходные данные. Кнопка карманного калькулятора «корень квадратный» превращает число 9 в число 3. Хорошо тренированная сверточная нейронная сеть превращает изображение вашего лица в результат «1». Она также превращает изображение, на котором вашего лица нет, в результат «0».

Многослойная или «глубинная» нейронная сеть сводит оценку любого изображения к оценке вероятности того, что на нем есть ваше лицо. Таким образом, тренированная сеть аппроксимирует вероятностную функцию. Этому процессу, чтобы хоть иногда получать правильные результаты, требуется ошеломительное количество вычислений. Но в конечном итоге он все равно преобразует входные данные в выходные. Он всего лишь аппроксимирует функцию, даже если результат походит на человеческое восприятие или мышление. Для этого просто нужно много вычислительной мощности.

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

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

Рассмотрим наиболее популярные алгоритмы больших данных и машинного обучения. Один алгоритм неконтролируемый (ему не требуется учитель, чтобы присваивать данным метки), другой — контролируемый (ему требуется учитель), именно с ними связана значительная часть работ в области прикладного ИИ.

Неконтролируемый алгоритм называется кластеризацией методом k-средних, и, возможно, это самый популярный способ работы с большими данными. Он объединяет подобное с подобным и лежит в основе Google News. Начнем с миллиона измерительных точек. Сгруппируем их в 10, 50 или 100 кластеров или паттернов. Это вычислительно сложная задача. Но кластеризация методом k-средних является итеративным способом формирования кластеров по меньшей мере с 1960-х годов. Что изменилось, так это размерность задач, с которыми могут справляться современные компьютеры. Сам алгоритм называли разными именами, так или иначе намекающими на ИИ, например «самоорганизующаяся карта» или «адаптивная квантизация векторов». Но это все тот же старый двухступенчатый итеративный алгоритм из 1960-х.

Контролируемый алгоритм — это алгоритм нейронной сети, который называется обратным распространением. Именно он чаще всего используется в машинном обучении. Обратное распространение получило свое название в 1980-х годах. Появилось оно по меньшей мере десятью годами ранее. Алгоритм обучается на основе образцов, которые ему дает пользователь или супервизор. Например, вы показываете изображения с вашим лицом и без него. Они проходят через несколько слоев похожих на коммутаторы нейронов, пока те не эмитируют окончательный результат, который может быть представлен одним числом. Вам нужно получить число «1», если на входном изображении есть ваше лицо, и «0» в противном случае. Сеть изучает паттерны вашего лица, пока перебирает их в ходе тысяч и миллионов итераций. Ни на одном из этих шагов или переборов не возникает никакого интеллекта или мышления. И ни одно из уточнений любого из сотен или тысяч параметров сети не отражает того, как настоящие синапсы узнают новые паттерны нервной стимуляции. Скорее это как если бы люди выбирали, что им делать дальше, на основании ничтожного отрицательного воздействия, которое их действия окажут на процентную ставку по десятилетним облигациям государственного займа США.

Вывод: оба популярных алгоритма ИИ — это отдельные случаи одного и того же стандартного алгоритма современной статистики, алгоритма ожидания и максимизации (EM-алгоритма). Поэтому любой предположительно связанный с ними интеллект — просто заурядная статистика. EM — это двухступенчатая итеративная схема подъема на холм вероятности. Он не всегда попадает на вершину самого высокого холма — как правило, это оказывается вершина ближайшего холма. Возможно, ни один алгоритм обучения на большее и неспособен. Аккуратно добавленный шум и другие поправки могут ускорить восхождение. Но все пути так или иначе сходятся к вершине холма, к области наиболее правдоподобного равновесия. Все они заканчиваются в своеобразной нирване машинного обучения с локально-оптимальным распознаванием образа или аппроксимацией функции. Эти точки равновесия на вершинах холмов будут выглядеть все более впечатляюще по мере увеличения скорости компьютеров. Но с мышлением они связаны не больше, чем вычисление некоторых сумм и выбор наибольшей из них.

Следовательно, значительная часть машинного мышления — это просто машинное «восхождение на холмы».

Обзорная статья, написанная в 1961 году Марвином Минским, «Шаги к искусственному интеллекту» (Steps Toward Artifcial Intelligence) в этом контексте может стать поучительным чтением, поскольку со времени ее написания в плане развития алгоритмов мало что изменилось. Минский даже предсказал нашу склонность видеть в требующем больших вычислительных ресурсов «восхождении на холмы» какую-то исключительную познавательную способность: «Возможно, то, что относится к обычному поиску экстремума на одном уровне, однажды покажется (на более низком уровне) неожиданными „озарениями“».

Есть другие алгоритмы ИИ, но большая их часть попадает в те категории, о которых писал Минский. Один из примеров — выполнение алгоритмов с байесовской вероятностью на дереве поиска или графах. В этом случае приходится бороться с экспоненциальным ветвлением или другими схожими формами проклятия размерности. Другой пример — выпуклость или иная нелинейно ограниченная оптимизация для классификации паттернов. Итальянский математик Жозеф Луи Лагранж нашел алгоритм общего решения, которым мы пользуемся до сих пор. Он обнаружил его в 1811 году. Хитроумные трюки и ловкие манипуляции всегда могут быть полезны. Но прогресс крайне сильно зависит от того, чтобы эти алгоритмы выполнялись на все более быстрых компьютерах. Сами алгоритмы состоят в основном из большого числа операций сложения и умножения, а значит, маловероятно, что они в какой-то момент неожиданно проснутся и захватят мир. Вместо этого они научатся еще лучше учиться и распознавать еще более сложные паттерны просто потому, что будут быстрее складывать и умножать.

Можно смело утверждать, что завтрашние мыслящие машины окажутся очень похожими на сегодняшние — это будут старые алгоритмы на более быстрых компьютерах.