Автор книги: Владимир Маценко
Жанр: Компьютеры: прочее, Компьютеры
Возрастные ограничения: 12+
сообщить о неприемлемом содержимом
Часть 2.
Практика применения PANN
4. Описание софтвера Matrix_PANN
Matrix_PANN (релиз-1) – универсальная программа для распознавания числовых имиджей, представленных в виде картинок (графических файлов).
4.1. ОБЩИЕ ПОЛОЖЕНИЯ
Программа Matrix_PANN выполнена как универсальный инструмент для распознавания имиджей. Ее цели:
1. Демонстрация возможностей PANN на некотором наборе библиотек распознавания.
2. Проверка возможности применения PANN для различных специальных применений.
3. Использование как программной основы для разработки специализированных, в том числе коммерческих продуктов.
Например, была поставлена задача улучшения с помощью PANN методов рентгеновского контроля сварных швов трубопроводов высокого давления. Сегодня это трудоемкая операция, требующая большого штата и хорошей подготовки операторов, просматривающих рентгенограммы.
Были поставлены эксперименты на программе Matrix_PANN, которые показали, что различные виды дефектов сварки определяются достаточно хорошо.
На скриншоте видно, что класс дефекта «одиночная пора» подтверждается набором обнаруженных аналогов – других рентгенограмм одиночных пор.

Рис. 20. Применение PANN в промышленности
На основании этих экспериментов принято решение о начале двух важных работ.
1. Доработки программы Matrix_PANN целенаправленно для анализа рентгенограмм сварных швов. А именно:
• повышение степени автоматизации анализа, чтобы обеспечить своевременное проведение оценок и высокую производительность работы;
• повышение еще в несколько раз точности выявления пор и определения их характера;
• обеспечение возможности быстрой перенастройки сети на анализ других типов сварных швов.
2. Расширению уже частично сделанных библиотек распознавания дефектов сварных швов.
Таким же может быть и путь создания любых других прикладных продуктов – проверка на универсальной программе и потом адаптация к выбранному приложению. Важным условием успеха в такой работе является необходимость тесного сотрудничества специалистов по PANN со специалистами в данной области применения.
Программа Matrix_PANN может обучаться и работать на практически любом компьютере, на которых имеется Windows. Готовится версия для смартфона.
Ниже приводятся примеры работы с программой на ноутбуке: HP ZBook Firefly 15 G8 Mobile Workstation, 2021, Processor 11th Gen Intel (R) Core (TM) i7—1185G7 @ 3.00GHz 3.00 GHz, RAM 32 GB.
4.2. УСТАНОВКА ПРОГРАММЫ
Дистрибутив представляет собой файл с названием Progress Artificial Neural Network. zip. Он устанавливает в выбранной вами папке поддиректорию Progress Artificial Neural Network, которая содержит:
• исполнимый файл PANN_Matrix. exe размером 26 Мбт;
• директорию PANN_HELP, в которой расположены файлы системы помощи;
• директорию «Материалы к PANN», в которой расположены статьи, презентации и видеоматериалы о Progress Artificial Neural Network;
• директорию DEMON, включающую набор имиджей для ознакомления с системой и тренировки;
• обзорную статью Progressive Artificial Neural Network.
Распакуйте zip-файл Progress Artificial Neural Network. zip.
Для начала работы активируйте файл PANN_Matrix. exe.
Рекомендуем начать работу с ознакомления с Help. Для этого нажмите синюю кнопку со знаком вопроса, крайнюю правую в ленте меню.
Рекомендуем в процессе ознакомления с софтвером проводить конкретную работу на данных в директории DEMON или на ваших собственных материалах.
Познакомьтесь с общим видом программы, ее иконками и рабочими полями по ее Help или по Приложению 2.
4.3. ВЫБОР ПАРАМЕТРОВ PANN ДЛЯ КОНКРЕТНОЙ РАБОТЫ
Выбор параметров нейронной сети осуществляется по приведенной ниже части меню.

Рис. 21. Управление нейронной сетью
Рекомендуем начать с использования тех параметров, которые поставлены по умолчанию. Впоследствии вы сможете поэкспериментировать с их изменением.
Первый шаг. Начните с записи в окне 4 названия (титула) проекта. Например: «Первое ознакомление с PANN».
Второй шаг. Выберите формат рассматриваемого образа. В поле 5 Pixels по умолчанию установлен формат имиджа 32 × 32 пикселя, то есть весь образ построен из 1024 пикселей. Можно произвольно менять его ширину (W) и/или высоту (H).
Как ни странно, такого небольшого размера в большинстве случаев хватает для надежного распознавания образов. Более того, нередко такой размер обеспечивает лучшее распознавание: за счет того, что при уменьшении размера пропадают многие случайные детали (шумы). Малый формат также существенно сокращает время загрузки и обучения сети.

Рис. 22. Дефекты сварных швов
Третий шаг. Выберите поле 6 Intervals Weight, которое определяет число весов (градаций яркости пикселей) на синапсе. Число весов не менее 2, ограничений сверху нет. При формате 32 × 32 в большинстве случаев оптимальным оказалось 8 уровней, поэтому оно установлено по умолчанию. Тестирование показало, что как слишком малое, так и слишком большое число весов (как и слишком большой формат) ухудшает распознавание. Рост числа весов замедляет работу, но не слишком сильно.
Для разных задач могут оказаться оптимальными разные форматы и разное количество уровней. Работая со своей задачей, вы сможете экспериментально выбрать наилучший формат и число весов. Поле 7 Error определяет максимально допустимую ошибку при обучении сети. По умолчанию выставлена допустимая ошибка 0.01, как правило этого абсолютно достаточно, но ее можно изменять в обе стороны. Минимально возможная ошибка в данной программе – 0.0001. На время обучения величина ошибки почти не влияет.
Иконки 8 Color, 9 Gray и 10 GrayN позволяют выбрать распознавание с учетом цветовой гаммы образа. Очевидно, что для цветных образов нужно выбирать 8 Color, а черно-белых и серых – 9 Gray. Режим 10 GrayN удобнее всего брать в случаях, когда разница в яркости картинок велика. В этих случаях программа GrayN усредняет яркость картинок.
4.4. ЗАГРУЗКА МАТЕРИАЛОВ ДЛЯ ОБУЧЕНИЯ
Внимание
На момент написания этого материала загружать можно только файлы графических форматов. Это временное ограничение, в скором времени оно будет снято.
4.4.1. Загрузка готовых библиотек
Нажмите иконку 1 Load и выберите директорию, в которой хранятся библиотеки распознавания в виде файлов формата *.pann.

Рис. 23. Сохранение работы
Библиотека загружается в «обученном» виде, сеть сразу готова к работе по распознаванию, кластеризации и классификации.
4.4.2. Загрузка готовых классов (директорий)
Нажмите иконку 12 Load Dir и выберите директорию или несколько директорий, которые хотите загрузить целиком как отдельные, заранее сформированные классы. В поле 22 Training Classes появляются имена выбранных классов, в поле 23 Rename Class появляется имя класса, на который кликнули левой кнопкой мыши. В этом окне можно поменять название класса. При щелчке правой кнопкой мыши появляется выпадающая иконка, которая позволяет: убрать выбранный класс из окна, или добавить в этот класс дополнительные имиджи из любой директории, или добавить еще один класс.
Если кликнуть мышью на горизонтальный треугольник у имени класса, то можно увидеть все файлы, вошедшие в данный класс. При выборе любого файла мышью изображение и имя файла появляются в полях 27 и 28. В поле 24 Count появляется число включенных в обучение классов.
При загрузке в режиме Load Dir некоторой директории, в которой имеется несколько файлов, осуществляется обобщение всех файлов директории и формирование обобщенного файла для данного класса, который записывается на отдельный нейрон («обобщенный нейрон класса»).

Рис. 24. Обобщение имиджей
4.4.3. Загрузка имиджей с одновременным формированием классов
Нажмите иконку 13 Load Class и выберите директорию, из которой хотите включить в некоторый класс не все, а лишь часть имиджей.

Рис. 25. Направленная кластеризация
Отметьте эти имиджи и откройте файлы. В поле 22 Training Classes появляется имя директории и имена отобранных файлов.
Пример: кликнув в поле 23 Rename Class, изменили имя класса на «Коровы». Для загружаемых таким образом новых классов также создаются свои отдельные «обобщенные нейроны класса».
4.4.4. Загрузка отдельных имиджей
Нажмите иконку 14 Load Image, выберите директорию, в которой размещены имиджи для обучения.

Рис. 26. Загрузка разнородных имиджей
Можно выбрать любые имиджи в любом количестве, можно выбрать все. После нажатия кнопки Open выбранные имиджи будут загружены в поле 25 Training Images. В поле 26 Rename Image появится имя имиджа, которое можно изменить, кликнув мышью. При выборе любого файла мышью изображение и имя файла появляются в полях 28 и 29.
При щелчке по имени файла правой кнопкой мыши появляется возможность убрать этот файл из загрузки.

Рис. 27. Управление загруженными имиджами
Можно загружать только библиотеки, только классы или только имиджи, также можно загрузить и то, и другое, и третье в разных комбинациях. После загрузки система готова к тренировке.
4.5. ОБУЧЕНИЕ СЕТИ
В отличие от классических сетей, где обучение состоит в итеративном процессе подбора синаптических весов, обучение PANN_Matrix фактически сводится к объединению цифровых векторов (например, графических файлов, таблиц и т. п.) в библиотеки распознавания. Нажмите иконку 15 Train и после обучения в поле 30 Training Results вы получите набор данных по результатам тренировки сети.

Рис. 28. Тренировка PANN
Содержание поля 30:
EpochCount: 2 – вся тренировка прошла за 2 эпохи (в софтвере первой эпохой считается операция установки нулевых весов на всех синапсах, вторая операция – непосредственно формирование синаптических весов).
NeuronCount: 93 – число нейронов в сети = 93, в это число входят:
• три нейрона, на которых записаны обобщенные классы, причем:
○ класс laptop включает 71 имидж;
○ класс piano включает 89 имиджей;
○ класс watch включает 224 имиджа.
• 90 нейронов, на которых записаны отдельные имиджи.
SynapseWeightCount: 8 – число весов на синапсе = 8.
Image Size: 32*32 – формат имиджа 32 × 32 пикселя.
Error_Sqrt = 0,00000119 – указана ошибка обучения около одной миллионной. Но указание этой ошибки – просто артефакт машины, реальная ошибка – ноль.
Time (sec.) = 11,039 – время обучения 11 секунд. Причем большая часть его потрачена не на обучение, а на подготовку имиджа к обучению.
Результатом обучения становится библиотека распознавания, которую необходимо сохранить, использовав иконки 2 Save и 3 Save As. После сохранения в текстовом окне 4 появится выбранное вами имя файла и директории его хранения.

Рис. 29. Сохранение тренированной сети (библиотеки)
Теперь вы можете продолжать работу, перейдя к распознаванию, или завершить сессию. В следующий раз вы сможете открыть сохраненный проект, использовав иконку 1 Load.
4.6. РАСПОЗНАВАНИЕ СЕТЬЮ PANN
Ознакомление с распознаванием мы проведем на основе библиотеки Piano, Clock, Laptops, включающей:
1. Обучающую выборку из 71 фотографии лэптопов, 89 фотографий роялей и 224 фотографий разных видов наручных часов.
2. Тестовую выборку из 10 фотографий лэптопов, 10 фотографий роялей и 16 фотографий разных видов наручных часов.
Это выборка входит в состав дистрибутива в разделе Demon> Piano, Clock, Laptops.
В программе PANN_Matrix предусмотрены 4 типовые режима распознавания.
4.6.1. Режим распознавания по классам
В классических нейронных сетях распознавание сводится к выбору сетью класса, к которому с наибольшей вероятностью относится распознаваемый имидж. Однако в большинстве случаев неясно, насколько это точное распознавание, ведь может оказаться, что имидж близок к двум или более классам (неизвестно к каким). В отличие от этого сеть PANN показывает коэффициенты сходства распознаваемого имиджа со всеми рассматриваемыми классами (рейтинг класса). Это полезно для определения надежности распознавания и принятия на этой основе решений.

Рис. 30. Распознавание и ранжирование по классам
Картинка piano_0013.jpg распознана среди 384 «обученных» картинок с большой достоверностью. Отличие рояля от часов и лэптопов очень четкое.
4.6.2. Режим распознавания по набору отдельных имиджей
Распознавание выбранного имиджа путем подбора наиболее близких к нему имиджей-аналогов из числа тех, которым сеть была обучена. Этот тип распознавания не существует в обычных нейронных сетях. При его применении мы получаем список коэффициентов сходства рассматриваемого имиджа со всеми другими имиджами из библиотеки сравнения.
Ниже приведен пример распознавания piano_0013.jpg на основе обучающего набора, содержащего 30 разных piano, 30 laptop и 30 watch.

Рис. 31. Распознавание и ранжирование по имиджам
В примере желтым выделены аналоги рассматриваемого имиджа – Piano из обучающего набора. Каждому имиджу соответствует его рейтинг сходства. Это дает высокую уверенность в правильности распознавания.
4.6.3. Режим комплексного распознавания по классам и образам
Софтвер позволяет по вашему желанию получать распознавание по классам, по имиджам или по тому и другому вместе. И в некоторых случаях это может иметь важное значение.
40 лет назад огромные надежды возлагались на тогдашние Искусственные Интеллекты – Экспертные Системы (ЭС). Было создано немало медицинских ЭС, в базе знаний которых были прописаны признаки болезней и рекомендации по лечению. Несмотря на некоторые несомненные успехи и шумную рекламу, они так и не нашли широкого применения из-за их непрозрачности. Нередко ЭС могли диагностировать болезнь и дать предположительно полезные рекомендации, но они принципиально не могли прояснить, как пришли к этим выводам из-за полной непрозрачности протекающих математических процессов. И ни один врач не мог назначить лечение по указанию машины, не понимая, откуда взялся диагноз и почему предлагается такое лечение…
Последние 15 лет идет активное развитие Искусственного Интеллекта на базе Искусственных Нейронных сетей (ANN). Однако проблема непрозрачности осталась. Люди, работающие в областях с высокой ответственностью за ошибку: врачи, бизнесмены, политики, военачальники и т. п. – не готовы следовать анализу и указаниям машины, если не понимают, как они сформированы.
Нам удалось найти два подхода к решению этой проблемы.
1. Результаты работы сети PANN могут быть проверены простыми расчетами.
2. Распознавание по классам позволяет разделить проблемы, а распознавание по имиджам предлагает наиболее близкие аналоги, улучшающие понимание и облегчающие принятие решений.
Например, рассмотрим ИИ-диагностику легочных болезней человека.
1. Распознавание по классам говорит о предполагаемой болезни пациента.
2. Распознавание по имиджам предлагает наиболее близкие аналоги, которыми в данном случае могут быть истории болезней других пациентов.
В результате врач получит объективные и проверяемые доказательства поставленного машиной диагноза, поймет логику формирования вывода.

Рис. 32. Распознавание с возможностью объяснения выбора через информацию аналогов
4.7. КЛАСТЕРИЗАЦИЯ И КЛАССИФИКАЦИЯ ИМИДЖЕЙ
4.7.1. Общая кластеризация случайного набора имиджей
Кластеризация – это разбиение больших групп объектов или процессов на относительно однородные меньшие группы на основе их отличия по некоторым заранее заданным или формируемым в процессе разбиения характеристикам. Упомянутая выше сеть Кохонена выполняет именно эту функцию, однако работы с ней не всегда дают ожидаемые результаты.
Кластеризация больших количеств обучающих имиджей часто используется при лейблинге, и это одна из самых трудоемких и дорогих работ в обучении нейронных сетей, требующая много ручной работы.
PANN обеспечивает быструю и эффективную кластеризацию на основе вычисляемых коэффициентов сходства.
Допустим, имеется набор фотографий самых разных объектов, и желательно его разделить на группы подобных объектов. Работа по кластеризации включает 4 шага:
1. Загрузка имеющегося набора имиджей в Matrix_PANN.

Рис. 33. Подход к управляемой кластеризации
2. Распознавание одного из объектов из загруженного набора. В нашем примере мы взяли фотографию кошки: файл k1.png.

Рис. 34. Целенаправленное формирование класса
3. Открытие окна New Class щелчком по иконке 18 New Class.
В этом окне видны все образы, близкие к распознаваемому. Среди них отбираем те, которые должны войти в новый формируемый класс. Для этого двойным щелчком мыши ставим галочки около отобранных образов. После нажима кнопки Save открывается файловый менеджер, создаем в нем папку с желаемым для отобранной группы названием, и после нажима кнопки Select Folder новый класс сформирован. Именно таким образом за короткое время был сформирован набор классов в директории ниже.

Рис. 35. Целенаправленное формирование группы классов
4. Проверка полученной классификации.
Загружаем в Matrix_PANN все созданные классы и распознаем некоторые тестовые образы, достаточно близкие к обученным, но не входившие в обучение и процесс кластеризации. Например:

Рис. 36. Проверка управляемой классификации
Распознавание подтверждает эффективность формирования классов.
4.7.2. Формирование подклассов для имеющихся классов
При кластеризации больших объемов имиджей всегда возникают типичные противоречия, связанные с размерами кластеров:
1. При слишком больших кластерах возникает избыточное обобщение самых сильных черт объектов, и значительная часть индивидуализированных, не близких к среднему объектов перестает распознаваться (эффект близкий так называемому переобучению нейронных сетей).
2. При малых классах сильно растет их количество, что может осложнять работу.
PANN позволяет существенно упростить кластеризацию путем гибридизации заранее заданных классов с классами, формирующимися за счет «самообслуживания» – автоматизированного или полуавтоматического создания подклассов уже имеющихся классов.
Работа по созданию подклассов включает 7 шагов:
1. Загрузка выбранного класса в Matrix_PANN в виде обучающего набора отдельных имиджей.
2. Тренинг загруженного набора имиджей.
3. Выбор одного из имиджей из загруженного набора и его распознавание.
4. Отбор имиджей в подкласс.
5. Формирование нового подкласса.

Рис. 37. Гибридная классификация – управление самоорганизацией
6. Исключение из загруженного набора имиджей, которые вошли во вновь созданный подкласс.
7. Повторение шагов 1—6 до исчерпания всех исходных имиджей.

Рис. 38. Этапы гибридной классификации

Рис. 39. Шаги гибридной классификации

Рис. 40. Результаты гибридной классификации
Конечный итог гибридной классификации – разбиение класса Piano из 30 имиджей на 6 подклассов от П30—1 до П30—6 по 5 наиболее близких друг другу имиджей каждый. На базе сформированных подклассов возможно существенное улучшение распознавания «классовой принадлежности» рассматриваемых новых имиджей.
В приведенном примере распознаваемый имидж, по которому формировался подкласс, брался случайным образом. Если же новые подклассы строить вокруг некоторых имиджей с высокой значимостью, можно очень эффективно управлять классификацией в соответствии с целями.

Рис. 41. Статистический подход к распознаванию классов и имиджей
К подклассам можно применить статистический анализ, который описан ниже, в разделе 4.7.4, то есть распознавание по сумме рейтингов представителей определенного класса.
4.7.3. Комплексная кластеризация
Классические нейронные сети, в том числе сети Кохонена, проводят кластеризацию сложных наборов данных путем свертывания, приводящего к уменьшению размерности кластеров. В некоторых случаях это полезно, в других – вредно. Также большие проблемы вызывает «безумное свертывание» в чисто автоматическом режиме, без участия человека. Полученные результаты часто оказываются неприемлемыми, и трудоемкий дорогостоящий процесс приходится начинать сызнова без гарантии успешности.
PANN позволяет обеспечить «кластеризацию без потерь», параллельно по многим разным параметрам или другим факторам, как заранее заданным, так и формирующимся в процессе работы. То есть возникает возможность построения многомерного описания распознанного объекта. Это может реализоваться дополнительными слоями в PANN либо через набор независимых сетей PANN в зависимости от конкретных задач.
А это, в свою очередь, позволяет реализовать избирательное распознавание по заданным параметрам за счет формирования соответствующих библиотек распознавания в автоматическом или полуавтоматическом режиме, используя ассоциированную с разными единицами знания информацию (см. раздел 3.1 «PANN в режиме компаратора»).
PANN также позволяет оператору направленно управлять процессами кластеризации в процессе человеко-машинной работы. Оператор может осознанно придавать значимость тем или иным образам, направленно пополнять или сокращать, преобразовывать библиотеки распознавания. В силу того, что PANN требует библиотек распознавания в сотни раз меньших, чем обучающие выборки обычных нейронных сетей, эта работа не будет очень дорогостоящей.
Предупреждение
В реальных задачах не всегда удается создать систему эффективной классификации или кластеризации, в ряде случаев процесс требует дополнительной настройки. Нередко бывает необходимо дополнить обучающую выборку или исключить из нее какие-то лишние файлы. Возможно также разделение некоторых выборок на подсистемы, например класс «Коровы» может включать подклассы «Коровы фас», «Коровы профиль», «Быки», «Телята» и т. п. Это разделение может проводиться для достижения лучших результатов в соответствии с конкретной задачей.
4.7.4. Классификация имиджей
Классификация отличается от кластеризации тем, что главным является определение принадлежности рассматриваемых имиджей к тому или иному из числа заранее заданных классов. Классификация в классических нейронных сетях тесно связана с распознаванием, при котором каждый распознанный имидж автоматически относится к одному определенному конкретному классу.
Matrix_PANN способна на более интересную работу. Она не только относит имидж к определенному классу, но и показывает соответствие этого имиджа другим классам. Это может быть очень важным при наличии «спорных» имиджей, близких к разным классам.

Рис. 42. Кошкомобиль
Другое очень важное различие – PANN позволяет в процессе кластеризации создавать на базе исходной библиотеки пересекающиеся дополнительные классы и на их базе направленную классификацию объектов, дающую дополнительные знания о распознанном объекте.
Для демонстрации используем Базу Лиц, разработанную Йельским университетом, в которой представлены 15 классов (01 – 15), причем в каждом классе 11 фотографий одного человека при разном освещении и с разным выражением лица. Воспользовавшись опцией кластеризации Matrix_PANN, мы добавили к имеющимся 15 классам-персонам еще 8 дополнительных классов: негр, печальный, улыбающийся, удивленный, подмигивающий, в очках, усатый, с приоткрытым ртом. Ниже показаны результаты распознавания subject10.glasses, не входившего в обучающую выборку.

Рис. 43. Комплексная классификация и распознавание
Распознавание по набору взаимодополняющих пересекающихся классов показало, что рассматриваемый имидж subject10.glasses:
• негр;
• похож на представителей 14, 13 и 4-го классов (один негр и двое темнолицых азиатов);
• улыбающийся;
• имеющий усы (в самом деле, если внимательно посмотреть, просто плохо выбритый);
• с приоткрытым ртом;
• носящий очки;
• и, вероятно, подмигивающий.

Рис. 44. Перенос информации с аналогов после распознавания
Во многих практических случаях бывает очень полезна информация о самых непохожих имиджах в выборке (антиномии). Например, в данном случае 120 имиджей обучающей выборки самым «далеким» от рассматриваемого оказался имидж subject01.normal.

Рис. 45. Имиджи-антиномии
Как и ожидалось, сходство фотографии человека с другими его фотографиями обычно лучше, чем с фотографиями других людей. Но также оказалось, что при некоторых особенностях освещения фотографии данного человека, по «мнению» нейросети, больше похожи на фотографии других людей. А вот люди при распознавании не ошибались. Почему?
Наверняка вы вспомните случаи, когда человека сначала не узнавали или узнавали неправильно, но, немного приглядевшись, распознавали уже лучше. Можно предположить, что:
• человек понимает, какие именно параметры фото наиболее важны при распознавании, а машина нет. Поэтому для машины может оказаться важнее распределение теней, чем форма носа и ушей…
• при мышлении человека работает механизм суммарного или накопительного распознавания – мы сравниваем рассматриваемый объект с множеством хранящихся в памяти изображений разных людей в разных видах (различное освещение, поза, выражение, разная степень обобщения и т. п.) и отбираем того субъекта, который больше похож по сумме всех этих распознаваний.
Примечание
Обе эти возможности человеческого разума, отличающие распознавание человеком от машинного, могут быть реализованы с помощью PANN.
Такой подход к улучшению распознавания путем несложной статистической обработки данных был реализован в PANN. Было проведено обучение PANN по обучающему набору лиц из Базы Йельского университета и выявлено, что:
• имидж-файл subject01.centerlight распознается очень плохо, на первом месте по коэффициенту сходства ошибочное распознавание его как файла subject02.centerlight, на втором – правильное, дальше – 2 неправильных и т. д.;
• имидж-файл subject01.glasses распознается очень хорошо.
Что интересно, файл subject01.centerlight – лицо человека при центральном освещении и его ошибочные распознавания – фотографии других лиц тоже при центральном освещении – файлы subject12.centerlight, subject5.centerlight, subject14.centerlight, subject09.centerlight. В данном случае основой распознавания стала особенность распределения света, а не особенности строения лиц. Мы предполагаем, что это связано с отсутствием теней и «маскировкой индивидуальных особенностей» из-за этого.
Но как избежать неверного распознавания субъекта в таком случае? Выручает несложный прием – определение достоверности как суммы коэффициентов сходства по нескольким (в большинстве случаев мы брали порядка 10) аналогам, то есть как бы «общего веса рейтингов однородных образов».

Рис. 46. Суммирование рейтингов для повышения достоверности распознавания
В практике работы с программой Matrix_PANN возникали ситуации, когда рассматриваемый новый образ не имел высокого сходства ни с одним из имеющихся классов. Это означает, что есть две возможности:
1. Возникла ошибка, и данный образ нужно просто исключить из тестируемого набора – это самый частый случай. При тестировании стандартного набора лиц в него было добавлено несколько совершенно «посторонних» имиджей – фотографии рояля, планеты Юпитер, лимона и т. п. И они всегда оказывались с минимальными «коэффициентами сходства», что позволяло их легко отфильтровать.
2. Появился новый, пока неизученный класс, возможно, могут появиться и другие его представители. Такое иногда бывает на практике. Например, при тестировании брака появляется новый или очень редкий, не вошедший в библиотеки распознавания вариант. В этом случае имеет смысл этот образ сохранить как экспериментальный класс и проверить, не будут ли со временем накапливаться его представители.
4.8. ПРОТОКОЛИРОВАНИЕ РАБОТЫ
Определение оптимальных параметров обучения, распознавания, классификации и т. п. требует проведения относительно небольшого объема тестов. Поэтому в программе предусмотрена возможность документирования проведенной работы для ее дальнейшего анализа. Это реализуется с помощью иконок 16 Clear, 17 Number Test и 19 Record Test.

Рис. 47. Документирование работы
После запуска программы в поле 17 Number Test появляется цифра 1. Это означает начало первого теста или серии тестов. Если после этого желательно провести какой-то другой тест, например с другим обучающим множеством, можно сохранить результаты первого теста, выйти из программы и запустить ее снова. Но можно сделать проще – двойной клик по иконке 16 Clear очистит все рабочие поля, в окне 17 появится цифра 2 – и можно начинать новый тест.
Для сохранения результатов теста кликнете на иконку 20 Record Test. В результате откроется окно опций файла отчета, и после выбора – какое количество имиджей желательно включать в отчет – появится автоматически генерируемое окно отчета, включающее:
• данные о тренинге программы;
• данные о распознавании в данном тесте;
• распознанные имиджи с их нейронными суммами (вероятностями распознавания) и при желании с рисунками.

Рис. 48. Документирование работы
Полученный отчет может быть сохранен в любой заданной директории в виде файлов с расширением *.fp3 или после нажима на иконку Export в виде PDF, HTML или RTF-файлов.

Рис. 49. Документирование работы
4.9. ПАРАЛЛЕЛЬНАЯ РАБОТА
Программа Matrix_PANN позволяет осуществлять одновременный запуск любого (в реальных пределах, определяемых используемым хардвером и операционной системой) количества рабочих окон и проводить в них последовательно или параллельно различные работы. Во многих случаях такое распараллеливание работ позволяет многократно увеличить скорость системы.
Примечание
Релиз-2 программы Matrix_PANN будет работать не только с графическими файлами, но и с таблицами, аудио– и видеофайлами.