Популярно об ИИ

"Есть такое правило: рыбу длиной менее 7 см можно есть целиком и без обработки…"
Беар Грилл (Bear Gryll), ведущий ТВ-программы "Экстремальное выживание" (Ultimate Survival)


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

Многие, прочитав прошлый материал (см. КГ №48'2008) серии, наверняка не совсем поняли пример сравнения активности нашего мозга (представления о его работе на базе нейронов) с действием органов зрения. ОК. На самом деле, это не было неудачей вашего покорного слуги — просто данный вопрос нужно дополнительно расшифровать. На орган зрения человека можно смотреть как на некий объект, который воспринимает входящие данные (световые волны) и преобразует их в результаты, подающиеся в мозг через зрительный нерв. Говоря другими словами, существует вход и выход. В принципе, именно так очень часто специалисты нейрокомпьютинга и смотрят на понятие "нейрона", которое в ряде научных трудов весьма абстрактно и строится на предположениях-догадках, особенно насчет того, что может твориться "внутри". Поэтому тема искусственных нейронных сетей постоянно видоизменяется и очень часто терпит фиаско.

Разделяй и властвуй

Возвращаясь к нашему примеру… а также заглядывая вперед материала с опровержением многих базовых принципов нейрокомпьютинга и ИИ, отметим, что человеческий глаз имеет очень сложную внутреннюю структуру, подразумевающую наличие сетчатки, состоящей из огромного количества различных фоторецепторов (палочек и колбочек), на которую проецируется изображение. При этом есть и два типа зрения: сумеречное черно-белое и цветное. Иногда кажется, что они переключаются автоматически. А дело в том, что в нашем цветном зрении применяются три варианта рецепторов (колбочек), в каждом из которых используется свой собственный биологический реагент (фотопигмент), отвечающий на волны только определенного цветового спектра (синий, красный, зеленый цвета). Колбочковый вариант зрения не обладает высокой чувствительностью и начинает функционировать только при достаточно сильной яркости. Причем мы говорим только о варианте человека, потому как есть животные, у которых семицветное зрение, и так далее. Палочки… почему их выделили как некий отдельный класс рецепторов, хотя принцип действия у всех идентичен и основан на реагировании фотопигмента? Они имеют другую схему "подключения" — одно волокно зрительного нерва получает сигналы сразу от большого количества палочек, в результате чего повышается чувствительность. У человека примерно 7 млн колбочек и 75-150 млн палочек. На самом деле разделение на два типа зрения несколько условно, поскольку как такового переключения нет — есть просто порог чувствительности колбочек, а сетчатку лучше представить как чувствительную ЖКИ-матрицу — не более того. Чтобы проверить это, достаточно, например, закрыть лицо ладонями. А из количественных сравнений, надеюсь, вы понимаете, почему говорят, что мы яркость чувствуем в 20 раз лучше, чем цвет. На этом постулате основано много цифровых форматов сжатия графической и видеоинформации. Но… мы не об этом. Стоит отметить, что внутреннее устройство глаза производит первоначальную обработку визуальной информации:

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

То есть на самом деле мы получаем тройную фильтрацию/аппроксимацию (упрощение). Фокусировка на определенном предмете или части пространства очень важна. Расшифруем два первых пункта:

1. Пробежитесь глазами по полке с книгами или DVD-дисками. Вы все время будете останавливать взгляд только на одном названии, причем остальные изображения будут "под муаром". Вы, конечно, можете отчетливо увидеть два рядом стоящих названия, но прочитаете их только последовательно. Более отчетливое изображение искомого объекта, на котором фокусируется внимание, требует большей детализации, которая производится
оптическим путем.

2. Второй пункт вытекает из первого. Мы можем все видеть и детализировать только в определенном пространственном диапазоне.

Два ключевых примера, ниспровергающие…

И самый важный момент, на котором стоит заострить внимание — скорость реакции фотопигментов, а следовательно, и фоторецепторов, намного выше скорости анализа входящего изображения мозгом. Это доказывают два простых опыта:

1. Уголек либо другой источник света, быстро перемещаясь в темноте, сливается в световую полоску (то есть в рамках "одного кадра" мозг суммирует множество полученных изображений).

2. Если вы создадите видеофайл, в рамках которого последовательно будут сменяться однотонные цвета: красный, синий и зеленый, — то при определенном значении fps (кадры в секунду) изображение сольется в белый(!). Отсюда, кстати, можно высчитать скорость создания "кадров" в мозге — она равна примерно 1/10 секунды. На этом принципе основаны все системы создания цветного изображения с последовательной передачей одноцветных кадров (в частности, DLP-проекторы с "цветным колесом").

И вот эти примеры являются ключевыми для рассмотрения теоретических и практических основ искусственных нейронных сетей.

Смотрим на основы нейрокомпьютинга. Персептроны

Первые опыты с созданием искусственных нейросетей начали проводиться в 40-х годах прошлого века. Появилось базовое течение, которое не сильно поменялось впоследствии, хотя и усложнилось. Все началось с систематизирования представления структуры искусственного нейрона Маккалокком и Питтсом в 1943 г. В основе их модели предусмотрен сумматор ?. Сначала идет операция умножения каждого из множества входов x1, x2 … xn на соответствующее ему весовое значение w1, w2… wn. После суммируются уже взвешенные входы. Получаем некий результат u. Далее сравнение: если полученная сумма (u) больше заданного порогового значения, выход равен единице, в противном случае — нулю. Эти системы получили название персептронов (perceptron), хотя правильнее по-русски было бы говорить перцептрон, поскольку у нас есть в языке слово "перцепция", т.е. "восприятие". Персептроны подразумевают не только базовую модель описания, но и более сложные вещи: одно- и многослойные сети и так далее. Причем в 1957 году Розенблатт несколько улучшил модель, используя для тех же нескольких входов соответствующее количество сумматоров (более сложные взаимосвязи), а, следовательно, и выходов. Он назвал эту модель трехслойной, хотя по современной терминологии она является однослойной. Но, как видите, получается практически бинарный подход, и ответы, даже учитывающие веса для каждого из входов, что влияет на получение результата, тут не спасают. Почему? Смотрим на наши два ниспровергающих примера. Начнем со второго.

Пример со сложением цветов

Итак, допустим, мы возьмем только одну точку сетчатки, регистрирующую определенный участок изображения. Смотрим, как у нас получается вариант с колбочками на первых трех кадрах видеофайла:
. 1-й кадр. "Красные" колбочки — да, "синие" колбочки — нет, "зеленые" колбочки — нет.
. 2-й кадр. "Красные" колбочки — нет, "синие" колбочки — да, "зеленые" колбочки — нет.
. 3-й кадр. "Красные" колбочки — нет, "синие" колбочки — нет, "зеленые" колбочки — да.

При быстром их воспроизведении — более 30 кадров в секунду — учитываем, что скорость формирования изображения мозгом составляет приблизительно 10 кадров в секунду. Получаем результат — белый цвет! Что это означает на практике? Сформированный кадр: "красные" колбочки — да, "синие" колбочки — да, "зеленые" колбочки — да.
Но позвольте? А как тогда расставлены веса для оценки каждого входа, ведь активность колбочек каждого из цветов в 2/3 случаев находилась в состоянии "нет"! По существу, и цвет тогда в результате должен был оказаться черным, т.е. все — нет.

Пример со световой полосой

А здесь ситуация еще веселее. Потому как, если мы в прошлом примере рассматривали вариант с третями от скорости создания изображения мозгом, то на примере со световой линией колбочки вообще зафиксировали множество отдельных световых точек, которые проявлялись только в предельно короткие фрагменты. И тут уже не 1/3, а 1/30 или больше (все зависит от скорости реакции рецепторов). Но почему полученные данные, которые имели место только в определенных долях процентов от всей регистрируемой картины, сливаются в одну линию? Скажете, тут дело в нейронах? Частота работы каждого составляет 100 Гц (см. прошлый материал). Дело не в этом. Так каким образом в мозге формируется кадр? Персептронами этого точно не объяснишь.

Объяснение работы мозга, связанной с примерами

Ответ очевиден: в каждый отсчет времени, например, при анализе большого количества реакций фоторецепторов за интервал 1/10 секунды выбирается… максимальное значение состояния без всяких там входов, умноженных на веса и т.п. То есть, по существу, система регистрации обладает памятью состояния, и, если достигнут некий максимум, более низкие значения регистрируемого параметра не принимаются во внимание. Если совсем понятными словами и уже не опираясь на предыдущие примеры… опишем третий, завершающий. Вы смотрите на изображение, "красная" колбочка выдает большой спектр значений — если представить их в виде коротких дискретных отчетов, то: 0, 2, 5, 3, 1, 7, 10, 6, 2, 1, 5, 25, 16, 8… А значения присваиваются по принципу присвоения текущего максимума, то есть: 0, 2, 5, 5, 5, 7, 10, 10, 10, 10, 25, 25, 25… Итоговый результат — 25, если за 1/10 секунды не было больших значений. Если говорить, что данная система просто инертна, то мы будем несколько не правы. Инертность тут может проявляться только в одном "структурном элементе схемы" — фоторецепторе. Кстати, у него очень большая скорость реакции, поэтому его инертность минимальна. А мозг себя ведет абсолютно не интегрально, то есть со всевозможными сумматорами, а оперирует конкретными данными и биологической памятью.

А теперь исследуем дальше… Таким же образом берутся значения по зеленому и синим цветам. После этого они не суммируются сложным образом для того, чтобы можно было сказать об окончательном результате. Все гораздо проще: результат — это и есть три значения состояний каждого из цветов, а ощущаем мы просто баланс между ними. Любое чувство возникает как определение состояния баланса между регистрируемыми параметрами. Причем это не только ощущения цвета, звука, запаха, вкуса, температуры, давления, равновесия, но и практически все чувства, свойственные человеку. Не будем голословными, объясним и этот момент, то есть почему не высчитывается окончательный результат, так как это предполагают многие, а ощущается только общий баланс состояния среди множества параметров? Далеко ходить не будем… музыка. Еще до того, как все исследовали ученые, у людей древности чисто на интуитивном уровне возникли понятия консонансов и диссонансов, то есть благоприятных и неблагоприятных для нашего уха созвучий. На этой базе родилась музыкальная теория, которая используется и поныне. Причем такие консонансы и диссонансы могут анализироваться мозгом как в одновременном созвучии (и заметьте: частоты не суммируются:)), так и во временном переходе от одной ноты к другой. Если говорить о цвете, то и тут практически идентичная картина: смешивание либо сочетание двух цветов. О вкусе — смесь ингредиентов или последовательная смена блюд. Если вам обед понравился частично, то вы не выдаете результат 0 или 1, а балансируете между параметрами всего того, что понравилось и того, что нет. Получается комбинаторное ощущение. Может, обед и вкусен, а салфетки грязные, да и какой-то забулдыга наступил на ногу, плюс к этому обсчитали, зато официантка ничего такая (или официант:))…

Расширим эксперимент

Если бы все так просто объяснялось, то до такого могли бы додуматься задолго и до вашего покорного слуги. Хотя очень часто необходимое решение является самым простым и лежит на поверхности. Посчитав, что поспешил с выводами, я решил расширить эксперименты с кадрами и начал делать асимметричные сеты — например: красный, красный, синий, зеленый либо красный, синий, красный, зеленый. Не рекомендуется это повторять самостоятельно, потому как на низкой частоте смены основных кадров может появиться ощущение дискомфорта. Так вот, при правильной настройке системы получался белый цвет, что доказывает высказанное ранее предположение — за основу берутся только максимумы. Дальнейшие опыты хотелось усугубить в сторону рассмотрения предельной скорости восприятия рецепторов… но появился непреодолимый барьер в технической части — максимальная частота смены кадров монитора не превышает 100 Гц.

Хотя если обращаться к тем же DLP-проекторам с "цветным колесом", то в современных условиях их модели значительно улучшены, а сами колеса разделены на 6 или 7 сегментов. То есть в создании одного цветного кадра участвует 6 или 7 одноцветных. Учитывая, что само цветное изображение выводится с частотой 50 Гц, или даже возьмем более простой вариант — 25 Гц, то для его получения нужно в 6 или 7 раз больше кадров, т.е. 300/350 либо 150/175 кадров в секунду соответственно. Но при этом физиологи от нейрокомпьютинга утверждают, что нейрон работает с частотой 100 Гц… а тут получается больше. В общем, тут есть еще над чем подумать.

Что из этого следует

Честно сказать, ваш покорный слуга много прочитал книг по нейрокомпьютингу, но когда провел параллель со зрением, потом сделал целую серию опытов, как мысленных, которые мы обсудили сегодня, так и практических… то выкинул все эти "труды" в мусорку, куда, впрочем, за ними последовал и ряд книг по ИИ. Мы говорим о биологии, а не о компьютерных изысканиях с бинарным кодом либо транзисторном каскаде. То есть нейрокомпьютинг применим только для компьютеров и компьютерных сетей, но, по существу, ничего не объясняет. Бесспорно, он интересен с математической точки зрения, но не более того. Природа (или создатель — кто как видит) оказалась намного хитрее.

У многих возникнет вопрос насчет запоминания состояний, а не вычисления конкретных результатов… Вспомним мою программу, которая описывалась ранее. В нее были загружены математические модели букв (с учетом их возможного наклона, поворота и т.п.), после чего на карточках показывались различные предметы. Программа анализировала изображение, внутри ее происходили вычисления (к примеру, на A похоже на 72%, на Б — на 38%, на В — на 56% и так далее). Помимо выдаваемого результата, на что же это больше похоже, новую фигуру можно было загрузить в память, при этом не нужно создавать новую математическую модель — фигура "внутри" запоминалась как [72, 38, 56…]. То есть как состояние параметров! А "чувствительных органов" у этой системы оказалось 33, как и в русском алфавите. Кстати, есть схожий вариант, выраженный в комбинаторном подходе к оценке баланса состояний и оперирования этим балансом. Ярчайший пример — шахматные программы начали выигрывать у чемпионов мира только после внедрения обширной системы оценки положения на доске. Помимо материальной ее части для каждого хода, учитывается и стратегическая, в рамках которой рассматриваются тысячи параметров. Это можно лишь издалека сравнить с работой многослойных персептронов, потому как окончательный ответ формируется путем сложения оценок с предусмотренными коэффициентами (теми же весами). Вся проблема сводилась к составлению адекватного списка коэффициентов для влияющих факторов. Их очень трудно настроить — нужно получить баланс. И на самом деле все "делалось" ручками и эмпирическим путем. То есть с компьютером (тем же Deep Blue) играл гроссмейстер, который, анализируя ход партии, указывал на ошибки программы в оценке ситуации. После чего исправлялись коэффициенты, возможно, даже вводились новые параметры. Неспроста их так много. Схожий с нашим описанием "получения мозгом одного кадра" подход выражен в формировании дерева поиска (а это уже ИИ) лучшего хода, то есть за основу берется некий максимум для определенной глубины, и если какая-то ветвь его не достигает либо повторяет, то она отметается. А наиболее сильная ветка может рассчитываться дальше.

Продолжение следует.

Кристофер, christopher@tut.by


Компьютерная газета. Статья была опубликована в номере 01 за 2009 год в рубрике технологии

©1997-2024 Компьютерная газета