June 21, 2020

Can the Machine think?

Недавно начал читать книгу «Начало бесконечности» Дэвида Дойча (один из создателей квантового алгоритма Дойча — Йожи), и решил рассказывать про мысли из некоторых глав, которые мне показались интересными.

Сама книга начинается с вопроса:


«Откуда мы знаем, что существуют чёрные дыры, квазары, взрываются сверхновые, и, в процессе взрыва происходит трансмутация и образовываются все возможные химические элементы из которых состоит наше тело и Земля? Ведь это невообразимо далеко и невероятно сложно!»

«Мы это знаем благодаря телескопам и измерительным устройствам»—это плохое объяснение, так как есть что-то, что привело к созданию телескопов и измерительных устройств. Что?

«Мы знаем, что существуют конкретные законы физики, мы проверили эти законы много раз, мы получили много информации о том, что эти законы соблюдаются и на Земле и за миллиарды километров, поэтому мы с хорошей точностью знаем что происходит при взрыве сверхновой»—это хорошее объяснение.

Самый базовый элемент, который позволяет человечеству создавать новое знание —объяснения (главная тема книги), созданные с помощью очень простого процесса

  1. Догадаться/предположить, что что-то устроено определённым образом
  2. Проверить гипотезу экспериментами, получить обратную связь от коллег
  3. Убить, или доработать по обратной связи
  4. Ждать, пока не появится объяснение лучше

Да, это стандартный продуктовый подход.

И именно этот процесс привёл к созданию всего знания, всех инструментов, которые существуют в мире. И другого процесса создания знания не существует.

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


Тезисы

Для меня мышление — это способность реагировать на ситуации, исходя из субъективного опыта (qualia), полученного в процессе жизни
А искусственный интеллект — это свойство интеллектуальный систем выполнять творческие функции
Для создания ИИ мы должны понимать, как работает qualia, чтобы заложить эту модель в программу. Для того, чтобы эта программа могла мыслить, опираясь на полученные в процессе своей работы qualia, а не с помощью изначально заложенных алгоритмов
Можно говорить о ИИ только тогда, когда программы начнут сами генерировать знания внутри себя, а не проговаривать только те знания, которые изначально были заложены создателями программы.
Самым важным элементом ИИ является универсальность. То есть возможность прийти к решению любой задачи без заложенного изначально знания об этой задаче.
Универсальность не получится разработать в текущих реалиях, и дело не в том, что нам не хватает вычислительных мощностей, а в том, что мы не понимаем, как генерируются идеи и что такое творчество.
Если бы кто-то сейчас знал, как написать такую программу, то нам не нужна было бы создавать настоящую программу, обычного описания всем бы хватило, неважно, насколько оно было бы сложным. Следовательно, проблема ИИ не в недостатке мощностей
Если что то не получается запрограммировать, то мы этого не понимаем
Притворяться в том, что программа может думать — не тоже самое, что на самом деле думать


В 1936 году Алан Тьюринг создал теорию классических вычислений, а во время Второй мировой войны участвовал в конструирований первых универсальных классических компьютеров. Он по праву считается отцом современной вычислительной теории.

Тьюринг еще в те года осознавал принципиальную возможность Искусственного Интеллекта, потому что универсальный компьютер — это универсальное моделирующее устройство.

В 1950 году статье «Вычислительные машины и разум» (Computing Machinery and Intelligence) он поставил знаменитый вопрос: может ли машина мыслить?

Он не только защищал с позиций универсальности утверждение, что может, но и предложил соответствующий тест

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

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

Google assistant as an example

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

Частым аргументом в защиту ИИ является то, что наших мощностей еще не достаточно

Но, огромные вычислительные мощности, которых мы еще не достигли, не должны являться проблемой.

Допустим, кто-то создал программу, которая прошла тест Тьюринга. Значит человек, написавший ее, должен уметь объяснить, как она работает. А если он может объяснить, как она работает, то нам не обязательно тратить время на создание этого ИИ в реальности.

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

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

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

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

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

В том, что тест Тьюринга должен помочь отличать ИИ от обычной программы есть одна проблема.

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

Если смысл высказываниям разработчик придал заранее, во время создания программы, то программа не искусственный интеллект. А если смысл высказываниям придает сама программа, то она — действительно искусственный интеллект

Есть и более глубокая проблема. Способности искусственного интеллекта должны обладать своего рода универсальностью: специализированное мышление не будет считаться мышлением в том смысле, который предполагал Тьюринг. Скорее всего, что каждый искусственный интеллект это субъект — универсальный объяснить.

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

Путь к искусственному интеллекту не может лежать через все более удачные трюки, благодаря которым чат боты становятся все убедительнее.

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

Текущая ситуация с ИИ похожа на одну из эволюционных концепций — ламаркизм.

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

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

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

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

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

И наоборот, аналогом эволюционных изменений вида является творческое мышление человека, которое мы так и не познали до конца.

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

Запрограммировать искусственный интеллект на какие-то определённые цели нельзя в принципе. Если мы запрограммировали что-то на решение каких-то задач, то интеллекта (разума) там не будет.

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

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

Мозг же, напротив, эволюционирует сам. То есть информация о том как (на каких принципах) это должно происходить заложена в самом мозге в той или иной форме. И это нам даёт несколько больше шансов по сравнению с компьютером на понимание «высшего замысла».

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

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