Искусственные: память, сознание, интеллект...

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

Для создания искусственной системы, полноценно понимающей речь человека, необходимо решить множество различных задач. Одна из них, возможно, не самая сложная, заключается в том, что такая система должна учиться в непрерывном потоке звуков выделять или распознавать отдельные слова. Т.е. она должна самостоятельно учиться определять, где кончается одно слово и начинается следующее, а затем находить в своей памяти значения этих слов и выполнять дальнейший анализ. Конечно, эту проблему непрерывности можно исключить, если поставить условие для пользователей искусственной системы: при произношении необходимо делать хотя бы небольшие паузы. Однако, это нельзя назвать полноценным решением задачи.
Совершенно очевидно, что при анализе речи, искусственная система должна постоянно обращаться к своей памяти и, сравнивая текущую информацию с информацией (эталонами) в памяти, определять, когда заканчивается одно слово и начинается другое. В этом случае возникает ряд вопросов. Например: как и когда должны создаваться такие эталоны в памяти системы?
В качестве ответа на этот вопрос, можно принять, что они должны вводиться в память изначально или путём создания специального режима ввода таких эталонов. Однако, такой ответ вряд ли позволит создать искусственную систему полноценно, и аналогично человеку, понимать речь. Человек рождается без эталонов в своей памяти и не имеет специального «переключателя», переводящего его в режим специального обучения. В противном случае, люди не смогли бы изучать любые языки. Значит необходимо, чтобы искусственная система могла самостоятельно создавать такие эталоны лишь в процессе обычного (естественного) и единственного режима анализа речи. В этом случае, при нулевых начальных данных и отсутствии специального режима ввода таких данных, остаётся небольшой выбор вариантов решения. Один из них, если не единственный, заключается в том, что можно сделать модель искусственной системы, которая при анализе сможет обнаруживать повторяющиеся последовательности звуков и выделять их в отдельные элементы. Можно предположить, что в результате такими элементами (сегментами) и будут слова нашей речи. Однако, слово не является наименьшей уникальной единицей нашей речи, и поэтому, в свою очередь, состоит из также повторяющихся в других словах фрагментов последовательностей. Поэтому при работе искусственной системы она будет выделять в отдельные элементы не только последовательности совпадающие (иногда) со словами, но и последовательности, которые будут являться составными частями слова. Т.о. такой, формальный, вариант решения задачи не позволяет создать систему, которая самостоятельно, исходя только из анализа последовательного потока звуков (акустических событий), сможет определять слова нашей речи. В этом случае можно попытаться решить поставленную задачу, прибегнув к значениям или образам, которые мы кодируем, используя слова. Но тогда возникнет очередная масса вопросов, относящихся уже к этим значениям, например, к объектам окружающего мира и их свойствам. Другим вариантом решения этой задачи может служить временный отказ от её решения в целом, и переход на уровень анализа отдельного слова. Такой переход позволяет оставить в стороне значения конкретных слов и все, связанные с этим, вопросы. Т.е. можно упростить задачу, чтобы затем применить механизмы, используемые для анализа отдельного слова, к речи в целом. Вполне вероятно, что для анализа отдельного слова и речи в целом нашей нервной системой используются некоторые общие принципы или механизмы. В частности, это может касаться процессов, связанных с памятью.

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

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

Рассмотрим два различных варианта ввода одной и той же информации.

Вариант 1:
Предположим, что вводится слово «ВОДИТ». Затем вводится «ВОДИМ». Следуя алгоритму выделения повторяющихся (одинаковых) участков последовательности в отдельную самостоятельную единицу, программа создаст единицу «(ВОДИ)», а значит, получим «(ВОДИ)Т» и «(ВОДИ)М». Затем вводится слово «ЛАДИТ». В результате этого создается единица «(ДИ)», т.к. она встречается во всех последовательностях которые на данный момент проанализировала программа. Программа преобразует «(ВОДИ)» в «(ВО(ДИ))», а «ЛАДИТ» запишет как «ЛА(ДИ)Т». При этом «(ВОДИ)Т», естественно, преобразуется в «(ВО(ДИ))Т» и «(ВОДИ)М» в «(ВО(ДИ))М».

Однако, если изменить порядок поступления (обучения) информации в систему, то структуры получатся другими.
Вариант 2:
Предположим, что теперь первым в систему вводится «ВОДИТ», затем «ЛАДИТ» и последним вводится «ВОДИМ». После введения в систему слов «ВОДИТ» и «ЛАДИТ», программа создает «(ДИТ)». Значит «ВОДИТ» преобразуется в «ВО(ДИТ)», а «ЛАДИТ» в «ЛА(ДИТ)». После поступления «ВОДИМ», создаются две единицы «(ВО)» и «(ДИ)». После этого получаются следующие структуры :"(ВО)((ДИ)Т)», «ЛА((ДИ)Т)» и «(ВО)(ДИ)М».
Т.о. в разных вариантах порядка ввода информации будут получены структуры:

1. «(ВО(ДИ))Т», «ЛА(ДИ)Т» и «(ВО(ДИ))М»
2. «(ВО)((ДИ)Т)», «ЛА((ДИ)Т) и «(ВО)(ДИ)М»

Встаёт вопрос: “ Можно ли сделать модель, результаты работы которой, в частном случае структуры слов, не будут зависеть от порядка ввода информации?”. Ведь если обратиться к человеку, то необходимо признать, что порядок поступления речевой информации вряд ли существенно влияет на результат обучения языку. Т.е. речь и, естественно, её восприятие не зависят от того, в каком порядке ребёнок начинает слышать (обучаться) слова. Во всяком случае, такое влияние не является ярко выраженным и однозначным. Конечно, если говорить об изучении одного и того же языка разными детьми.
В качестве ответа на этот вопрос могут служить два противоположных решения. Первое из них заключается в том, что в модель системы необходимо ввести ограничение: структура последовательности элементов создаётся раз и навсегда. Однако, такой подход не позволяет решить задачу с точки зрения фонетической правильности структур. Т.е. является заведомо неверным.
Другим решением должен быть алгоритм работы модели, при котором структура одного и того же слова (последовательности событий) может изменяться в процессе накопления информации в памяти модели. Например, первоначально созданная, структура слова «(ВО(ДИ))Т» затем может принять вид «(ВО)((ДИ)Т)». Такой подход позволяет предположить, что, в конечном итоге, в процессе обучения, искусственная модель должна создать фонетически правильную структуру слова.

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

Что может быть фактором принуждения к такой трансформации в искусственной системе? На текущий момент, она подчинялась лишь одному закону: «всякая повторившаяся последовательность немедленно выделялась в отдельную единицу или отдельный элемент памяти». Однако, при реализации такого подхода очень быстро становится понятны очередные проблемы. Например, в процессе предыдущего анализа системой были обнаружены фрагменты «ОН» и «НА», но затем ей приходится выполнить анализ новой последовательности «ОНА». На какие фрагменты, в этом случае, система должна поделить эту последовательность в которой есть и «ОН» и «НА» ? Если мы призовём на помощь нашу нервную систему и попытаемся произношением (как говорилось выше) определить правильную «структуру» этой последовательности, то получим однозначный ответ: структура «О(НА)» звучит для нас более правильно, чем «(ОН)А». Что заставляет нашу нервную систему делать такой выбор ? Можно предположить, что «НА» встречается в нашем языке чаще, чем «ОН» и попытаться реализовать такой же алгоритм для работы и искусственной системы: в случае возникновения подобных противоречий отдавать предпочтение наиболее часто встречающейся последовательности. Но, если оставаться на тех же позициях, что такая система не должна иметь никаких начальных данных, включая информацию о том, какие элементы применяются чаще, а какие реже, то остаётся один выход – система должна самостоятельно создавать такую информацию, исходя из текущих условий, например, конкретного языка. Эти рассуждения, в конечном итоге, приводят к пониманию возможного фактора, принуждающего или побуждающего систему к трансформации структур слова. Таким фактором может быть именно частота использования конкретного элемента в структурах слов. Более привычным названием такого фактора, будет понятие «вес» элемента. В этом случае частью возможного механизма, обеспечивающего трансформацию структур, будет «конкуренция» элементов. Рассуждая таким образом, можно перейти от понятия «трансформация структур» к понятию «эволюция».

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

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

С.Тарасов.
13.09.06.

Демонстрационная модель

Написать сообщение
Анализ событий, кодируемых символами:
Ввод:
Прошлое:
Будущее: Варианты:
Синтезатор речи:
Прослушать готовые примеры:

Анализ событий, кодируемых номерами рецепторов Рецепторное поле:

©2006-2024 С.Тарасов