Применение нейросетевых методов в задачах обработки изображений в машиностроении
В конце 20-го столетия исследования в области искусственных нейронных сетей (ИНС) из разряда экспериментально-поисковых приобретают фундаментально-прикладной характер. Постоянно возрастают объемы финансирования этих работ в мире [1]. Постоянно возрастает число публикаций по тематике ИНС, широк и их спектр: от монографий и статей, единодушно признанных основополагающими в данной области [2-5], до обзоров, посвященных прикладным вопросам [6]. Среди завоевавших международный авторитет изданий, посвященных тематике искусственных нейронных сетей можно выделить: IEEE Transaction on NeuralNetworks, Neural Networks, Neural Computing & Applications. В СНГ - журнал "Нейрокомпьютер".
Постоянно пополняется рынок программных продуктов, посвященных созданию и проектированию архитектуры нейронных сетей и реализации нейронных функций. Примерами являются продукты фирмы "Ward Systems Group, Inc." и компании "НейроПроект".
Однако, наряду с этим, следует отметить тот факт, что реальные результаты практического применения нейросетевых технологий в странах СНГ и на Украине весьма незначительны. Это объясняется тем, что использование аппарата искусственных нейронных сетей имеет свои особенности, которые несвойственны традиционным методам; путь от теории нейронных сетей к их практическому использованию требует соответствующей адаптации методологий, отработанных первоначально на модельных задачах; вычислительная техника с традиционной архитектурой не лучшим образом приспособлена для реализации нейросетевых технологий.
Проиллюстрировать это можно на примере использования одного из популярных и широко распространенных нейросетевых коммерческих программных продуктов - пакета "BrainMaker" фирмы California Scientific Software. Этот пакет используется, как правило, в качестве инструмента менеджмента. Однако наибольший эффект от применения этого и аналогичных программных продуктов, может быть получен лишь квалифицированным опытным специалистом, знакомым с основными положениями теории нейронных сетей.
Это ограничение выдвигает на первый план, задачу включения в учебные программы подготовки технических специалистов и экономистов элементы теории нейронных сетей.
Современные тенденции развития машиностроения связаны с решением ряда следующих задач:
Кратко рассмотрим целесообразность и эффективность применения нейросетевых технологий применительно к указанным задачам.
1. Одной из наиболее сложных задач обработки изображений, представленных последовательностью оцифрованных кадров, является задача выделения и распознавания движущихся объектов в условиях действия различного рода помех и возмущений. Для решения этой задачи предлагается создание компьютерной системы, осуществляющей выделение изображений движущихся объектов на сложном зашумленном фоне, фильтрацию помех, скоростную фильтрацию, отделение объектов от фона, оценку скорости каждого объекта, идентификацию объекта и его сопровождение. Система проектируется с применением нейросетевых методов для целей принятия решений и работает с реальными данными промышленных телевизионных систем (25 кадров/с, 320х200 пикселов) с перспективой использования в качестве источника данных цифровых видеокамер высокого разрешения. Выделение изображений движущихся объектов на сборочном конвейере в проектируемой системе предлагается осуществлять путем построения и анализа поля скоростей с помощью многослойной локально-связной нейронной сети оригинальной архитектуры. Размерность нейронной сети для изображения 320х200 пикселов составляет несколько миллионов нейронов (приблизительно в 4 раза больше синапсов). Распознавание выделенных силуэтов и контуров объектов производится на основе самоорганизующейся нейронной сети, предварительно обученной на изображениях объектов рассматриваемых классов (из специализированной БД типовых узлов и агрегатов).
Нейросетевые принципы, заложенные в систему, позволяют проводить ее обучение и переобучение.2. Не менее сложными являются задачи выделения и распознавания объектов на статическом тоновом изображении. В частности, подобные задачи возникают при автоматической обработке цифровых изображений поверхностей крупногабаритных узлов и деталей. Для их решения проектируется для реализации на ПК автоматизированная подсистема анализа изображений текстуры поверхности, полученных в оптическом и инфракрасном диапазоне. Система в автоматическом режиме обеспечивает выделение на обрабатываемых изображениях объектов заданных классов, включая компьютерное выделение и поиск микродефектов.
3. Использование нейросетевых технологий для анализа акустического излучения демонстрирует система обнаружения и распознавания нештатной или аварийной ситуации по акустическому сигналу. Для выделения сигнала с заданного направления планируется использовать фазированные антенные решетки с широкополосными сигналами на выходе. Эти сигналы подвергаются предобработке и в оцифрованном виде подаются на вход предварительно обученной нейронной сети для распознавания. Теоретические проработки этой проблемы и анализ результатов зарубежных исследований с использованием реальных данных, имеющихся в распоряжении разработчика, показывают, что вероятность объективного распознавания сигнала может достигать 80% и выше.
4. Высокая степень распараллеленности обработки информации в задачах машиностроения позволяет успешно применять нейросетевые технологии для решения задач комбинаторной оптимизации. Среди оптимизационных задач, котрые можно эффективно решать нейросетевыми методами, в первую очередь следует отметить задачи транспортно-ориентированной оптимизации и задачи распределения ресурсов.
Решение таких сложных задач традиционными методами математического программирования, большинство из которых изначально ориентировано на вычислительную технику с последовательной архитектурой, сопряжено с большими временными затратами, неприемлемыми для многих приложений. При соответствующей аппаратной поддержке нейросетевые методы позволяют значительно повысить оперативность решения данного класса задач, сохраняя высокую точность результата. По нашему мнению наиболее близким аналогом проектиремой нейронной сети является сеть Хопфилда [7]. Хопфилд использовал функцию энергии как инструмент для построения рекуррентных сетей и для понимания их динамики. Формализация Хопфилда представила принцип хранения информации в виде динамически устойчивых аттракторов, а также способствовала популяризации использования рекуррентных сетей для ассоциативной памяти и для решения комбинаторных задач оптимизации. Динамическое изменение состояний нейронной сети может быть выполнено двумя способами: синхронно и асинхронно. В первом случае все элементы модифицируются одновременно на каждом временном шаге, во втором - в каждый момент времени выбирается и подвергается обработке один элемент. Этот элемент может выбираться случайно.
Главное свойство энергетической функции состоит в том, что в процессе эволюции состояний сети согласно уравнению она уменьшается и достигает локального минимума (аттрактора), в котором она сохраняет постоянную энергию. Ассоциативная память. Если хранимые в сети образцы являются аттракторами, она может использоваться как ассоциативная память. Любой пример, находящийся в области притяжения хранимого образца, может быть использован как указатель для его восстановления. Ассоциативная память обычно работает в двух режимах: хранения и восстановления. В первом режиме (режиме хранения), веса связей в сети определяются так, чтобы аттракторы запомнили набор p n-мерных образцов {x1, x2,..., xp), которые должны быть сохранены. Во втором режиме (режиме восстановления) входной пример используется как начальное состояние сети, и далее сеть эволюционирует согласно своей динамике. Выходной образец устанавливается, когда сеть достигает равновесия. Какое количество примеров может быть сохранено в сети с n бинарными элементами? Другими словами, какова емкость памяти сети? Емкость нейронной сети конечна, так как сеть с n бинарными элементами имеет максимально 2n различных состояний, и не все из них являются аттракторами. Более того, не все аттракторы могут хранить полезные образцы. Ложные аттракторы могут также хранить образцы, но они отличаются от примеров обучающей выборки. Максимальное число случайных образцов, которые может хранить сеть Хопфилда, составляет Pmax = 0.15 n. Когда такое число сохраняемых образцов, достигается наиболее успешный вызов данных из памяти. Если запоминаемые образцы представлены ортогональными векторами (в отличие от случайных), то количество сохраненных в памяти образцов будет увеличиваться. Число ложных аттракторов возрастает, когда p достигает емкости сети. Несколько правил обучения предложено для увеличения емкости памяти сети Хопфилда [8]. Заметим, что в сети для хранения p n-битных примеров требуется реализовать 2n связей. Минимизация энергии. Нейронная сеть Хопфилда эволюционирует в направлении уменьшения своей энергии. Это позволяет эффективно решать комбинаторные задачи оптимизации, в случае, если они могут быть сформулированы как задачи минимизации энергии. В частности, подобным способом может быть сформулирована задача коммивояжера.
Основные накладываемые ограничения, критерии и требования, предъявляемые к проектируемой системе следующие:
Нейросетевые принципы, положенные в основу проектируемой системы, позволяют проводить ее обучение и переобучение. Кратко остановимся на рассмотрении ассортимента программных нейросетевых продуктов:
NeuroShell Trader представляет собой революционную нейросетевую систему прогнозирования, разработанную специально для трейдеров, инвесторов и всех тех, кто собирается использовать прогнозы на финансовых рынках, а также решать другие прогнозные задачи. Она настолько проста в использовании, что даже начинающие могут быстро достигнуть успеха. В то же время эта система является весьма эффективной и мощной, и дает возможность профессионалам решать широкий круг сложнейших задач.
NeuroShell 2 - программная среда с дружественным и интуитивно понятным интерфейсом, в которой реализованы наиболее распространенные и эффективные нейросетевые архитектуры. Этот программный продукт удовлетворяет требованиям и новичка, и профессионала. NeuroShell сопровождает целая серия дополнений, которые могут существенно упростить решение ряда специфических задач.
GeneHunter - "охотник за генами", использует генетические алгоритмы для решения весьма сложных комбинаторных и оптимизационных задач. GeneHunter является надстройкой Microsoft Excel, то есть пользователь решает свои задачи непосредственно из рабочего листа, содержащего данные. Кроме того, в состав GeneHunter входит динамическая библиотека функций генетических алгоритмов, совместимая с NeuroWindows, что позволяет пользователю создавать мощные гибридные системы, сочетающие нейронные сети и генетические алгоритмы.
В состав серии нейросетевых продуктов NeuroShell входят:
NeuroShell Predictor - дает возможность с легкостью создавать системы для решения задач прогнозирования и предсказания на основе имеющейся базы данных. Это могут быть предсказания следующих значений параметров временного ряда, например, оценка какой-либо величины, определяемой набором независимых факторов.
NeuroShell Classifier - предназначен для решения задач распознавания образов, связанных с определением принадлежности предъявляемого образа (ситуации) к той или иной категории. Например, вырабатывать управляющий сигнал для технологических процессов.
NeuroWindows представляет собой динамическую библиотеку нейросетевых функций, с помощью которых программист в состоянии построить нейросетевые структуры практически произвольной архитектуры.
NeuroShell Run-Time Server - содержит ряд программ, которые позволяют использовать сети, созданные с помощью NeuroShell Predictor и NeuroShell Classifier, либо из рабочих листов Microsoft® Excel™, либо в собственных программах.
Процедура решения указанных задач включает в себя следующие операции:
Методология нейросетевого программирования в корне отличается от привычной, она требует от постановщика задачи и программистов умения оперировать другими категориями, по-другому строить логику программы, решать задачи, которые не могли возникнуть при традиционном программировании. Основная задача - максимально эффективно использовать системные ресурсы вычислительной системы, оптимально распределить нагрузку между процессорами, "выжать" максимум из нейропроцессора. Применение интеллектуальных нейросетевых технологий вызывает необходимость в использовании методов параллельной обработки данных. Причем термин "параллельная обработка" можно трактовать как обработку на параллельно работающих процессорах (многопроцессорные системы), так и одновременную обработку нескольких элементов данных на одном процессоре. Современный процессор позволяет выполнять несколько инструкций за один такт, что заставляет разработчика программного обеспечения тщательно продумывать как способы организации самих вычислительных процессов, так и способы подготовки данных, для того чтобы параллельно выполняемые процессы не блокировали друг друга. Трудности, возникающие при программировании многопроцессорных систем, широко известны: синхронизация параллельных процессов, механизмы обмена данными, проблемы "критических областей", когда несколько процессов задействуют одни и те же системные ресурсы. Еще одной важной особенностью современных процессоров является высокая разрядность операндов, например 64 бита, что позволяет размещать в них по несколько малоразрядных элементов данных и обрабатывать их параллельно. Примером эффективного использования отмеченной особенности современных процессоров является широко распространенная компьютерная технология MMX, где 64-разрядный регистр разбивается на 8 независимых байтов или на четыре 16-битных слова, которые обрабатываются параллельно. Независимость элементов состоит в том, что при смещениях или вычитании не происходит заимствования битов у соседних элементов. В перспективных разработках в кристалл чипа заложена функция произвольного разбиения 64-разрядного слова на элементы разрядностью от 1 до 64, а также возможность располагать в одном длинном слове данные разной разрядности, разбивая слово произвольным образом. В результате программист в зависимости от разрядности исходных данных может варьировать количество параллельно обрабатываемых элементов.
Выводы: Решение проблемы и проектирование рассмотренной компьютерной системы практически неперспективно и невозможно без применения искусственных нейронных сетей, для которых в настоящее время разработано аппаратное обеспечение и достаточный ассортимент программных продуктов, позволяющих успешно решать задачи распознавания движущихся и статических изображений, определения по акустическому сигналу аварийных ситуаций и для задач комбинаторной оптимизации. Нейросетевые архитектуры базируются на алгоритмах "самопостроения" и "самообучения" нейронной сети. Рассмотрены методологические аспекты нейросетевого программирования, требования к постановщику задачи и программистам. Показано, что сегодня необходимо умение оперировать другими категориями, по-другому строить логику программы, решать задачи, которые не могли возникнуть при традиционном программировании. Подчеркнуто, что использование интеллектуальных нейросетевых технологий вызывает необходимость в использовании методов параллельной обработки данных. Показано, что "параллельная обработка" может быть охарактеризована двумя направлениями: обработка на параллельно работающих процессорах (многопроцессорные системы) и одновременная обработка нескольких элементов данных на одном процессоре.
Список литературы: