При финансовой поддержке Правительства Российской Федерации (Минобрнауки России)
Актуальность
В данной статье рассматривается применение нейросетевых алгоритмов в задачах спектроскапии, а именно для детектирование биологических и химических веществ на основе анализа спектров поглощения. На данный момент актуальна задача повышения чувствительности приборов, а также задача быстрого определения искомых веществ, например для детектирования взрывчатых веществ с целью предотвращения терактов.
Как известно все методы обнаружения взрывчатых веществ (ВВ) можно разделить на прямые и следовые. Прямые методы направлены на обнаружение ВВ в количествах от нескольких десятков грамм. Следовые методы позволяют обнаруживать малые количества ВВ (следы) на уровне порядка 10-3-10-13 грамм. Среди следовых методов наиболее распространенными являются электрохимические методы – спектрометры ионной подвижности, газовые хроматографы, масс-спектрометры, а также – комплекты, использующие методы цветовых химических реакций и т.д. Одним из направлений следового детектирования является использование оптических методов.
Оптические методы определения наличия различных веществ на пальце основаны на анализе спектров полученных на призме неполного внутреннего отражения (нво). Палец прикладывается к призме. По призме проходит лазерный луч многократно отражаясь от боковых поверхностей. Палец приложен к одной из этих поверхностей в результате взаимодействия лазерного луча с поверхностью пальца некоторые частоты поглощаются. Далее лазерный луч расщепляется на спектральные составляющие и получается спектр, который характеризует сам палец и вещества, которые на нём были.
В полученном спектре необходимо найти пики соответствующие искомым веществам.
Пики можно искать разными способами, наиболее известные из них это:
- нахождением максимумов;
- корреляцией;
- нейросетью.
В задачах детектирования веществ актуально использовать нейросетевые алгоритмы по следующим причинам:
- повышение скорости алгоритма;
- для решения проблемы с пропусками или ложными
срабатываниями.
Нейросети
Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона. Представлена модель, реализующая эту идею. Хотя сетевые парадигмы весьма разнообразны, в основе почти всех их лежит описанная ниже конфигурация, представленная на рис. 1. Множество входных сигналов, обозначенных x1,x2,…,xn, поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором X, соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес w1 , w2 ,…, wn , и поступает на суммирующий блок, обозначенный Σ. Каждый вес соответствует «силе» одной биологической синаптической связи. Множество весов в совокупности обозначается вектором W.
Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть NET. В векторных обозначениях это может быть компактно записано следующим образом: NET = XW.
Рис. 1. Конфигурация нейронной сети.
Применение нейронных сетей имеет следующие преимущества:
1) решение задач при неизвестных заранее зависимостях между входными и выходными параметрами;
2) возможность построения нелинейных зависимостей;
3) возможность применения для широкого круга задач;
4) возможность одновременного решения нескольких задач одной нейронной сетью при использовании нескольких выходов;
5) относительная простота используемых алгоритмов;
6) легкость распараллеливания при решении задачи.
Нельзя не отметить и недостатки нейронных сетей:
1) сложность определения набора входных параметров и архитектуры нейронной сети, которые обеспечивали не только оптимальный, но даже и
требуемый результат;
2) невозможность перебора, вызванная большим количеством вариантов («проблема размерности»);
3) сложность интерпретации структуры обученной нейронной сети – как правило, модель используется только в качестве «черного ящика»;
4) невозможность определения достаточного для обобщения и последующей успешной работы объема и состава входной выборки.
Существует много нейросетевых алгоритмов. Для задачи детектирования веществ было решено использовать топологию нейросети «многослойный персептрон» для последующей реализации, как наиболее изученную топологию нейросети и зарекомендовавшую себя с наилучшей стороны для задач обнаружения и распознавания.
Многослойный персептрон
Многослойными персептронами называют нейронные сети прямого распространения. Входной сигнал в таких сетях распространяется в прямом направлении, от слоя к слою. Многослойный персептрон в общем представлении состоит из следующих элементов:
- множества входных узлов, которые образуют входной слой;
- одного или нескольких скрытых слоев вычислительных нейронов;
- одного выходного слоя нейронов.
Примером многослойного персептрона является модель нейронной сети.
Количество входных и выходных элементов в многослойном персептроне определяется условиями задачи. Сомнения возникают в том, какие входные значения использовать, а какие нет. В качестве начального приближения можно взять один промежуточный слой, а число элементов в нем положить равным полусумме числа входных и выходных элементов.
Многослойные персептроны успешно применяются для решения разнообразных сложных задач и имеют следующих три отличительных признака:
- каждый нейрон сети имеет нелинейную функцию активации;
- несколько скрытых слоев;
- высокая связность.
Многослойный персептрон почти всегда обучается методом обратного распространения ошибки — что автоматически означает, что мы должны предоставить для обучения набор пар «входной вектор — правильный выход». Тогда входной вектор отправится на вход сети, последовательно будут рассчитаны состояния всех промежуточных нейронов, и на выходе образуется выходной вектор, который мы и сравним с правильным. Расхождение даст нам ошибку, которую можно распространить обратно по связям сети, вычислить вклад в итоговую ошибку каждого нейрона, и скорректировать его веса, чтобы ее исправить. Повторив эту процедуру многократно (несколько тысяч раз), возможно, удастся обучить сеть.
Сильные стороны — нейронная сеть изучена со всех сторон, хорошо работает на своих задачах, если на некоторой задаче не работает — то это повод утверждать, что задача сложнее, чем казалось.
Слабые стороны — неумение работать с динамическими процессами, необходимость большой обучающей выборки.
Выводы
Конечно, выбранная топология возможно не будет самой оптимальной и исследования в этом вопросе ещё предстоит делать, но после реализации выбранного метода уже можно будет оценить работоспособность нейросетевых алгоритмов в сравнении с существующими алгоритмами нахождения максимумов и корреляционным.