В пассивном радиолокаторе есть функция определения направления прихода сигнала DOA (Direct of Approach). Знание углового положения источника сигнала и помехи позволяет повысить однозначность определения координат цели на эллипсах равновероятного местоположения. В дополнение к уже рассмотренным адаптивным методам, попробуем реализовать нейроподобный подход к задаче определения DOA.
На вход нейроподобной сети (НПС) будем подавать сигнал с элементов кольцевой фазированной антенной решетки (ФАР); таким образом выход сети будет представлять собой гребенку пространственных фильтров. Или проще: каждый из выходов будет соответствовать одному из возможных направлений прихода сигнала; и на каком из выходов будем наблюдать больший уровень, значит пеленгуемый сигнал пришел с направления соответствующему номеру выхода.
Выход НПС, практически, формирует дискретную диаграмму направленности (ДН) ФАР.
Собираем нейроподобную ФАР
Для того, чтобы собрать рабочий тракт определения DOA с помощью нейроподобной сети, нам нужно определить следующие параметры сети:
- представление, или образ входного сигнала ФАР (почему не сам сигнал? — об этом прочитаем дальше). Будем использовать 8 — элементную кольцевую антенную решетку и 8 представлений сигнала для каждого элемента; таким образом ФАР будет формировать 8 х 8 = 64 выхода для НПС;
- соответственно, входной слой НПС будет содержать 64 элемента. Ограничимся точностью определения DOA в 1/16 от значений всех возможных направлений по азимуту, тогда выходной слой НПС будет содержать 16 элементов — выходов пространственного фильтра;
- выберем в промежуточном, или как его еще называют, скрытом слое, значение элементов равным 32. Почему именно столько? Значение получено экспериментальным путем, приблизительный ответ на этот вопрос — потому что не много и не мало. Скрытых слоев у нас будет только один, поэтому наша нейроподобная структура будет содержать всего три слоя: входной, промежуточный (скрытый) и выходной.
Со слоями мы разобрались, теперь займемся собственно нейронами. В качестве таковых выберем сигмоид — элемент с передаточной функцией, представленной на картинке.

Выходной сигнал нейрона не превышает единицы, что обеспечивает снижение вероятности перегрузки сети. Нелинейная характеристика сигмоида гарантирует, что слабые сигналы, или шумы, не будут распространяться по сети, они будут подавляться более сильными сигналами. Точно также, сильные сигналы не будут вести к блокированию сети. Здесь не идет речь о какой-бы то не было линейной суперпозиции — все как в биологии, все преимущества — сильным сигналам: если уколол руку то сразу забываешь что у тебя чесалось в носу.
По формуле сигмоида наблюдательный сразу спросит, если нейроны продуцируют сигнал между 0 или 1, откуда на входе могут взяться отрицательные значения? Тут мы наконец должны вспомнить о самом главном в нейроподобной сети: о связях.
Непознаваемые связи
Посмотрим теперь, как будут связаны между собой нейроны нашей НПС. Поскольку сеть у нас простая, будем рассматривать только прямые связи, от нейронов входного слоя к нейронам скрытого слоя, и далее — от нейронов скрытого слоя к нейронам выходного слоя. Есть и другие структуры, в том числе с обратными свзями — они за пределами нашего повествования. Также мы должны упомянуть, что в приличной нейроподобной сети входной сигнал каждого нейрона образуется весовым суммированием сигналов N входящих связей с добавлением смещения b:
Каждый вес w определяет интенсивность связи; естественно что при w = 0 связь полагается отсутствующей. Смещение b определяет, в каком диапазоне входных значений будет работать нейрон, и значит — насколько существенными будут для него входные сигналы.
Это все замечательно, но что можно сказать о связях между нейронами? А ничего. Ничего мы про эти связи не знаем и более того — знать не собираемся. В таком случае, откуда они возьмутся? Другими словами, откуда нам брать значения wi и b для каждого нейрона?
Как и в живой природе, когда все организмы проходят адаптацию к своей среде, точно также мы будем развивать свою НПС. Мы будем ее учить, или тренировать. Мы будем показывать нашей сети образы различных сигналов и подсказывать ей, с какого направления они пришли. Чтобы отбор был более бескомпромиссным, мы будем эти сигналы зашумлять. При этом связи, которые оказались удачными, будут развиваться, а те которые были ошибочными — отмирать. В результате обучения формируется структура НПС со своими связями. Лучше даже и не пытаться анализировать эту структуру логически: она очень сложна и не поддается объяснению; она просто работает.
В результате, когда мы подадим на вход своей НПС тестовый сигнал, который даже никогда не присутствовал в обучающих последовательностях, на выходе получим направление его прихода.
Сигнал и светлый образ его
Выше я заметил, что буду использовать представление сигнала, или образ вместо самого сигнала. Признаюсь честно, вначале я пытался экспериментировать с самими сигналами, подавая их на вход НПС. Сеть никак не хотела сходиться к результату в процессе обучения. Вообще, отладка НПС — это кошмар, это настоящий черный ящик, в который никак не заглянуть.
В результате недолгих раздумий я пришел к следующим выводам. Нейрон — устройство сугубо нелинейное, и он будет существенным образом деформировать сам сигнал. Далее, предпочтительным для НПС, по аналогии с биологией, является визуальное представление данных (как это происходит например в глазу). Поэтому я поменял сигнал на его графическое представление, и все заработало. В данном случае каждый из восьми элементов ФАР апроксимировался вектором по аналогии с кодированием 8PSK. В результате, на входе нейронной сети каждый элемент ФАР представлен одним из восьми фазовых состояний.
Пора в школу
Теперь можно перейти к обучению нашей НПС. Моделирующая программа была написана на Питоне. Для каждого из 16 направлений прихода сигнала формировалось 10 обучающих выборок, которые отличались друг от друга шумовой составляющей. Для каждой обучающей выборки сеть проходила адаптацию по 30 циклам, или как это принято в терминологии НПС, по 30 эпохам.
После того, как НПС была сформирована, проводилось контрольное измерение облучением ФАР с направления 202,5° и обработкой сигнала ФАР нейроподобной сетью. Это направление соответствует 9-му выходу пространственного фильтра НПС. В результате получена диаграмма направленности:
Как видно из рисунка, НПС сформировала максимум в направлении 9-го выхода, что соответствует заданному углу.
У вас есть желание взглянуть на то, какой получилась НПС? Пожалуйста, на диаграмме ниже она представлена во всей своей красе. Нижний слой нейронов — входной, в количестве 64. Выходной слой нейронов, соответствующих выходам пространственного фильтра, расположен сверху (16 нейронов). Промежуточный (скрытый) слой расположен посередине. По диаграмме, сигналы идут снизу вверх. Толщина связи зависит от веса связи: чем вес больше, тем толще линия. Наслаждайтесь и попробуйте выявить логику работы!

Назад, к природе
На этой характерной модели хорошо видно, что с точки зрения создания таких систем полученная структура не носит принципиального характера. Очевидно, что попытка ее декомпозиции или реинжиниринга не даст ничего для понимания заложенной логики. Вся логика — в алгоритме обучения.
Теперь вдвойне интересно, как это работает в творениях Природы. Опять таки очевидно, что бессмысленно анализировать связи нейронов и например сенсоров сетчатки глаза животных. Гораздо важнее ответ на вопрос, по какому обучающему алгоритму они были построены. И дальше — еще вопросы, вопросы без ответов:
- происходит ли тренировка сети в процессе жизни одной особи или это результат долгой эволюции?
- если это результат долгой эволюции, то как наследуется нейронная структура?
- если тренировка сети происходит после рождения, не означает ли это, что стадии человеческого зародыша — личинки, рыбы, животного и так далее на самом деле есть алгоритм обучения нейронной сети?
- на каких данных строится обучение в таком случае?
- если деревья начнут расти горизонтально, будет ли меняться наша зрительная нейронная система?
- не являются ли наши сны на самом деле обучающим видеоматериалом для нашей нейронной сети, в результате чего меняется ее структура?
В прикладном плане, НПС требует параллелизации обработки. Возможно, получат вторую жизнь технологии АВМ — аналоговых вычислительных машин. Каждую из таких АВМ, моделирующих нейрон, можно воспроизвести тысячами микро-ячеек. Самый сложный вопрос, для которого я пока не вижу технологии: как организовать произвольные настраиваемые связи между этими АВМ? Возможно, это можно будет сделать путем некоторого биолого — химического процесса.
Чем дольше думаешь об этом, тем больше завидуешь тому, как это сделала Природа.

Добавить комментарий