Последнее изобретение человечества - [27]
Кому выгодна самосовершенствующаяся часть этой программы? Amazon, разумеется, но и вам тоже. Анализ парных предпочтений — своеобразный помощник покупателя, позволяющий всякий раз при совершении покупок пользоваться обширной статистикой. Amazon ничего не забывает — он постоянно дополняет ваш покупательский профиль и раз от разу все лучше подбирает для вас товары.
Что происходит, когда вы поднимаетесь на ступеньку от программы, способной обучаться, к программе, которая на самом деле развивается, чтобы находить ответы на сложные задачи и даже создавать новые программы? Это еще не осознание себя и не самосовершенствование, но это еще один шаг в этом направлении — программы, которые создают программы.
Генетическое программирование — алгоритм машинного обучения, использующий возможности естественного отбора для поиска ответов на вопросы, на решение которых у человека ушло бы длительное время — возможно, годы. Этот алгоритм используется для написания новаторских, мощных программ.
Такой алгоритм во многих отношениях отличается от более распространенных методик программирования, которые я буду называть обычным программированием. В обычном программировании для решения задач используется, как правило, человеческая, а не компьютерная логика. В обычном программировании каждую строку кода пишет программист, и процесс обработки данных от входа до выхода, по крайней мере, в теории, прозрачен и поддается проверке.
Напротив, программисты, применяющие алгоритм генетического программирования, описывают задачу, которую необходимо решить, и позволяют естественному отбору сделать все остальное. Результаты могут быть поразительными.
Генетическая программа создает кусочки кода, как бы представляющие очередное поколение. Самые перспективные скрещиваются — случайным образом обмениваются блоками кода, давая новое поколение. Пригодность программы определяется тем, насколько близко она подходит к решению поставленной программистом задачи. Непригодные отбрасываются, а лучшие скрещиваются вновь. На протяжении всего процесса программа проводит случайные изменения в отдельных командах и переменных — мутации. Однажды начав, генетическая программа работает сама по себе и не нуждается в человеческом вмешательстве.
Джон Коза из Стэнфордского университета в 1986 г. одним из первых начал заниматься генетическим программированием. Он использовал генетические алгоритмы при проектировании антенны для NASA, разработке программ распознавания белков и конструировании электрических контроллеров общего назначения. Двадцать три раза генетические алгоритмы Козы самостоятельно изобрели электронные компоненты, уже запатентованные людьми; программы работали просто по целевым инженерным спецификациям готовых устройств — это был критерий пригодности. К примеру, алгоритмы Козы изобрели преобразователь напряжения (устройство, используемое при испытаниях электронного оборудования), работавший точнее, чем схема, изобретенная человеком по тем же заданным спецификациям. Однако есть тут одна загадка: никто не может объяснить, как именно схема работает и почему она работает лучше; на первый взгляд, в ней есть лишние и даже ненужные детали.
Но это и есть самая интересная черта генетического программирования (и «эволюционного программирования» вообще — более широкой категории алгоритмов, к которой оно относится). Код программы нечитаем. Программа развивает решения, которые компьютерщики не в состоянии сколько-нибудь легко воспроизвести. Более того, они не могут понять путь, двигаясь по которому программа генетического программирования получила конечный результат. Вычислительное устройство с понятными вам входными и выходными данными, но неизвестной процедурой их обработки называется «черным ящиком». И непознаваемость этой процедуры — серьезный недостаток любой системы, использующей эволюционные компоненты. Каждый шаг к непрозрачности — шаг прочь от ответственности и приятных надежд на то, что нам удастся запрограммировать в ИИ дружественность по отношению к человеку.
Это не означает, что ученые всегда теряют контроль над «черными ящиками». Но если когнитивные архитектуры используют такие системы при создании ИСИ, — а это почти неизбежно, — то в «ДНК» ИСИ войдут целые пласты непонятного кода.
Непознаваемость может оказаться неизбежным свойством сознающей себя самосовершенствующейся программы.
Это системы совершенно иного рода, чем то, к чему мы привыкли, — пояснил Омохундро. — Если у вас есть система, способная изменять себя, то вы, возможно, понимаете ее первую версию. Но она может изменить себя до состояния, которое вы уже не сможете понять. Так что эти системы довольно непредсказуемы. Они очень мощные и потенциально опасны. Так что значительная часть нашей работы связана с тем, чтобы получить предполагаемую пользу и при этом избежать рисков.
Возвратимся к упомянутому Омохундро роботу-шахматисту. Как он может быть опасен? Разумеется, речь не идет о шахматной программе, установленной в вашем телефоне. Речь о потенциальном роботе-шахматисте, управляемом настолько сложной когнитивной архитектурой, что он способен переписать собственную программу, чтобы лучше играть в шахматы. Он обладает самосознанием и может совершенствовать себя. Что произойдет, если вы «попросите» его сыграть одну партию, а затем выключиться?
Эта книга адресована сразу трем аудиториям – будущим журналистам, решившим посвятить себя научной журналистике, широкой публике и тем людям, которые делают науку – ученым. По сути дела, это итог почти полувековой работы журналиста, пишущего о науке, и редактора научно-популярного и научно-художественного журнала. Название книги «Научная журналистика как составная часть знаний и умений любого ученого» возникло не случайно. Так назывался курс лекций, который автор книги читал в течение последних десяти лет в разных странах и на разных языках.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.