Справочник автора/Искусственный интеллект
Искусственный интеллект — общее название реальных и вымышленных компьютерных программ, алгоритмов и устройств, позволяющих машинно решать задачи, традиционно считающиеся человеческими. Это определение, как и сами границы понятия, очень расплывчато и разбивается на множество категорий. В отличие от основной статьи, в Справочнике автора будут рассмотрено то, как оно работает и, вероятно, могло бы работать на самом деле, а не то, каким это явление показано в массовой культуре.
Перцептрон — нейросеть придуманная в 1943 году, и реально построенная в 1960 году. с 1965 года стала реально использоваться на практике почтой США, а затем и почтой СССР, для распознования цифр почтового индекса написанных специальным шрифтом
Терминологический вопрос[править]
Словосочетание «Искусственный интеллект» используется в разных значениях, у него пока нет точного канонического определения, и различные авторы пользуются разными. При желании искусственным интеллектом можно назвать что угодно, созданное искусственно и имеющее нечто вроде разума, от напоминалки на мобильнике до Голема. Чтобы очертить именно то, о чём идет речь, в этом разделе нужно пояснить некоторые моменты. Во-первых, речь пойдет в границах, обозначенных выше в начале статьи, и в первую очередь о том, что эта штука решает традиционно человеческие задачи (какие — см. ниже). Во-вторых, в первую очередь под ИИ будет подразумеваться набор программ (даже если их предполагаемый исполнитель не похож на современные компьютеры), а не собственно устройства. В-третьих, подразумевается, что эти самые программы целенаправленно написаны человеком. То есть, например, если некие ученые сделали среду, моделирующую ускоренную эволюцию, и в ней вырос новый вид существ с мозгами, то это не ИИ, хоть и некое искусственное создание, потому что те программы, которые в нём появились, непосредственно никто из ученых не кодировал. А если бы они научились соединять нейроны и посылать по ним импульсы, а затем сами бы сконструировали из нейронов мозг и запрограммировали бы, то это, в общем-то, был бы ИИ. Разница — в том, что мы знаем, как именно работает ИИ, способны его модифицировать, воспроизвести на другой машине и, если он будет сильным (см. ниже), понять (возможно, в общих чертах) его дальнейшую эволюцию. Более того, в некотором смысле гипотетический сильный ИИ сам будет «понимать», как он работает.
Какие задачи решает[править]
В первую очередь те, для которых нет известного, ясного, короткого, формального и гарантированного алгоритма решения (или же такое решение работает очень долго), при этом человек, тем не менее, с большим или меньшим успехом решает их самостоятельно, в определенной степени используя человеческую логику, интуицию и рефлексы. Краткий список примеров, который даже в первом приближении не является исчерпывающим:
- распознавание образов и речи;
- понимание естественного языка (при этом трудно сказать, где находится грань между этой проблемой и собственно разумом);
- механика сознательных (хождение, работа руками) и бессознательных (дыхание, поддержка мышечного тонуса) движений;
- построение логических заключений (как в доказательной, так и в интутивной форме; как будет показано ниже, наше доказательное мышление не является строго формальным и не строится исключительно по известному нам алгоритму, если, конечно, это не решения типовых задач);
- творчество;
- формулировка и возможность достижения сложных целей, не имеющих четкого формального описания (как будет показано ниже, во многих случаях, когда нам кажется, что мы способны дать такое описание, это не так).
В ряде подобных задач граница между тем, чему легко научить машину, и тем, что умеет в этой области человек, выглядит количественной. Поэтому можно говорить, что разница между обычной компьютерной программой и ИИ является в некотором смысле количественной, но, тем не менее, не перестает быть заметной и существенной.
Подходы к решению задач[править]
Итак, у нас есть некая платформа, которую мы можем запрограммировать, и есть задачи, упомянутые выше. Как нам их решить?
Естественным кажется для начала попробовать понять, как человек их решает, а затем воспроизвести соответствующие алгоритмы машинно. У подобного подхода есть определенные преимущества (человек уже способен решать задачи, так что это очевидный способ получить какие-то алгоритмы) и недостатки, и о них стоит упомянуть подробнее.
Мозг человека — сложное устройство, эволюционно адаптированное к хорошему решению ряда задач. Львиная доля его деятельности на этом поприще нашему собственному сознанию незаметна. Как и у животных, у человека сильно развито интуитивное, внелогическое мышление. Передвигаясь на ногах, пережевывая пищу, переводя зрительные ощущения в восприятие конкретных пространственных образов, мы можем почти не задумываться об этом. Бессознательная деятельность мозга быстра, отточена эволюцией на протяжении сотен миллионов лет, хорошо оптимизирована и не похожа на то, что мы обычно называем интеллектом, при этом составляя его важнейшую часть. (Далее она будет для простоты называться интуитивной; это не означает, что в ней есть что-то неалгоритмическое или даже мистическое, это означает, что она недоступна непосредственно сознанию и ее алгоритмы существенно отличаются от таких, какие мы привыкли осмыслять как алгоритмы.)
К примеру, когда мы берем со стола яблоко, происходит множество сложных процессов (очень грубо):
- глаза кадр за кадром (это не такие дискретные кадры, как в кино, но вовсе не что-то постоянное) передают в мозг плоскую картинку окружающего мира с не очень хорошим разрешением, при этом картинка, передаваемая каждым глазом, отличается;
- мозг (его интуитивные процессы) накладывает последовательные кадры друг на друга, взаимно сопоставляет их и получает нечто вроде уже более четкой, но всё еще плоской картины того, что перед нами;
- затем в этой картинке мозгом выделяются отдельные образы, как бы расположенные в пространстве, а не в плоскости. Решая эту сложную задачу, мозг использует разницу между тем, что видит левый и правый глаз, данные о яркости и цвете, представления о форме и размере предметов, усвоенные из предыдущего опыта. Ключевой момент — этот процесс не «знает» таких терминов сам по себе, не «понимает» принципов бинокулярного зрения или перспективы. Когда вы рефлекторно отдергиваете руку от горячего чайника, та часть вас, которая это делает, не знает, почему это надо делать; с распознаванием образов всё так же, просто сеть «рефлексов» сложнее. Ну хорошо, не так же, но очень сильно отличается от того, как это, например, делала бы компьютерная программа (точнее, ее разработчик). Впрочем, об этом ниже;
- обнаруженные образы классифицируются на основании предыдущего опыта (да, это всё еще интуитивная часть разума);
- на основании сигналов, получаемых мозгом от тела (напоминаю, мы всё еще пытаемся взять со стола яблоко) мозг определяет положение рук в пространстве (в той же внутренней системе трехмерного восприятия, в какую мы на прошлом шаге поместили образы) и посылает рукам сигнал двигаться в сторону яблока;
- в процессе этого движения ежемоментно выполняется весь вышеописанный цикл, при этом представления о положении яблока и собственном положении, а также сигналы постоянно корректируются, благодаря чему движение выходит плавным, точным и неидеально эффективным.
Сознание человека при этом участвует только на этапе принятия решения взять яблоко, а затем на осознании того, что оно уже взято (если только мы не поставим себе целью пронаблюдать сам процесс, при этом получится сделать это только весьма поверхностно).
Выше было сказано слово «сознание»; не вдаваясь в дебри философии и психологии, будем считать, что это оставшаяся часть процессов в нашей голове. Строго говоря (и чтобы не особо сужать термины), раз сейчас нам важно решение задач, более корректно было бы рассуждать о аналитической системе. Она в сто раз моложе и намного медленней, чем интуитивная. Аналитическая система — это то, как вы решаете задачу по физике, планируете расходы или придумываете сюжет романа. Она позволяет вам мыслить абстракциями, осознавать суть и взаимосвязь вещей, строить алгоритмы и формализованно передавать все эти знания. При этом аналитическая система у человека всегда очень сильно опирается на интуитивную, даже в тех задачах, которые кажутся чисто логическими. Доказывая теорему, мы не следуем какому-то четкому известному и осознанному алгоритму (иначе бы у нас давно были бы программы, которые делают это не хуже нас; пока что у нас есть программы, которые делают это хуже нас, но они стремительно развиваются). Очередной шаг доказательства всплывает как бы интуитивно, а уже потом мы сознательно можем оценить его истинность, ложность или неопределенность. Шахматист сознательно анализирует десятки или сотни вариантов развития событий на доске, но при этом интуитивно отсекает миллионы (хотя подобному, в отличие от доказательства теорем, мы уже научили компьютеры).
Таким образом, человек способен решать задачи двумя системами — интуитивной (быстрой, практически не предполагающей естественное развитие, не осознающей семантики данных, с которой работает) и аналитической (медленной, развивающейся с накоплением и осознанием данных, понимающей семантику данных). По сути аналоги обоих систем можно перенести в алгоритм, и это как раз будет двумя основными подходами к решению задач. (Граница между ними не является четкой, но во многих случаях вполне можно понять, о чём речь.)
Аналогом аналитической системы в ИИ и информатике вообще будут (точнее, есть уже много лет) алгоритмы, разработчик которых явно указал и описал сущности, с которыми алгоритм работает, закономерности, связи и так далее. Сейчас большинство алгоритмов пишется именно так. Конечно, машина, исполняя такой алгоритм, не «осознает» суть того, над чем она «думает» так, как это делает человек, но, тем не менее, код отражает более или менее абстрактную семантику тех данных, которые обрабатываются. Сторонний человек может, ознакомившись с этим кодом, понять, как именно он решает задачу и как это решение связано с предметной областью, внести улучшения, расширить границы применимости этого кода или как-либо его описать. К примеру, ИИ, построенный в соответствии с этим подходом, пытающийся оценить, куда упадет летящий камень, занесет этот камень в соответствующую категорию (твердые тела, подчиняющиеся законам Ньютона, размер которых достаточно мал), оценит действующие на него силы, вспомнит или построит уравнения его движения и численно их рассчитает. То же мог бы сделать человек при помощи аналитической системы, при этом машина сделает всё это гораздо быстрее.
Несмотря на то, что большинство алгоритмов сейчас строится с аналитическим подходом, существуют и аналоги интуитивного подхода для компьютеров. Это, например, перцептрон, нейронные сети, машинное обучение и существенная часть того, что сейчас называется Data Science. (Многие из задач, решаемых этими инструментами, как раз являются традиционно человеческими и, следовательно, их машинное решение — это ИИ.) Идея такова: мы не знаем или знаем плохо, как можно семантизировать какую-либо предметную область (эволюция тоже не знала, так что аналогия машинных «интуитивных» алгоритмов с человеческими ближе, чем такая же для аналитических), но мы сами как-то умеем решать, так что давайте построим сложную систему, которая будет тренироваться подобно тому, как тренируются наши рефлексы, и попытаемся научить ее выдавать правильные ответы. Сейчас подобные алгоритмы успешно работают с распознаванием образов, задачами классификации, прогнозированием поведения сложных систем и в других областях. Несмотря на успешность и бурный рост этой области, нельзя не отметить, что такой подход к решению задач по сути мало чем отличается от поиска решения уравнения подбором вместо анализа. ИИ, работающий подобным образом и пытающийся предсказать траекторию камня, не будет ничего знать о законах физики, зато, покопавшись в своей базе данных, куда записаны другие траектории, и экстраполировав из каких-либо общих соображений имеющуюся, он с определенной вероятностью предскажет новую траекторию. То же делает человек, ловящий мяч в полете (см. выше про то, как мы берем яблоко со стола; в случае с мячом внутренние процессы и машины, и человека будут достаточно похожи — в сравнении с аналитическим подходом, конечно).
В этом месте аналогия между человеком и машиной кончается, потому что для машины у обоих подходов свои плюсы и минусы. Компьютер достаточно быстр в обоих, и аналитический подход его не замедляет. Программы, подразумевающие аналитический подход, лучше расширяются и модифицируются. Наконец, возможность запрограммировать компьютер аналитически в тех задачах, которые человек решает интуитивно, — это как раз то, что можно сделать с компьютером, но нельзя с человеком. Таким образом, более перспективным, нежели вышеупомянутые нейронные сети и прочие «интуитивные» алгоритмы, выглядит разработка аналитических программ для ИИ, и в этом месте его создание начинает существенно отличаться от воссоздания того, как работает мозг человека. Тем не менее, очень многие задачи пока можно решить только «интуитивными» алгоритмами, но это больше похоже на временное решение, чем на по-настоящему перспективный путь к созданию мощного ИИ.
Если же углубиться ещё дальше, препятствий на пути к ИИ возникает ещё больше: человеческий мозг является не простой интеллектуальной системой, способной решать хоть и большой, но ограниченный круг задач, а такой системой, способной решать бесконечное их количество. Нейросети, несмотря на свою большую близость к мозгу, чем у простых алгоритмов, сталкиваются именно с проблемой этой ограниченности. Корень этой проблемы кроется в философии.
Из науки психологии известно, что психика — это некая прослойка между стимулом и реакцией, которая производит преобразование сигнала. Психика и является той системой, которую призван моделировать ИИ. Психика в том или ином виде есть у всех существ с нервной системой, но только у человека она достигает (пока что) высшей точки развития, то есть целесообразной деятельности, в отличие от животных, деятельность которых результатосообразная. Если последняя — это действия на основе, грубо говоря, объективной реальности, данной нам в ощущениях прямо сейчас — волк бежит за зайцем потому что он его видит/чует —, то целесообразная деятельность подразумевает действия в соответствии с целью, а цель — это осознанный образ желаемого результата, ещё не существующего в действительности.[1]
Причины появления у человека именно такой психики часть учёных (из советских — все учёные, так как это было генеральной линией партии) видит в развитии у предков человека:
- праорудийной деятельности (действий с палками и камнями, без производства орудий, причиной чему стала слабость предков людей в своей экологической нише);
- общественных структур, противоположных животной «иерархии доминирования» (в целях выживания распределение еды по праву сильного само собой сменилось уравнительным, а также кооперацией).
Этими учёными сознание мыслилось как отражение всей структуры общественных отношений в одном мозгу, то есть сознание — мера включённости человека в общественное сознание[2], а самосознание — взгляд на самого себя глазами общества (точнее, образа общества). «Функция» идёт до «структуры», порождает её. При этом каждая функция мозга (мышление, интеллект, воображение) имеет общественную природу, не может быть выделена отдельно от самосознания, следовательно не может быть и речи о моделировании интеллекта без моделирования сознания как такового, со всем, что в нём есть. Таким образом Ильенков, например, пришёл к выводу, что даже если у нас есть материальный носитель для «искусственного сознания», мы не сможем создать это «сознание» не смоделировав каким-то образом всю историю человечества. Но в его время это представлялось как создание отдельной «машинной цивилизации» на отдельной планете, сегодня же это теоретически можно сделать на компьютерной симуляции. Из вышесказанного следует, что ИИ можно сделать лишь «воспитав» его в каком-то обществе (общаясь, стимулируя к деятельности внутри коллектива, либо создав новое общество из машин). Но это всё при условии, что материализм вообще прав, ведь на природу сознания существует множество альтернативных точек зрения.
Слабый и сильный[править]
Сингулярность[править]
Проблема дружественного ИИ[править]
Самоосознание[править]
Антропоморфизм[править]
См. также[править]
Что почитать[править]
- ↑ Эксперименты с нейросетями, которые научили «мечтать», показали, что от этого эффективность обучения возрастает, но это всё ещё не то, так как образ задан извне.
- ↑ Не стоит опошлять это утверждение, пытаясь оспорить его Робинзоном, ведь Робинзон вырос в человеческом обществе, его сознание уже сформировано. В подтверждение же этой позиции можно привести пример детей маугли, которые никакого интеллекта не развили.