Нейроморфный компаратор – что это? Диалог мастеров ТРИЗ Анатолия Гина и Бориса Злотина

Анатолий Гин: Добрый день, Борис. Добрый день, уважаемые слушатели. Мы продолжаем записи наших диалогов по развитию новых технологий искусственного интеллекта. Наша третья серия посвящена так называемому Ассоциативному Нейроморфному Компаратору Прогресс (Progress Associative Neuromorphic Comparator) или PANC™. Это совершенно новая технология искусственного интеллекта.

DeepSeek даёт справку, что такое нейроморфный компаратор, но там только общие слова. В технике существует много разных компараторов, но ИИ-компаратор как метод распознавания, насколько нам известно, никем, кроме нас, пока не реализован. Мы изобрели и проверили новую технологию, которая принципиально отличается от искусственных нейронных сетей (ANN). Итак, Борис, первый вопрос тебе. Почему наша технология, которую мы называем PANC™ – это не нейросеть?

Борис Злотин: Нейросети появились более 70 лет назад. С тех пор казались единственной возможностью распознавать объекты подобно мозгу живого существа. А почему это так важно? А потому, что в 50-м ещё году прошлого века выдающийся когнитивный психолог Джеймс Гибсон в книге «Восприятие видимого мира»1Джеймс Гибсон, Восприятие визуального мира, 1950, https://www.amazon.com/Perception-Visual-World-Jerome-Gibson/dp/B0007DOTKM показал, что все умственные операции, весь интеллект сводится в первую очередь к распознаванию, начинается с него, это база интеллекта.

И как распознаёт нейросеть? Да, в общем-то, очень красиво, очень умная идея. Строится фильтр, вот как воду фильтруют, только это числовой фильтр, который отбрасывает всё случайное – «шумы» – и ловит закономерности.

Прекрасная идея, вот только одна проблема. Само построение этого фильтра невероятно затратно и сложно, и требует квинтиллионов математических операций. Например, для большой серьёзной сети число вычислительных операций может быть с 40 и более нулями. Можете себе представить это невероятное число? И потому всё это «математическое фильтростроение» не только очень дорогое, а ещё и медленное. И, самое главное, что из-за дикой сложности и объёма операций велика вероятность сбоев, ошибок, неточностей – ну, чуть-чуть напряжение скакнуло, и всё «полетело». В общем, ничего другого не было, и человечество пошло на высокие затраты и риски.

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

Дело в том, что в нашей голове не может быть квинтиллионов – и даже миллионов – вычислительных операций. У мозга скорость действия в миллионы раз меньше, чем у микрочипа. Мы пришли к выводу, что мозг использует какой-то другой способ распознавания, который не является числовым фильтром, то есть искусственной нейросетью в современном исполнении. Нет, в голове у нас, конечно, работают сети нейронов, но они не строят фильтры, а действуют как-то иначе. Оставалось понять – как? И как это наилучшим образом реализовать технически. За 11 лет работы нам удалось найти очень простой способ технической реализации.

Вот я смотрю на тебя, Толя, и думаю, что ежели ты наденешь парик, снимешь очки, сбреешь бороду и отпустишь запорожские усы, я тебя всё равно узнаю. А почему я тебя вдруг так узнаю? Да потому, что я тебя воспринимаю как цельный образ. В 20 – 30-х годах была очень модна гештальтпсихология. Гештальт – цельный образ. И так и воспринимает человеческий разум. У меня в голове богатая библиотека людей. Я на тебя смотрю, и у меня там, внутри, проскакивает поисковик. Он ищет нечто похожее. Он никогда не найдёт 100 % похожее, сегодня ты всё-таки выглядишь чуть иначе, чем вчера. Но мой поисковик в мозгу скажет, что вот эта вот фотка похожа на тебя на 93 %, а вот эта на 85 %, эта – на 20 %, и это другой человек, а вот эта – на 0,2 %, и это уже явно не человек.

Анатолий Гин: Борис, одна очень важная деталь. PANC™ не последовательно все эти миллионы образов библиотеки перебирает, а сразу все. Обращается сразу к огромному количеству запомненных образов. Это очень важная деталь.

Борис Злотин: А вот это — наша гордость. В самом деле, идея сравнивать достаточно банальна, а нам удалось построить компаратор – устройство компьютерного сравнения – который все образы библиотеки обрабатывает параллельно, как это происходит в человеческой голове. Аналогия: вот в человеческой памяти лежит куча каких-то «кусочков знания», и у каждого «кусочка» торчат «липкие кончики». По каким-то «каналам знания» параллельно ко всем «кусочкам знания» плывёт новый «кусочек», и он прилипает только к тем «липучкам», которым соответствует, как атом по валентной связи «прилипает» к молекуле в нужном месте. И когда он прилип к чему-нибудь, то посылает в сеть сигнал: «Вот, я тут, но эта штука не полностью похожа на меня, а на столько-то процентов». И вот, с высокой вероятностью у меня первые картинки со сходством 80–90 % и будут фотографиями Анатолия Гина. Где-нибудь на 75 % будет похож Александр Розенбаум. (Ну, так сложилось, что вы похожи.) А что будет похоже на 0,2 %? Например, осьминог. Что-то есть общее. Но немного.

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

Кстати, совсем не обязательно сравнивать один кусок знаний. На нашем софтвере я могу задать любое количество образов для сравнения. Самое главное, что распознавание происходит со скоростью много более высокой, чем у человека в голове. Я ведь тоже, может, не с первого взгляда тебя распозна́ю, ежели ты будешь в усах и с париком. Присмотреться надо. А машине легче – я просто запущу, например 100 параллельных потоков распознавания. И всё произойдёт очень быстро.

Анатолий Гин: Я хочу добавить к этому. Как такое получается? Дело в том, что у нас в компараторе другой нейрон. То есть это тоже искусственный нейрон, но он другой. В классических ANN ни один нейрон не запоминает всё изображение. Все изображения запоминаются сразу всей совокупностью нейронов, благодаря изменению характеристики «вес» каждого из нейронов. При этом веса́ всех нейронов связаны и зависят друг от друга. И стоит вам «подкрутить» веса на одном нейроне, как приходится «подкручивать» веса и на всех остальных. Поэтому нужно огромное количество вычислительных операций. И поэтому обучать сеть можно только всем картинкам сразу, и невозможно в уже обученной сети что-нибудь изменить без полного и дорогостоящего переучивания всей сети.

А у нас на одном нейроне хранится одно изображение, нисколько не зависящее от других нейронов. Мы можем его изменить или убрать из библиотеки в любой момент. Можем и добавить сколько угодно изображений. То есть, у нас появляется оперативный простор и такие возможности, которых нет в классических нейронных сетях.

Доучивание, переучивание, распознание по классам, по кластерам и так далее. Тех, кто захочет нырнуть в технологическую часть, я хочу немножко поддержать таким маленьким рассказом. Когда я в 2014 году приехал в гости к Борису в Америку, я ничего в нейросетях вообще не понимал. Спросил – а есть ли какая-то базовая модель, которая точно работает?

И Борис рассказал мне примерно, как работает самая примитивная нейронная сеть – персептрон. Я понял, что если простейший перцептрон работает, то и PANN™ должна работать. Потому что эта штука простая, как колесо. Если в ней разобраться, не пожалеть времени, то оказывается, что она очень проста. И если, например, до сих пор для сети глубокого обучения (их там уже сотни архитектур) нет адекватной математической модели, описывающей чётко, как она работает – слишком это сложно, то у нас можно построить простейшую математическую модель. Собственно, она известна и построена.

Тогда это был ещё не компаратор, это была ещё нейросеть нового типа: «Искусственная Нейронная Сеть Прогресс» (Progress Artificial Neural Network) или PANN™, с очень быстрым обучением и другими уникальными качествами. Должны были пройти ещё годы, пока мы дошли до от PANN™ до PANC™, от искусственной нейронной сети до компаратора.

Борис Злотин: Добавлю кое-что…

Первое. Есть теории и невероятно сложные математические модели классических нейронных сетей. Но эти теории мало практичны, он не позволяют прогнозировать поведение конкретной нейронной сети. В реальности сети развивают в основном методом проб и ошибок. Это одна из причин их дороговизны и неоптимальности.

Второе. ANN специализированы, одна сеть делает одно, другая – другое, третья – третье и т. п. И каждая очень дорогая, и каждую надо обучать. А PANC™ универсальна и работает с универсальными библиотеками, это позволяет выполнять множество функций на одной сети, причём одновременно.

Вот, например, у меня в компьютере есть библиотека фотографий пятнадцати людей, по одиннадцать фотографий каждого с разными выражениями лица и разным освещением. Для нейронной сети очень хорошо, если она с вероятностью, скажем, 95 % распознает: вот это Вася, это Джон, это Мэри… А у нас она, кроме того, может сказать: это Вася – он белый, средних лет, носит усы и очки. PANC™, в принципе, может сразу вам дать распознание хоть по десяти, хоть по ста параметрам. То есть, вы просто ввели фотографию человека, а она вам выдала про него целое досье.

Третье. Обычная нейросеть рассматривает данную ей картинку и говорит: «Это кошка, а не собака», – то есть, даёт одну наиболее предпочтительную похожесть. Причём неизвестно, насколько это точное распознание, насколько велики отличия – может, эта кошка почти неотличима от собаки, ну, как гепард, например…

А PANC™ выдаёт весь набор аналогов с ранжированием их по величине сходства. И я действительно вижу, что вот здесь вот у меня Анатолий Гин, а вот здесь Розенбаум, а там – неизвестный Иванов, Петров или Сидоров, которые похожи на Анатолия Гина тем, что у них тоже лысина и удлинённое лицо.

Четвёртое. В силу отсутствия внятной теории работа ANN совершенно непрозрачна. И поэтому в обычных нейронных сетях возникают жуткие проблемы. Вот было: построили хорошую очень дорогую и сложную сеть для распознания самых разных животных. Распознаёт прекрасно. А потом вдруг оказалось, что она распознаёт не белого медведя, а снега или льды, считает картинку медведем, даже если его на картинке вовсе нет.

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

Такая ошибка – распознавание фона вместо объекта – может случиться и в PANC™. Но у нас система прозрачна – легко найти ошибку, легко исправить.

Но это уже тонкости, детали. Самое главное, PANC™ не нейронная сеть, у него другой принцип распознавания. Но это совершенно не значит, что нейронные сети принципиально плохи и непригодны.

Есть целый ряд задач, где нужны и будут в будущем нужны нормальные нейронные сети. И есть огромная масса задач, которые проще можно решать компаративным методом. Более того, в ТРИЗ есть очень важный принцип – гибридизация. Если есть две (или несколько) альтернативные системы, например, поршневой двигатель и реактивный двигатель для самолёта, то совершенно несомненно, что следующим важным шагом развития будет гибридизация, объединение поршневого двигателя с реактивным. И сегодня такие гибриды – это турбовинтовые и турбовентиляторные авиадвигатели.

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

Анатолий Гин: Хорошо, Борис. Значит, мы на этом закончим данный диалог? И в следующем давай поговорим об энергоэффективности PANC™. Уж больно это интересная и злободневная тема.