Нейросетевые методы обработки информации при сборе машин и узлов
В последние годы отмечается прогресс исследований в области искусственных нейронных сетей (ИНС). Объем финансирования этих работ в США, Японии и Европе исчисляется сотнями миллионов долларов [1]. Растет число публикаций по тематике ИНС, широк и их спектр: от монографий и статей, единодушно признанных основополагающими в данной области [2-5], до обзоров, посвященных прикладным вопросам [6]. Стали международными авторитетные издания, посвященные тематике ИНС: IEEE Transaction on NeuralNetworks, Neural Networks, Neural Computing & Applications. В СНГ известен журнал "Нейрокомпьютер".
Наряду с этим, реальные результаты практического применения нейросетевых технологий в странах СНГ и на Украине незначительны. Это объясняется тем, что использование аппарата ИНС имеет свои особенности, которые несвойственны традиционным методам; путь от теории нейронных сетей к их практическому использованию требует соответствующей адаптации методологий, отработанных первоначально на модельных задачах; вычислительная техника с традиционной архитектурой не лучшим образом приспособлена для реализации нейросетевых технологий.
Так, например, один из известных нейросетевых коммерческих продуктов - пакет "BrainMaker" фирмы California Scientific Software используется, как правило, в качестве инструмента менеджмента. Однако наибольший эффект от применения этого пакета может быть получен лишь опытным пользователем, знакомым с основными положениями теории нейронных сетей.
В машиностроении весьма остро и актуально стоит проблема распознавания и обработки видеоизображений, в частности в процессе сборки узлов и агрегатов на автоматизированных линиях.
Одной из наиболее сложных задач обработки изображений, представленных последовательностью оцифрованных кадров, является задача выделения и распознавания движущихся объектов в условиях действия различного рода помех и возмущений.
Для решения этой задачи предлагается создание компьютерной системы, осуществляющей выделение изображений движущихся объектов на сложном зашумленном фоне, фильтрацию помех, скоростную фильтрацию, отделение объектов от фона, оценку скорости каждого объекта, идентификацию объекта и его сопровождение.
Система проектируется с применением нейросетевых методов для целей принятия решений и работает с реальными данными промышленных телевизионных систем (25 кадров/с, 320х200 пикселов). В предлагаемой системе выделение изображений движущихся объектов на сборочном конвейере осуществляется путем построения оценки поля скоростей с помощью многослойной локально-связной нейронной сети оригинальной конструкции. Размерность нейронной сети для изображения 320х200 пикселов составляет несколько миллионов нейронов ( в 4 раза больше синапсов).
Распознавание выделенных силуэтов производится на самоорганизующейся нейронной сети, предварительно обученной на изображениях объектов рассматриваемых классов (из специализированной БД типовых узлов и агрегатов). Система инвариантна к произвольному движению фона, зашумлению белым шумом до 10%. Вероятность правильного распознавания порядка 90%.
Система ориентирована на использование персональных компьютеров типа Pentium, и специальное программно-аппаратное обеспечение, обеспечивающее обработку информации в реальном времени.
Нейросетевые принципы, заложенные в систему, позволяют проводить ее обучение и переобучение. Система инвариантна к яркостным характеристикам объектов.
Методология нейросетевого программирования в коре отличается от привычной, она требует умения оперировать другими категориями, по-другому строить логику программы, решать задачи, которые не могли возникнуть при традиционном программировании. Основная задача - максимально эффективно использовать системные ресурсы вычислительной системы, оптимально распределить нагрузку между процессорами, "выжать" все из нейропроцессора.
Использование интеллектуальных нейросетевых технологий вызывает необходимость в использовании методов параллельной обработки данных. Причем термин "параллельная обработка" можно трактовать как обработку на параллельно работающих процессорах, так и одновременную обработку нескольких элементов данных на одном процессоре. Современный процессор позволяет выполнять несколько инструкций за один такт, что заставляет разработчика программного обеспечения продумывать как способы организации самих вычислений, так и способы подготовки данных, для того чтобы параллельно выполняемые процессы не блокировали друг друга.
Трудности, возникающие при программировании многопроцессорных систем, известны: синхронизация параллельных процессов, механизмы обмена данными, проблемы "критических областей", когда несколько процессов задействуют одни и те же системные ресурсы. Еще одной важной особенностью современных процессоров является высокая разрядность операндов, например 64 бита, что позволяет размещать в них по несколько малоразрядных элементов данных и обрабатывать их параллельно.
Примером эффективного использования отмеченной особенности современных процессоров является технология MMX, где 64-разрядный регистр разбивается на 8 независимых байтов или на 4 16-битных слова, которые обрабатываются параллельно. Независимость элементов состоит в том, что при смещениях или вычитании не происходит заимствования битов у соседних элементов. В перспективных разработках в кристалл чипа заложена функция произвольного разбиения 64-разрядного слова на элементы разрядностью от 1 до 64, а также возможность располагать в одном длинном слове данные разной разрядности, разбивая слово произвольным образом. В результате программист в зависимости от разрядности исходных данных может варьировать количество параллельно обрабатываемых элементов.
Список литературы: