Мозг и когнитивные функции

понедельник, 11 марта 2013 г.

Корпоративный искусственный интеллект (часть 2)

Искусственный Интеллект на службе у бизнеса.

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

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

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

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

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

Помимо паттерновой активности, глия активно влияет на формирование межнейронных связей. Рост отростков сильно зависит от активности соседних нейронов, в частности это связано с факторами роста (различные белки и не только), которые продуцируются нейронами и астроцитами в зависимости от активности и изменяют такой компонент как матрикс. Последнее, в свою очередь, влияет на “навигацию” отростка и определяет с какой из соседних клеток будет установлен синаптический контакт.

Принцип взаимодействия нейроннов и глии был взят за основу рекуррентного алгоритма кластеризации.

Рассмотрим рекуррентный алгоритм более подробно. На вход системы поступают записи. Каждая запись содержит значения в определенных полях. Представим каждое поле в виде независимой метрики. 

Например, имеется набор входящих записей.
UUID
пол
возраст
ежемесячный доход
сумма кредита
просрочка выплаты %
1
ж
21
1000
5000
да
2
м
23
1100
5000
нет
3
м
38
2500
30000
нет
...
...
...
...
...
...

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

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

Для примера выше, формирование кластеров по метрике “ежемесячный доход” будет таким:

  1. Вначале не существует никаких кластеров или накопленных данных;
  2. Получаем значение 1000 для 1-ой записи. Проверяем наличие ближайших соседей. Т.е. производим поиск уже имеющихся кластеров. Таковых не найдено. Формируем новый кластер. Это соответствует рождению в системе нового образа. Новый кластер (образ), получает уникальный идентификатор и нового (и пока единственного) члена со значением 1000;
  3. Получаем значение 1100 для 2-ой записи. Проверяем наличие ближайших кластеров в окрестностях +/- . Размеры окрестностей вычисляются как % от диапазона всех возможных значений. Так, например, ежемесячных доход может колебаться в диапазоне от 0 до 100000. При =0.1% в окрестностях 1100 +/- 100 находится ранее сформированный кластер с единственным членом 1000. Корректируем этот кластер и добавляем к нему новый член. Теперь, метрика “ежемесячный доход” содержит один кластер с членами 1000 и 1100;
  4. Получаем значение 2500 для 3-ей записи. Проверяем наличие ближайших кластеров в окрестностях +/- . Таковых не найдено. Создаем новый кластер и включаем в него единственного, пока, члена 2500.
Формируя для каждой метрики кластеры, методом ближайших соседей, мы получим:

метрика
сформированные кластеры
UUID
- - -
пол
[ID1:м] [ID2:ж]
возраст
[ID3:21,23] [ID4:38]
ежемесячный доход
[ID5:1000,1100] [ID6:2500]
сумма кредита
[ID7:5000] [ID8:30000]
просрочка выплаты %
[ID9:да] [ID0:нет]

Здесь каждый кластер записывается в скобках “[” “]”, имеет уникальный идентификатор до разделителя “:” и перечисленные через запятую члены.

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

Не трудно провести аналогию нашего “локального” кластера с нейронным ансамблем, отвечающим определенной паттерновой активностью и сформированным из соседних нейронов при содействии глии. Одновременная активация нескольких локальных кластеров новой записью, аналогична синхронной активности нейронных ансамблей в различных участках коры. Т.е. одинаковые, с нашей точки зрения, образы всегда активируют семантически связанные группы нейронов. Наличие таких семантических отношений было показано в 2012 году, исследователями из Калифорнийского университета в Беркли - http://gallantlab.org/semanticmovies/.

Примеры корковой активности для понятий - “человек” и “взрослый”:

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

Для нашего набора входящих записей, похожими будут записи с UUID: 1,2. Похожесть выражается в активации одной и той же группы локальных кластеров для метрик: возраст, ежемесячный доход и сумма кредита. Кластеры: [ID3:21,23], [ID5:1000,1100], [ID7:5000] соответственно. Т.е. сформировалась условно устойчивая группа, обладающая перечисленными признаками. Чем больше во входящих данных будет записей, принадлежащих к этой группе, тем устойчивее (статистически значимее) будут связи и “вес” этой группы.

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

Другими словами, продуцируемая гипотеза - это устойчивая группа определенных признаков (кластеров). И интерпретируется как: “существует такая группа X в которой каждый член обладает свойством P1 со значением в диапазоне от P1min до P1max, обадает свойством P2 со значением в диапазоне от P2min до P2max, …, обладает свойством PN со значением в диапазоне от PNmin до PNmax”.

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

Созданный прототип, проверялся на реальных исторических данных. Общий объем выборки составлял 400K записей. Однако, уже для первых 10K были сформулированы, приемлемые для бизнеса и аналитиков, гипотезы.

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

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

Комментариев нет: