Книга (бытия?). Размышления о природе разума. Часть II

Продолжения размышлений на тему разума как естественного, так и искусственного (ИИ), Первая часть здесь Вопрос на засыпку: живет ли человек в сейчас? Не, когда мы идем по улице и непосредственно созерцаем окружающий мир мы действуем более или менее realtime… Хотя на самом деле — пока то, что мы видим, пройдет обычные механизмы распознавания/классификации — все это будет недавним, но все-таки прошлым. Т.е. человек живет в прошлом?

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

Но так, слава богу, не происходит, и вот почему: мозг работает иначе. Единицей восприятия является не объект, и даже не совокупность объектов, а процессы. Собака бежит. К вам или от вас. Или не бежит, а лежит, например. Машина так же — неподвижна (на парковке), или движется в определенном направлении. Во всех случаях вы воспринимаете процесс, имеющий протяженность во времени и, соответственно, определенное развитие в будущем.

Когда я говорю, что мы воспринимаем события развернутыми во времени — это не фигура речи. Проведите эксперимент — возьмите десяток фотографий (т.е. моментальных слепков реальности) и опишите, что видите. Вот несколько людей в комнате, они ссорятся, или вот человек идет по улице, или вот сидит — смотрит телевизор, а тот — читает книгу. Это все протяженные во времени процессы! Вы воспринимаете моментальный слепок, как нечто имеющее протяженность. Вы не умеете по-другому, потому, что мозг так и работает: он натренирован опознавать процессы, а не разрозненные объекты на сцене. Так же, как не глаза-нос-рот, а лицо в комплексе (привет, сверточные нейронные сети).

Мир состоит из процессов, а не из объектов. Если спросить у вас, что такое яблоко, то взрослые люди в большинстве скажут, что это плод/фрукт, а дети — что это еда. Но и то и другое — процессное описание, потому, что первое означает, что оное яблоко растет на дереве, и служит дереву для размножения, а второе — что оно съедобно. Ни то, ни другое не связано с непосредственными признаками яблока — формой, цветом, размером… Потому, что признаки позволяют идентифицировать, но не позволяют использовать, или понять где оно используется в окружающем мире, т.е. определить именно процессы.

Если взять типичный диспут о природе времени, то классическими будут постулаты о неизменности прошлого (вне контекста путешествий во времени), важности настоящего (есть только миг… ;) ), и будущем, которое пока не существует, а значит его можно изменить. Когда мы говорим об объективной реальности — очень даже может быть, что так оно и есть. Однако человек живет в своей, субъективной модели мира, а там все почти наоборот!

Прошлое далеко не так неизменно, как хотелось бы. Постоянно получая новую информацию, человек перестраивает прошлое, что бы исключить противоречия (вы думали Петр Степаныч на симпозиуме, а он вон из стрип-клуба выходит… Это значит никуда, он, затейник, не ездил и вообще… ). В то же время ваше субъективное будущее во многих аспектах является константой (что бы там ни было, а в пятницу у меня пиво и футбол!). Мало того — имея определенную цель в будущем, вы не только выстраиваете цепочку процессов в обратном порядке (Что бы стать директором крупной компании, нужно закончить престижный вуз с дипломом, для этого в него надо сначала поступить, для этого надо хорошо сдать ЕГЭ, марш учить уроки!), но и вполне вероятно — уходите в этом процессе в прошлое (а не было ли у нас друзей/знакомых, которые сейчас поднялись и обросли связями и могли бы помочь ребенку с ВУЗом) — чем не контрамоция? ;)

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

Я почти уверен, что те, кто занимаются ИИ игр, вроде Альфа Го, это так или иначе понимают. Возможно подходы там несколько иные, но суть та-же: текущая ситуация на доске (причем в развертке на несколько последних ходов) — анализируется на предмет того «что вообще происходит». И в зависимости от того, насколько то, что происходит соответствует тому, что должно происходить — подбираются собственные ходы.

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

Вопросы знатокам:

Насколько реально, учитывая текущие наработки по нейронным сетям сделать примерно следующее:

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

Строго говоря… На входе может быть любой realtime поток — хоть речь/текст, хоть котировки валют, но… В рассматриваемом процессе мне проще опираться на единственный доступный мне для непосредственного изучения образец разума — мой собственный! ) А в этом «образце» сенсорный канал — вне конкуренции!

На выходе:

1. Карта глубин (если камера статична) или карта окр. пространства (динамическая камера/лидар, etc.); Для чего… Необходимо, если мы хотим иметь реальное пространственное расположение объектов для оценки их взаимодействия. В таком случае картинка с камеры есть лишь двумерная проекция пространства большей размерности, и нужны дополнительные преобразования.

2. Выделение отдельных объектов (с учетом карты глубин/пространства, а не только/не столько видимых контуров);

3. Выделение движущихся объектов (скорость/ускорение, построение/предсказание траектории(?));

4. Иерархическая классификация объектов по любым извлекаемым признакам (формы/габаритов/цвета/нюансов движения/Составных частей(?)). Т.е. по сути извлечения метрик для Гилбертова пространства.

Про иерахию… возможно слово «Иерархическая» не вполне уместно в данном случае. Я хотел подчеркнуть, возможность в любой момент подобрать метрики так, что бы Расстояние Хеминга между ними позволило считать два различных набора метрик суть одним понятием. Как «красная машина» и «Синий автобус» должны быть обобщены в понятие «транспорное средство», например.

Важно: по возможности система не предобученная. Т.е. какие-то базовые вещи могут быть заложены (например — сверточная сеть первого слоя, для выделения контуров/геометрии), но выделять объекты и позднее распознавать их должна научится сама.

Ну и, наконец, построение развертки (на основе пп 1,4, т.е. пространственной карты с учетом метрик) во времени (пока, на этом этапе видимо непосредственно наблюдаемого периода), с целью провести анализ по пунктам 2–4, с дабы выявить: процессы/события (являющиеся по сути своей изменениями во времени п.3) и их кластерной классификации (п.4).

Еще раз: из картинки с сенсоров мы сначала извлекаем описание мира в более подготовленном виде, размеченном по извлекаемым признакам и разделенном не на пиксели, а на объекты. Затем разворачиваем мир, состоящий из объектов во времени и полученную «картину мира» подаем на вход следующей сети, которая работает с ней так, как работали предыдущие слои с сенсорной картинкой. Там, где выделялись контуры объектов, теперь будут выделяться «контуры» происходящих процессов. Взаиморасположение объектов в пространстве подобно причинно следственной связи процессов во времени… Как-то так.

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

Ну и последнее: имея в будущем фиксированное состояние системы (где зафиксированы только значимые элементы гилбертовых метрик, при свободной трактовке остальных, не существенных значений) — способна ли сеть «домыслить» остальное?

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

Мне кажется, это уже будет вполне существенная база для дальнейших экспериментов:

  • включение в «историю» собственных действий, если возможно/необходимо
  • приоритет «закономерных» причинно-следственных паттернов над неконтролируемыми стохастическими выбросами (проблема рулетки)
  • какой-то вариант любопытства, т.е. активное познание закономерностей через действие… etc

P.S. Вполне допускаю, что я только что изобрел велосипед, и знающие люди давно уже применяют эти принципы на практике. ;) В таком случае прошу меня «ткнуть носом» в соответствующие разработки. И уж совсем будет замечательно, если есть подробное описание фундаментальных проблем такого подхода либо обоснование, почему он в принципе не работает.

P.P.S. Я отдаю себе отчет, что текст сырой, и мысль перепрыгивает с одного на другое, но я очень хотел задать паре человек эти вопросы (раздел «вопрос знатокам»), а это трудно сделать без хоть какого-то изложения. Прошлый текст (а я его сейчас перечитывал, и понял что он очень сложный для восприятия) свою задачу выполнил: я получил несколько ценных для меня дискуссий… Надеюсь и в этот раз прокатит! ;)

Пожалуйста, оцените статью:
Ваша оценка: None Средняя: 5 (1 vote)
Источник(и):

Хабр