Распознавание графиков. Диалог мастеров ТРИЗ Анатолия Гина и Бориса Злотина

Анатолий Гин: Здравствуйте, наши друзья! Борис, здравствуй! Я хочу поздравить наших инвесторов и поздравить нас, потому что недавно наша платформа научилась – то есть, научили её Борис и наши программисты – распознавать не просто картинки, а именно графики. И это важная штука. Совсем недавно выходила большая публикация Яндекса с хвастовством, что вот: теперь мы умеем хорошо работать с графиками. Мы, конечно, работаем с графиками совершенно иначе, чем Яндекс, потому что у нас иная концепция вообще искусственного интеллекта.

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

Борис Злотин: Спасибо за лестную оценку. Я чуть-чуть ещё добавлю. PANC™ – это, вообще-то, система распознавания. Но всё не так просто.

Вот, например, лицо распознать – это запросто. А с графиком – проблема. Вот мы работали, например, с электрокардиограммами. Вот тонкая линия электрокардиограммы и клеточки… Система распознаёт то, чего больше на экране, а сам график практически не замечает.

График на разлинованной бумаге

Просто картинку человек распознать может даже на фоне клеточек и грязи. А у машины нет понимания, что действительно на картинке важно. Мы сделали иначе. Взяли числовую запись кардиограммы (её все кардиографы делают) и её распознаём как математическую таблицу. Мы не первые, даже не тысяча первые, кто распознавали графики математически. Проблема в том, что математических средств для надёжного распознания не хватает.

А мы использовали хитрый ход: берём – и обрабатываем график математически, а потом превращаем его в картинку, уже чистую, где только сам график, и распознаём его зрительно. Мы играем на том, что очень сильно развито у человека. У человека в каждом глазу порядка 100 миллионов фотосенсоров, фотодатчиков. Вы представляете, какая здесь может быть могучая возможность распознавания? Для сравнения: в ушах у нас всего по 20 тысяч датчиков. И наш мозг очень хорошо приспособлен к распознаванию именно картинок. Софтвер, который мы сделали работающим, как мозг, тоже к ним хорошо приспособлен. Мы идём от математической системы к зрительной, а потом снова к математической, получая в конце концов адекватные числовые результаты – оценки сходства некоторой кардиограммы с кардиограммами больных и здоровых людей из нашей библиотеки.

Но вот эта вот проблема, которая называется «проблема цельного образа» или гештальта, это очень непростая проблема. Несколько лет назад было сообщение: сделали великолепный софтвер для различения животных на традиционных нейросетях. Где собака, где кошка, где медведь – пожалуйста. Прекрасно различает. Белых медведей тоже различает, отличает от всех других медведей и от других животных. Вот только оказалось, что если с картинки убрать самого белого медведя, то она всё равно его «находит». Выяснилось, что система научилась распознавать снега и льды как белых медведей.

Анатолий Гин: Да, я помню эту историю.

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

Мы сделали компаратор, «сравниватель». Мы им гордимся. Он сравнивает один объект, например, с тысячей или ста тысячами других за одно и то же время. То есть все сравнение идёт параллельно. В обычном программировании параллельность работы «убивается» законом Амдала. Для нейроморфного компаратора PANC™ он не действует. Мы имеем и систему подготовки библиотек. Например, несложно подготовить систему для распознавания лиц людей, кастрюль в сетевом магазине и т. п.

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

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

Анатолий Гин: Борис, я добавлю одну хорошую, выгодную для нас деталь. Дело в том, что сейчас мы готовим библиотеки вручную, но в принципе под типовые объекты можно сделать софты, которые будут быстро генерировать любые необходимые типовые картинки, или я не прав?

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

Но здесь ещё одно очень хорошее дополнительное преимущество. Вот ты на построенной уже библиотеке распознал новую картинку. Нажал кнопочку – и она стала частью этой библиотеки. В следующий раз уже её тоже включат в распознавание. А представь себе, что у тебя есть тысяча людей, и каждый добавляет картинки… Вот нам когда-то заказали оценку возможности софтвера для распознавания болезней растений по состоянию листвы. Оценка показала, что нужны очень большие библиотеки – растений много, листья разные, болезней много и их симптомов тоже… Наше предложение было простым. Давайте сделаем начальную библиотеку маленькой: ну, например, всего на тысячу картинок.

Заказчики говорят: ну, софтвер же ничего толком не распознает, нужно, чтобы было хотя бы сто тысяч. Я говорю: нет, всё в порядке. Тысяча картинок распознают, некоторые самые главные болезни. Помните, в экономике принцип 20/80 – принцип Парето? 20 % усилий снимает 80 % задач. А дальше вы этот софт поставите тысяче человек, и каждый будет оценивать свои собственные поля. Он, может быть, сделает 10 оценок в день. Значит, у вас на следующий день уже будет 10 тысяч информационных объектов для библиотеки.

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

Анатолий Гин: На самом деле можно на этом завершить разговор на данную тему, потому что уже всё достаточно понятно. Я только хотел тебе напомнить об одном нашем затруднении, потому что это очень прикольно. Помнишь, когда в самом начале испытаний две явно разные кардиограммы сравнивали, и хотя компаратор распознавал их, но отличие в степени сходства было очень маленькое, неубедительное… Почему? Тогда и возникла идея, что фон даёт больше информации для оценки, чем сам график. И решилась эта задача в 3 секунды: убираем фон простейшими инструментами и сравниваем непосредственно графики – всё работает.

Борис Злотин: Это ты размахнулся. Во многих случаях убирать фон совсем не просто, ведь, чтобы убрать фон, надо распознать, что является фоном, а что – объектом распознавания. Ну, эта задача решаема методами сравнения, хотя и не очень простая. А вот другая проблема: смотри, я сижу чётко посередине экрана. Вот когда я смещусь от центра или немного повернусь, меня уже будет распознать сложнее. Или у меня голова наклонена вправо или влево, опущена или повёрнута лицом в небо… Задача распознавания здесь тоже решаемая – можно, например, распознать, где расположен мой нос, и вокруг него распознать лицо, его наклон, поворот и т. п.

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

Самое главное: вот есть компьютер, ничему не обученный. Только с операционной системой. Хорошая штука, хорошая. Ну, а теперь загрузи Word, PowerPoint, дневник, почту, игрушки и ещё тысячу разных приложений, чтобы нормально работать… Но для всего нужна база – компьютер.

И мы сделали такую базу для работы искусственного интеллекта – систему распознавания на основе библиотек и компаратора, как в голове у человека. Теперь дело за разработкой множества приложений и библиотек. Мы этим занимаемся – но никто не обоймёт необъятное. Здесь есть возможности для тысяч и тысяч новых бизнесов…

Анатолий Гин: Спасибо, дорогие друзья. Значит, мы заканчиваем сейчас этот диалог. И следующий будет ничуть не менее интересным. Потому что в следующем мы с Борисом вспомним «Мону Лизу». Все помнят про «Мону Лизу»? Ну вот, мы проговорим про неё. И заодно один сильный стереотип развенчаем. Ладно, приходите слушать следующий ролик.