ВЕСТНИК«!
ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА ^^
МОРСКОГО И РЕЧНОГО ФЛОТА ИМЕНИ АДМИРАЛА С. О. МАКАРОВА
ЭКСПЛУАТАЦИЯ ВОДНОГО ТРАНСПОРТА,
СУДОВОЖДЕНИЕ
DOI: 10.21821/2309-5180-2020-12-3-423-435
A GENERALIZED MODEL OF A VESSEL DEAD RECKONING BASED
ON NEURAL NETWORKS
V. V. Deryabin
Admiral Makarov State University of Maritime and Inland Shipping,
St. Petersburg, Russian Federation
The task of predicting the vessel kinematic parameters arises in the dead reckoning mode of its track calculation. This task is solved in the framework of the traditional approach based on using the ordinary differential equations. As a rule, while constructing these equations, the difficulties arise. The difficulties result from selection of the algorithms which are used for the certain forces calculation. These algorithms are not universal, and their working ability could not be guaranteed for all sailing conditions. The task ofpredicting the vessel kinematic parameters can be performed as the task of approximation of multiple variables functions. Neural networks are known as universal algorithms of such approximation. In the paper, a generalized model of the vessel dead reckoning on the basis of neural networks is performed. An algorithm of its operation is performed as well. The base of the model is formed with deep neural nets which are constructed through a cascade connection between two-layered (shallow) networks. There are two types of neural networks in the structure of the model: main and auxiliary nets. The main nets predict kinematic parameters using the information about force influences on the vessel. The auxiliary nets use the information about only the ship kinematic history. The model configuration allows two modes of operation. The first mode is used when dead reckoning is performed in the usual way. The second mode is used when the reliable information from a log or (and) gyrocompass is unavailable. In the case of both sensors failure the model reproduces the vessel dynamics in the horizontal plane (with three degree of freedom) thus substituting the system of corresponding differential equations. The input signals of the main nets are formed in accordance with the configuration vector of the model. The capabilities of learning the model and its using in practice are also analysed.
Keywords: vessel dead reckoning, deep neural networks, differential equations, machine learning, cascade connection.
For citation:
Deryabin, Victor V. "A generalized model of a vessel dead reckoning based on neural networks." Vestnik
Gosudarstvennogo universiteta morskogo i rechnogo flota imeni admirala S. O. Makarova 12.3 (2020): 423435. DOI: 10.21821/2309-5180-2020-12-3-423-435.
УДК 656.61.052:527.61:004.032.26
ОБОБЩЕННАЯ НЕЙРОСЕТЕВАЯ МОДЕЛЬ СЧИСЛЕНИЯ ПУТИ СУДНА
Рассмотрена задача прогноза кинематических параметров судна, возникающая при определении его места в режиме счисления, решаемая в рамках традиционного подхода на основе обыкновенных дифференциальных уравнений движения. Отмечается, что при составлении данных уравнений, как правило, возникают трудности с выбором алгоритмов, по которым рассчитываются отдельные силы: не универсальны и работоспособность их в любых условиях плавания не может быть гарантирована. Задача прогноза кинематических параметров судна может быть представлена в виде аппроксимации (приближения) функции многих переменных, поскольку нейронные сети являются универсальными алгоритмами такой аппроксимации. В работе предлагается обобщенная модель счисления пути судна на основе нейронных сетей, а также алгоритм ее функционирования. Основу модели составляют глубокие нейронные сети,
2
В. В. Дерябин £
в
ФГБОУ ВО «ГУМРФ имени адмирала С. О. Макарова», Т
Санкт-Петербург, Российская Федерация 1
^ВЕСТНИК
............ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
Х^уЮРСКОГО И РЕЧНОГО ФЛОТА ИМЕНИ АДМИРАЛА С. О. МАКАРОВА
полученные каскадным соединением двухслойных (мелких) сетей. В структуре модели два типа нейронных сетей: основные и дополнительные. Основные сети прогнозируют кинематические параметры на основе информации о силовых воздействиях на судно, вспомогательные — только на основе его кинематической истории. Конфигурация модели предусматривает режим обычного и аварийного счисления, когда отсутствует достоверная информация, поступающая от однокомпонентного относительного лага или / и гирокомпаса. При неисправности обоих датчиков модель счисления воспроизводит динамику движения судна в горизонтальной плоскости (с тремя степенями свободы), заменяя систему соответствующих дифференциальных уравнений. При этом входные сигналы основных нейронных сетей формируются в соответствии с вектором конфигурации модели. Проанализированы возможности настройки модели и ее использования на практике.
Ключевые слова: счисление пути судна, глубокие нейронные сети, дифференциальные уравнения, машинное обучение, каскадное соединение.
Для цитирования:
Дерябин В. В. Обобщенная нейросетевая модель счисления пути судна / В. В. Дерябин // Вестник Государственного университета морского и речного флота имени адмирала С. О. Макарова. — 2020. — Т. 12. — № 3. — С. 423-435. DOI: 10.21821/2309-5180-2020-12-3-423-435.
Введение (Introduction)
Задача определения координат места судна автономными методами (счисления) является, как известно, актуальной научно-технической проблемой, так как счисление в ряде случаев может оказаться единственным источником навигационной информации. На большинстве судов торгового флота в качестве навигационных датчиков для счисления используются относительный лаг, измеряющий продольную скорость, а также гирокомпас. При такой комплектации основная проблема счисления заключается в адекватности учета внешних факторов (ветер, течение, волнение), для решения которой могут использоваться различные методы, основанные, как правило, на применении знаний из области обыкновенных дифференциальных уравнений [1]-[3].
При составлении дифференциальных уравнений движения судна всегда возникают проблемы, связанные с выбором методов учета силовых воздействий на корпус судна. Как правило, указанные методы имеют ограниченную область работоспособности, т. е. они не универсальны. Известно (см., например, [4]), что движение судна можно представить математически как решение задачи аппроксимации (приближения) функций многих переменных. В качестве инструментов универсальной аппроксимации, выступают искусственные нейронные сети (см., например, [5], [6]).
Идеи использования нейронных сетей для моделирования движения судна нашли широкое воплощение в современных исследованиях (см., например, [7]-[9]). При этом нейронные сети, как правило, применяются в задачах управления движением судна. Подобные задачи близки к задаче счисления, но все же не эквивалентны ей. Например, при построении прогнозирующей модели на основе нейронной сети требуется, чтобы данная модель была адекватной лишь на всем з горизонте прогнозирования (как правило, речь идет о минутах и десятках минут). Счисление же
может осуществляться сутками.
2 Целью настоящего исследования является разработка обобщенной нейросетевой модели
о счисления пути судна, а также алгоритма работы указанной модели. Для достижения данной обо-g значенной цели необходимо сначала записать дифференциальные уравнения движения судна, привести их к дискретному (по времени) виду, а затем показать, что решение данных уравнений 424J может быть приближенно представлено как решение задачи аппроксимации функции многих переменных, для чего и следует использовать соответствующие нейронные сети.
OQ
СМ
Методы и материалы (Methods and Materials)
Математическая формулировка задачи. Дифференциальные уравнения движения судна в горизонтальной плоскости могут быть записаны следующим образом:
СIV
= А (у*' V'ю Рхи рх 2' рхт);
V
—¡^ = > V,'ю Ру1' Ру 2Руну); (!)
С ю
Ж
= /з К > V > Ю Рю1' Рю2 ' РюнюX
где К — продольная составляющая скорости судна относительно воды; Vy — поперечная составляющая скорости судна относительно воды; ю — угловая скорость рыскания (поворота вокруг вертикальной оси); рх1, рх2, ... , рхШ — набор из N величин, характеризующих силовые воздействия в продольном направлении; ру1, ру2,... , руНу — набор из N величин, характеризующих силовые воздействия в поперечном направлении; рю1, рю2, ... , рюЫю — набор из величин, характеризующих силовые воздействия вокруг вертикальной оси; /1, /2, f — непрерывные функции.
Применив к каждой части каждого уравнения системы (1) операцию интегрирования по времени на отрезке [0; т], получим:
Г, (т) = V, (0) + //Х(УХ V, ш, рл, рх 2,..., руШ )Л;
0
V (т) = Уу (0) +1 /2(Ух, Уу, ш, руХ, Ру 2,..., РУЩ, уь; (2)
0
т
ш( т) = ш(0) + | /з(Гх V , ш, Рш19 Рш 2,...
0
Значения интегралов, стоящих в правых частях соотношений (2), определяются видом функций /1,/2,f на отрезке времени [0; т]. В условиях использования цифровой техники вид указанных функций приближенно представляется последовательностью их значений в опорных равноотстоящих точках отрезка [0; т]: 10 = 0, t2, ... , ti, ... , tn = т, где п — число элементарных интервалов интегрирования; / = 0 ^ п. Шаг интегрирования Дt = t1 - t0, ... , tn _ tn_1. Очевидно, что т = Дп При переходе к такой дискретной постановке задачи получаем, что интегралы в соотношениях (2) определяются последовательностями функций вида /1 (¿0 = 0),/1 ),...,/1 (:п = т), где нижний индекс I = 1, 2, 3. В свою очередь, значение функции в любой опорной точке определяется значениями ее аргументов в данной точке. Например, функция /1 определяется последовательностями вида
{ )}0« } )}=0« ;{Л1('/ )}0« 'Ар* 1(', )}0+„ '-'{Рх^х V, АНалогИчНые рассуж-
дения могут быть использованы и для функций/2 и/3.
С учетом ранее изложенного, уравнения (2) могут быть заменены уравнениями следующего вида:
V (* = К) * У (0) +
+({У ь )}0+„ { с, )}>{®с, }„, Ыь )}„ С, });
Уу (т = К) * Уу (0) + 0
(с, ^ ,{уу«.} )}.0+„.{.(',)} с,)}; (3) |
в
ю(т = гп) *ю(0) + м
+)},=0,п >{УУ ((. )}1=0+п '{Ю(?' )}-=0,п Ар^(', )}п )},=0+п ) £
где /х, /у, fw — некоторые непрерывные функции.
Общие черты модели счисления. Соотношения (3) представляют собой уравнения счисления для дискретного времени. Второе уравнение используется в том случае, когда необходимо определить скорость дрейфа судна (обычный режим счисления). Другие уравнения могут использоваться для «аварийного счисления» в случае, когда отсутствуют достоверные данные от лага или / и гирокомпаса. Более подробно схема использования уравнений системы (3) выглядит следующим образом:
1) обычное счисление: используется только второе уравнение;
ЛВЕСТНИК
............ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
Х^ОРСКОГО И РЕЧНОГО ФЛОТА ИМЕНИ АДМИРАЛА С. О. МАКАРОВА
2) неисправен лаг (используются первое и второе уравнения);
3) неисправен гирокомпас (используется второе и третье уравнения);
4) неисправны лаг и гирокомпас (используются все три уравнения системы).
В режиме «аварийного счисления» используется два или три уравнения в определенном порядке. Например, в случае неисправности относительного лага можно использовать вначале первое уравнение, а затем второе или наоборот. Последовательность использования уравнений, возможно, имеет значение, так как алгоритмы, реализующие преобразования /х, /у, могут иметь различную степень адекватности. Поэтому уравнения (3) должны использоваться в порядке ухудшения адекватности приведенных ранее алгоритмов. При этом меньшая адекватность одного алгоритма может быть скомпенсирована более точным определением его входных данных на основе другого более адекватного алгоритма. Вообще, возможные варианты использования системы уравнений (3) могут быть представлены в виде вектора конфигурации К = (к1 к2 где его ненулевые элементы могут принимать неодинаковые значения от одного до трех. Например, К = (0 2 0) соответствует варианту обычного счисления, К = (1 2 0), К = (2 1 0) — варианту, когда неисправен относительный лаг, К = (0 2 3), К = (0 3 2) — варианту, когда неисправен гирокомпас. В случае неисправности обоих датчиков варианты вектора конфигурации следующие: К = (1 2 3), К = (1 3 2), К = (2 1 3), К = (2 3 1), К = (3 1 2), К = (3 2 1).
Оптимальные (по точности) значения вектора К для режима «аварийного счисления» могут быть получены на основе большого объема эмпирических данных в ходе тестирования модели. Таким образом, для каждого варианта счисления может быть определен оптимальный вектор конфигурации К. Использование системы (3) с выбранным вектором конфигурации К позволяет организовать итерационный процесс Пикара. Например, после однократного вычисления Vx, V, ю можно повторить вычисления, но уже с уточненными входными данными. Цикл следует остановить, когда модули разностей значений величин К, V, ю для двух последовательных итераций будут одновременно менее установленных значений 8х, 8 , 8ю соответственно. При использовании только одной итерации ограничения не устанавливаются. Таким образом, параметрами модели счисления выступают вектор конфигурации К и ограничения 8х, 8,, 8ю. Указанные параметры выбираются на этапе использования модели.
Реализация модели на основе нейронной сети. Функции /х, /у, могут быть реализованы при помощи нейронных сетей, из теории которых известно, что нейронная сеть прямого распространения с одним скрытым слоем способна аппроксимировать (равномерно приблизить) любую непрерывную функцию нескольких переменных с любой наперед заданной точностью [10]. Скрытые нейроны такой сети имеют функции активации, которые не являются многочленами и при этом они локально интегрируемые (по Риману). Выходной нейрон имеет при этом тождественную функцию активации. Общий вид такой сети представлен на рис. 1.
•Вход О Выход
Нейрон (тождественная функция активации)
Нейрон (функция активации — не является полиномом, но является локально интегрируемой функцией по Риману)
Рис 1. Общий вид архитектуры нейронной сети, используемой для универсальной аппроксимации функций
Основная проблема использования нейронных сетей с одним скрытым слоем заключается в том, что размер слоя (число нейронов) может быть очень большим для того, чтобы обеспечить требуемую точность приближения функции. В качестве возможного решения проблемы иногда имеет смысл перейти к «глубокой» архитектуре, т. е. использовать два и более скрытых слоя исходя из того, что суммарное число нейронов сети может быть сокращено при сохранении точности аппроксимации.
Наибольшую популярность приобрели глубокие сети прямого распространения, т. е. имеющие архитектуру, подобную приведенной на рис. 1, но между скрытым слоем и выходным у них располагаются дополнительные слои. Интуитивно идею использования дополнительных слоев можно объяснить следующим образом. Пусть имеется сеть с одним скрытым слоем («мелкая» нейронная сеть). Пусть она приближает с требуемой точностью непрерывную функцию т переменных f = f(хр х2, ... , хт). При добавлении еще одного слоя (ближе к выходу сети) на выходе каждого /-го нейрона первого скрытого слоя будет получаться функция ^ = ^ (х1, х2,..., хт), где / = 1 ^ N. Впоследствии N таких функций представляют вход уже для обычной мелкой нейронной сети, гарантированно преобразующей их в функцию = /[(,/2,...,^) = х1,х2,...,хт). Подбором числа нейронов в каждом скрытом слое и настройкой параметров можно добиться того, что f ~/г При этом вход для мелкой сети в виде функций (/2,...,/,...,/м) может потребовать для аппроксимации меньшее количество нейронов, чем если бы подавать на вход только (хр х2, ... , хт), а также общее количество нейронов может быть меньше для обеспечения такой же точности. Все ранее изложенное справедливо также в случае трех и более скрытых слоев. Основная идея заключается в том, что на вход мелкой сети (последнего скрытого слоя) поступает не вектор входных величин (хр х2, ... , хт), а вектор функций от указанных величин (/¡,/2,...,/м)таким образом сформированных, что требуемая точность аппроксимации достигается меньшим суммарным числом нейронов по сравнению с мелкой архитектурой.
Далее возникает вопрос о том, каким образом формируются указанные функции (/2,...,/м), представляющие вход для последнего скрытого слоя. Можно показать, что данные функции в структуре такой глубокой сети зависят от одинаковых весовых коэффициентов и порогов предшествующих скрытых слоев. Иными словами, регулировка любого коэффициента сети оказывает влияние на вид каждой функции из набора (/2,...,/н). Получается, что рассматриваемая глубокая структура как бы ограничивает возможности представления функций (/2,..., /н), подаваемых на вход последнего скрытого слоя, в чем и заключается ее недостаток. Для устранения выявленного ограничения можно использовать каскадное соединение мелких нейронных сетей, так что вид функций (/19 /2,..., /н) регулируется независимо. Сеть работает следующим образом. Входной вектор X = (хр х2, ... , хт) подается одновременно на входы N мелких нейронных сетей (см. рис. 2), имеющих архитектуру, представленную на рис. 1. Каждая такая сеть формирует N функций переменных х1, х2, ... , хт. Каждая из таких функций подается вновь на входы N мелких сетей, прогнозирующих другой набор функций: переменных х1, х2, ... , хт. Процесс повторяется до тех пор, пока не будут рассмотрены М слоев мелких сетей, причем NM = 1. Последняя сеть прогнозирует значение приближаемой функции. Общий вид архитектуры такой глубокой сети (ГС) представлен на рис. 2.
2 О 2
_о:
Гди
Рис 2. Общий вид архитектуры глубокой сети: МС — мелкая нейронная сеть; X — вектор входа; у — выходная величина
ЛВЕСТНИК
............ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
Х^ОРСКОГО И РЕЧНОГО ФЛОТА ИМЕНИ АДМИРАЛА С. О. МАКАРОВА
СО
г
см о
Представленная на рис. 2 сеть используется для нелинейного отображения у = у(Х), выступая в качестве «глубокого» аппроксиматора. Использование глубокой архитектуры позволит, возможно, добиться удовлетворительной точности аппроксимации меньшим числом скрытых нейронов по сравнению с мелкой архитектурой. Параметрами архитектуры ГС являются матрица архитектуры А. Каждый столбец такой матрицы соответствует слою скрытых сетей. Формирование строк матрицы начинается всегда с первой строки и заканчивается номером строки, который равен количеству сетей Nj=lM в данном скрытом слое. Элементы всех следующих строк принимаются нулевыми. Каждый ненулевой элемент матрицы архитектуры есть вектор, имеющий следующий вид: А = (£.=^:тип и параметры ФА.=^:^ где 5 — число нейронов скрытого слоя мелкой нейронной сети МСЙ1;^ м, «тип ФА» — вид функций активации нейронов ее скрытого слоя, «параметры ФА» — значения соответствующих параметров. Матрицей архитектуры ГС (в сокращенном виде — А) будем называть матрицу, составленную из тех же элементов Ано содержащих только число нейронов £.^ Рассмотрим следующую матрицу архитектуры ГС в сокращенном виде:
'10 15 5 20л
10 15 5 0
10 0 5 0
0 0 5 0
А =
Приведенная матрица задает ГС (см. рис. 2), первый слой которой содержит три мелкие сети, каждая из них содержит десять скрытых нейронов; второй слой содержит две мелкие сети, каждая из которых имеет по пятнадцать скрытых нейронов; третий слой содержит четыре мелкие сети с пятью скрытыми нейронами; четвертый слой представлен единственной сетью с двадцатью нейронами в скрытом слое. Таким образом, можно установить следующие свойства матрицы А (и А). Во-первых, число строк матрицы определяется наибольшим количеством «скрытых» сетей, используемых в каком-либо слое (в данном примере, третий слой имеет 4 сети, что и определяет число строк матрицы). Во-вторых, все элементы последнего столбца матрицы, за исключением первого в строке, всегда равны нулю. Указанное свойство объясняется скалярным характером выходного сигнала ГС.
Матрицу А имеет смысл использовать вместо матрицы А в том случае, когда тип и параметры функций активации определяются более или менее одинаковыми для всех мелких сетей, составляющих ГС. В таком случае, параметрами архитектуры ГС является матрица А и дополнительные характеристики функции активации.
Будем использовать ГС для аппроксимации зависимостей /х, /, / в выражении (3), прежде обозначив набор аргументов указанных функций через пХх, пХ , пХю. Например, в соответствии с соотношением (3), получим
>* с,)} о, „ '{ с> 1 о,,, Л«*,)}. о,.
)}=0,„ <Х)}=о,„.
Система уравнений (3) с учетом введенных обозначений примет вид: V(т)» V(0) + / („Хх)« V:-(т) := V х(0) + /Г° („Хх); У (т)» у (0) + /у („Ху)» У;,еиго (т) := Уу (0) + /Г'° {„Ху); (4)
®(т)« ю(0) + /„ (я Х> (т) := ю(0) + („ Х„),
где /хпеиго(-), /пеиго0, /пеиго0 — преобразования, выполняемые глубокими нейронными сетями, ^пеиго(т), упеиго(т), ^пеиго(г) — нейросетевые оценки соответствующих кинематических параметров движения судна.
В дальнейшем нейронную сеть, реализующую одно из отображений /пеиго0, /пешо('), /пеиго('), будет называть основной глубокой сетью (ОГС) и для сокращения записей использовать следую-
X =
щие обозначения: ОГС^, где нижний индекс q принимает значения х, у или ю и показывает, какая величина прогнозируется; а верхний п, как и прежде, показывает число отрезков равной длины, образующих промежуток [0; т]. Например, символ «ОГС^» обозначает, что используется основная глубокая нейронная сеть, входной вектор которой 1Xx (сеть прогнозирует Гпеиго(т)), т. е. для его формирования необходимы данные только на концах отрезка [0; т]. В соответствии с соотношениями (4), нейронная сеть ОГСп прогнозирует приращение скорости на промежутке [0; т]. Однако, если начальную скорость подать на последний (выходной) нейрон через постоянный единичный
вес, то получится, что ОГСП прогнозирует само значение скорости (например, Гпеиго(т)). В дальней-
q x
шем будем считать, что такая операция выполнена, и сети ОГС имеют последний нейрон, соединенный с начальной скоростью через ненастраиваемый коэффициент, равный единице.
Для любых вариантов конфигурации необходимо использовать спрогнозированные аналоги кинематических параметров V (т), V,(t), Ю(т), полученные на основе их значений в предшествующие моменты времени. Например, при конфигурации K = (0 2 0), в соответствии с соотношениями (4), для определения поперечной скорости как входной величины V (т) необходимо (на первой итерации) использовать ее спрогнозированный аналог, т. е. значение V (т). В данном случае V (т) является определяемой величиной и можно использовать лишь ее спрогнозированное значение V (т).
Необходимость использования спрогнозированных значений возникает также и в режимах «аварийного счисления». Например, при конфигурации K = (1 2 0), в соответствии с соотношениями (4), для определения продольной скорости Ух(т) необходимо знание поперечной для всех точек интервала, включая т. Однако V (т) определится лишь после решения второго уравнения. Поэтому в данном случае на первой итерации необходимо взять V (т) ~ V(т). Конечно, уже на второй итерации значение Vy (т) берется как вычисленное на первой итерации. Таким образом, возникает задача прогноза временных рядов. Для прогноза (на шаг вперед) логично использовать глубокую нейронную сеть той же архитектуры (см. рис. 2), которую будем называть вспомогательной глубокой сетью (ВГС) и обозначать символом Brcq^, где l > 1 — количество интервалов, используемых для построения прогноза. Например, символ ВГС обозначает нейронную сеть, которая прогнозирует скорость Vy(t3), если известны предыдущие значения Vy(t0 = 0), Vy(t1), Vy(t2), т. е. использует два интервала для построения прогноза.
Решение системы (4) может быть реализовано при различных значениях вектора конфигурации K, определяющего вид входных векторов: nXx, nX, пХю. Как известно, существует одиннадцать вариантов вектора конфигурации. Прежде чем определять входные векторы для каждого варианта, уточним следующие обозначения. Символами Vx, V , ю обозначаются теоретические значения кинематических параметров движения судна, символами V, V, Ю — спрогнозированные значения
T^T^r^lq тлneuro т тneuro neuro
на основе вспомогательных нейронных сетей ВГС q; V , Vx , ю — спрогнозированные зна-
" " тт-neuro тлneuro ~ neuro
чения при помощи основных нейронных сетей ОГ Сq на текущей итерации; Vx ,Vy ,w —
спрогнозированные значения при помощи основных нейронных сетей ОГС^ взятые с предыдущей
F* *
^ , , * ю — значения параметров, полученные на основе измерений.
Вне зависимости от конфигурации, каждый из входных векторов nXx, nX , пХю содержит измеренные значения параметров |pq1(ti)\._0_п ,'~\pqNq (ti , характеризующих силовые воздействия на судно.
Далее рассмотрим наиболее интересные для практики варианты конфигурации модели счисления, отличающиеся правилами формирования входных векторов nXx, пХ , пХю.
1. При векторе K = (0 2 0) выполняется обычное счисление. Начальные значения кинематических параметров определяются следующим образом:
\у* (T = 0), Vy (T = 0), ш(Т = 0), если T / т = 1; Vx (0), Vy (0), w(0) = ] x* y *
x y [Vx (0), Vnum (0), w* (0), если T / т > 1,
где T — общее время плавания.
2 О 2
Здесь и в дальнейшем предполагается, что угловая скорость поворота ю определяется численным дифференцированием курса судна, поэтому ю(0) = ю(Т = 0), если Т /т = 1, а не ю(0) = ю*(Т = 0).
Последовательности )}|=Кп и (<<()} ,=1п заполняются измеренными значениями соответствующих величин, т. е. (Ух($1)}|=Кп = )}|=Кп и (<с(^)},=1п = (<(*.)}|=Кп. Последовательность (V Ц))}=1¥п_1 = (Гпеиго(^.)}|=Кп_г Естественно, что векторы пХх, пХ< не формируются.
В качестве значения V (т) на первой итерации используется спрогнозированное вспомогательной нейронной сетью ВГС^ значение К(т). При этом ¡у + 1 должно быть не более общего количества имеющихся предыдущих значений скорости: Vy (Т = 0), vyeum(T = 1At), vyeum(T = 2At), ... , Vyleuro(tn_1). Для последующих итераций в качестве Vy (т) берется значение, спрогнозированное основной сетью ОГСу на предыдущей итерации, т. е. Купеиго(т).
2. При векторе К = (1 2 0) начальные значения кинематических параметров определяются следующим образом:
[Ух (Т = 0), Уу (Т = 0), ю(Т = 0), если Т / т = 1; Ух(0)У(0),ю(0) = [ х у *
у [Ухтшо (0), Уупшго (0), ю* (0), если Т / т > 1.
Последовательность (ю(7. )}|=1^ заполняется измеренными значениями угловой скорости, т. е. (Щ)}.=1+п = (ю*('|)}.=1+п. Последовательность (^)}^ = (Г^,)}^ и (^»„^ = (Г^,)} Вектор пХ< не формируется.
Для сети ОГС^ конечная продольная скорость Vx(tn = т). На первой итерации используется значение V (т), спрогнозированное вспомогательной сетью ВГСХх. При этом ¡х + 1 должно быть не более общего количества имеющихся предыдущих значений скорости: Vx(T = 0), vnemo(T = 1At), Vnmro(T = 2At), ... , Vxneuro(tn_1). Для последующих итераций в качестве Vx(т) берется спрогнозированное ОГСП значение скорости с предыдущей итерации, т. е. Vxneuro(т).
Конечная поперечная скорость Vy(tn = т). На первой итерации используется значение V (т), спрогнозированное вспомогательной сетью ВГСу Условие для I должно быть выполнено по аналогии с принципом, описанным ранее. Для последующих итераций в качестве Vy(т) берется значение, спрогнозированное основной сетью ОГС" на предыдущей итерации Упеито(т).
Для сети ОГСу конечная продольная скорость Vx(tn = т). Используется значение Vxeuro(т), спрогнозированное ОГСхп для текущей итерации.
Конечная поперечная скорость Vy(tn = т). На первой итерации используется значение V (т), спрогнозированное вспомогательной сетью ВГСуУ Для последующих итераций в качестве Vy(т) берется значение, спрогнозированное основной сетью ОГСу на предыдущей итерации Vyleuro(т).
3. При К = (2 1 0) начальные значения кинематических параметров определяются следующим образом:
\ух (Т = 0), Уу (Т = 0), ю(Т = 0), если Т / т = 1; Ух (0),Уу (0), ю(0) = \ У *
£ У {Ухтшо (0), Уупеиго (0), ю* (0), если Т / т > 1.
Последовательность (ю(^)}.=1п заполняется измеренными значениями угловой скорости, т. е. («#, )},.=1+п = )},=1+п. Последовател"ьность (уx(tl »„^ = (К™«, )},=,_, и (уy(t¡ »„^ = (Г1^ )}МчМ. Вектор пХ< не формируется.
Для сети ОГС конечная продольная скорость Vx(tn = т). На первой итерации используется значение Vx (т), спрогнозированное вспомогательной сетью ВГСхх. Для последующих итераций в качестве Уx(т) берется значение, спрогнозированное основной сетью ОГС^ на предыдущей итерации Vxneuro(т).
Конечная поперечная скорость Vy(tn = т). На первой итерации используется значение Уy (т), спрогнозированное вспомогательной сетью ВГСуУ Для последующих итераций в качестве Vy(т) берется спрогнозированное ОГС" значение, спрогнозированное ОГС с предыдущей итерации, т. е.
тт-иеиго/ ч
V. (т).
со
см о
Для сети ОГС" конечная продольная скорость Vx(tn = т). На первой итерации используется значение V(т), спрогнозированное вспомогательной сетью ВГСХ Для последующих итераций в качестве Г(т) берется значение, спрогнозированное основной сетью ОГС" на предыдущей итерации
Гхпеиго(т). Х
Конечная поперечная скорость Уу =т). Используется значение ууешо (х), спрогнозированное ОГС п для текущей итерации.
4. При К = (0 2 3) начальные значения кинематических параметров определяются следующим образом:
I V* (T = 0), Vv (T = 0), ш(Т = 0), если T / т = 1; V* (0), Vy (0), ш(0) = 1 * y
y I Vx (0), Vneuro (0), wneuro (0), если T / т > 1.
Последовательность {Ух(1,)},=1п заполняется измеренными значениями продольной скорости, т. е. [VII)},=1+л = )}последовательность {КД.)},=,_„_, = [У™«,)},=,„_, и {«*,,= = {юпеиго(^,)},=1^_г Вектор пХх не формируется.
Для сети ОГС" конечная поперечная скорость Vy=т). На первой итерации используется значение ^(т), спрогнозированное вспомогательной сетью ВГС^. Для последующих итераций в качестве Уу (х) берется значение, спрогнозированное основной сетью ОГС п на предыдущей итерации, т. е. У;ешо( х).
Конечная угловая скорость = т). На первой итерации используется значение ю(т), спрогнозированное вспомогательной сетью ВГС^. Для последующих итераций в качестве ю(т) берется значение, спрогнозированное основной сетью ОГС^ на предыдущей итерации, т. е. юпеиго(х).
Для сети ОГС^ конечная поперечная скорость Уу = х). Берется значение, получаемое на выходе ОГС" на текущей итерации, т. е. Ууеию(х).
Конечная угловая скорость = х). На первой итерации используется значение ю(т), спрогнозированное вспомогательной сетью ВГС^. Для последующих итераций в качестве ю(т) берется значение, спрогнозированное основной сетью ОГС^ на предыдущей итерации, т. е. юпшго(х).
5. При К = (0 3 2) начальные значения кинематических параметров определяются следующим образом:
V (0)V (0), ю(0) =
V* (T = 0), Vy (T = 0), ю(Т = 0), если T / х = 1;
I V* (0), Vvneuro (0), ®neuro (0), если T / х > 1.
Последовательность \УХ (t i)}i=l^n заполняется измеренными значениями продольной скорости, т.е. {VС,)}ы+п ={V;(t,. Последовательность {(t,= ^ и {со(/,=
= {coneuro (ti)} . Вектор n Xx не формируется.
Для сети ОГС^ конечная поперечная скорость Vy (tn = х). На первой итерации используется значение F(x), спрогнозированное вспомогательной сетью ВГС /y. Для последующих итераций в качестве Vy (t) берется значение, спрогнозированное основной сетью ОГС п на предыдущей ите-
-frneuro
рации, т. е. Vy (t).
Конечная угловая скорость &(tn = х). На первой итерации используется значение ю(х), спрогнозированное вспомогательной сетью ВГС^. Для последующих итераций в качестве ю(х) берется значение, спрогнозированное основной сетью ОГС^ на предыдущей итерации, т. е. wneuro (х).
Для сети ОГС п конечная поперечная скорость Vy (tn = х). На первой итерации используется значение V^(x), спрогнозированное вспомогательной сетью ВГСУ Для последующих итераций в качестве Vy (t) берется значение, спрогнозированное основной сетью ОГС п на предыдущей итерации, т. е. Vneuro (t).
2 О 2
_Oi
Г5з1
ЛВЕСТНИК
............ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
Х^ОРСКОГО И РЕЧНОГО ФЛОТА ИМЕНИ АДМИРАЛА С. О. МАКАРОВА
ЕЁ сч
см о
032J
Конечная угловая скорость w(tn = т). Берется значение, получаемое на выходе ОГС^, на текущей итерации, т. е. wneuro(x).
6. При K = (1 2 3) начальные значения кинематических параметров определяются следующим образом:
{Vx (T = 0), Vy (T = 0), w(T = 0), если T / т = 1;
Vx (0), Vy (0), ш(0) = { x y
y |Vxneuro (0), v;eur0 (0), wneuro (0), если T / т > 1.
Последовательности {Vx($t= {F;euro(t {Vy<$$ ^ = {F;uro(t, и =
= {юпеиго(^.)}.=1^п_1.
Для сети ОГС^ конечная продольная скорость Vx (tn = т). На первой итерации используется значение F(x), спрогнозированное вспомогательной сетью ВГСХХ. Для последующих итераций в качестве Vx (t) берется значение, спрогнозированное основной сетью ОГСП на предыдущей итерации, т. е. Vxneuro (t).
Конечная поперечная скорость Vy (tn = т). На первой итерации используется значение V(т), спрогнозированное вспомогательной сетью ВГСУ Для последующих итераций в качестве Vy (t) берется значение, спрогнозированное основной сетью ОГС" на предыдущей итерации, т. е. Vyeuw( t).
Конечная угловая скорость a(tn = т). На первой итерации используется значение ю(т), спрогнозированное вспомогательной сетью ВГС^. Для последующих итераций в качестве ю(т) берется значение, спрогнозированное основной сетью ОГС^ на предыдущей итерации, т. е. wneuro(x).
Для сети ОГС" конечная продольная скорость Vx(tn = т) = Vxneuro (т), т. е. берется непосредственно с выхода ОГС на текущей итерации. Конечная поперечная скорость Vy (tn = т). На первой итерации используется значение V^(t), спрогнозированное вспомогательной сетью ВГС^. Для последующих итераций в качестве Vy(t) берется значение, спрогнозированное основной сетью ОГС" на предыдущей итерации, т. е. ууешо( t).
Конечная угловая скорость a>(tn = т). На первой итерации используется значение ю(т), спрогнозированное вспомогательной сетью ВГС^°. Для последующих итераций в качестве ю(т) берется значение, спрогнозированное основной сетью ОГС^ на предыдущей итерации, т. е. wneuro(x).
Для сети ОГС^ конечная продольная скорость Vx (tn = т) = Vxneuro (т), т. е. берется непосредственно с выхода ОГСП на текущей итерации. Конечная поперечная скорость V (tn = т) = Vneuro(x), т. е. берется значение, получаемое на выходе ОГС" на текущей итерации.
Конечная угловая скорость w(tn = х). На первой итерации используется значение ю(т), спрогнозированное вспомогательной сетью ВГС^Ю. Для последующих итераций в качестве ю(х) берется значение, спрогнозированное основной сетью ОГС^ на предыдущей итерации, т. е. wneuro(x).
Оставшиеся пять вариантов вектора конфигурации K могут быть рассмотрены по аналогии с вариантами, рассмотренными ранее, и для сокращения записей не приводятся.
Результаты (Results)
Теперь можно определить параметры архитектуры нейросетевой модели счисления пути судна в виде следующего списка:
1. Вектор конфигурации K.
2. Итерационные ограничения sх,£ ,£ю (при наличии).
3. Число шагов модели n и длительность временного интервала т.
4. Матрицы архитектуры АОГС,-, АОГС,, АОГС, (или сокращенные их версии АОГС,, АОГС,, АОГС, + характеристики функций активации) основных глубоких сетей (, = 1 ^ n).
5. Матрицы архитектуры АВГС/х, А /y, АВГС/ю (или сокращенные их версии АВГС/х, АВГС/у, АВГС /ю + характеристики функций активации) вспомогательных глубоких сетей.
6. Количества интервалов, используемых для построения прогноза вспомогательными сетями, lx, /, (количества соответствующих точек, уменьшенные на единицу).
7. Наб°рЫ параметров Pxl, Px2, ... , Р;1, ... , ^ ... , характеризующих управ-
ляющие и возмущающие воздействия в соответствии с выражением (1). Алгоритм работы нейросетевой модели счисления:
1. Задаются параметры архитектуры модели.
2. Начинается определение кинематических параметров Ух, V, ю (в зависимости от вектора конфигурации К) на конец промежутка времени [0; т]:
2.1. Прогноз значения на конец отрезка [¿0 = 0;
2.2. Прогноз значения на конец отрезка ¿2].
2. п. Прогноз значения на конец отрезка [tn1; tn = т].
При выполнении указанных операций, описываемых п. 2.1-2.п, формируются соответствующие входные векторы nXx, пХ, nXœ в зависимости от вектора конфигурации K (с. 426), работают задействованные основные ОГСп и вспомогательные ВГС ^ глубокие нейронные сети. При этом контролируется, чтобы ¡^ > 1, если данных недостаточно для выполнения прогноза с использованием установленного числа промежутков ¡х, l , ¡œ. В ходе каждой операции, описанной в пп. 2.1-2.п , реализуется в общем случае циклическая процедура, критерием выхода из которой является то, что изменение прогнозируемых величин от итерации к итерации не превосходит по модулю установленные значения s , s, s .
х' y7 œ
3. Границы промежутка [0; т] сдвигаются на элементарный шаг At вперед (по мере поступления данных на момент т + At). Затем переход к пп. 2.
Обсуждение (Discussion)
Приведенный в проведенном исследовании алгоритм предполагает реализацию в режиме реального времени. Как только поступают данные на дискретный момент, алгоритм сразу начинает свою работу. Модель содержит основные и вспомогательные глубокие нейронные сети, которые обучаются, в общем случае, различным образом. Основные сети обучаются, как правило, на основе большого объема заранее накопленных данных, хотя теоретически нельзя исключать и настройку таких сетей в реальном времени (по мере поступления образцов). Их свободные параметры определяются физическими характеристиками конкретного судна. Вспомогательные сети обучаются только в режиме реального времени на выборках прогнозируемых параметров, т. е., как правило, в последовательном режиме. Их свободные параметры определяются непосредственно лишь предыдущими значениями прогнозируемых величин. Использование таких сетей необходимо только на первых итерациях циклов.
При малой временной дискретности At система должна «успеть» выполнить вычисления до следующего момента времени, что накладывает определенные ограничения, относящиеся к быстродействию навигационной вычислительной машины. Указанные ограничения не слишком критичны, так как основные сети обучаются заранее, либо последовательно (по мере поступления данных), а вспомогательные настраиваются обычно последовательно. В значительной степени бы- 0
стродействие системы определяется выбранным вектором конфигурации К.
Алгоритм работы модели цикличен. Во-первых, цикличность заключается в том, что для вычисления интересующих параметров на конце отрезка [0; т], в общем случае, используется итерационная процедура. Во-вторых, цикличность выражается в том, что внутри любого отрезка [0; т] необходимо последовательно рассмотреть п архитектур основных сетей, при этом индекс архитектуры пробегает значения от 1 до п.
Вектор конфигурации К для режимов аварийного счисления может быть подобран опытным путем на основе тестирования системы с использованием больших объемов данных, накапливаемых по мере повседневной эксплуатации судна. Можно подобрать такие конфигурации для режимов неисправности лага, гирокомпаса и обоих датчиков одновременно. Вектор конфигурации K = (0 2 0) является единственным для режима обычного счисления. Таким образом, из одиннадцати возможных векторов конфигурации остаются четыре оптимальные.
N
^ВЕСТНИК
ш-Г-............ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
VjWOPCKOrO И РЕЧНОГО ФЛОТА ИМЕНИ АДМИРАЛА С. О. МАКАРОВА
Заключение (Conclusion)
В результате настоящего исследования разработана обобщенная нейросетевая модель счисления пути судна. При этом счисление понимается в широком смысле: традиционное и аварийное (когда неисправен один или более навигационных датчиков). В последнем случае нейросетевая модель фактически имитирует движение судна в горизонтальной плоскости, точнее динамику такого движения в условиях взаимодействия с окружающей средой. Модель прогнозирует продольную и поперечную составляющие линейной скорости судна, а также составляющую угловой скорости вокруг вертикальной (к плоскости горизонта) оси. Основу обобщенной модели составляют глубокие нейронные сети, которые выполняют задачи аппроксимации (приближения) функций многих переменных, возникающие, как показано, в процессе выработки счислимых координат места судна. Глубокие сети представляют собой каскадные соединения обычных («мелких») двухслойных нейронных сетей прямого распространения, обладающих свойствами универсальной аппроксимации. Сформирован список параметров обобщенной модели счисления пути судна на основе нейронных сетей. Предложен алгоритм работы синтезированной модели счисления, реализация которого возможна в судовой навигационной аппаратуре.
Разработанная модель имеет достаточно сложную архитектуру с большим числом параметров, определяющих ее конечную точность. Следует отметить, что определение оптимального набора указанных параметров модели — задача сложная, требующая дополнительных исследований. Проблема выбора параметров усугубляется тем, что оптимальные их значения зависят в общем случае от условий плавания конкретного судна и его физических характеристик. В связи с этим получение теоретического решения в общем виде (для всех судов и условий плавания) является затруднительным.
Предлагаемая обобщенная нейросетевая модель счисления и алгоритм ее работы представляют собой всего лишь начальный этап общего пути построения работоспособной нейросетевой системы счисления. Следующими этапами являются процесс подготовки набора учебных данных (образцов), непосредственная настройка (обучение) системы и, наконец, ее тестирование на основе реальных данных, полученных в процессе повседневной эксплуатации судна. Разработка методов реализации указанных этапов и представляет собой задачу дальнейших исследований.
СПИСОК ЛИТЕРАТУРЫ
1. Дерябин В. В. Модель счисления пути судна в условиях воздействия внешних факторов / В. В. Дерябин // Эксплуатация морского транспорта. — 2011. — № 1 (63). — C. 33-39.
2. Дмитриев С. П. Задачи навигации и управления при стабилизации судна на траектории: научное издание / С. П. Дмитриев, А. Е. Пелевин. — СПб.: ЦНИИ «Электроприбор», 2002. — 160 с.
3. Юдин Ю. И. Идентификация математической модели контейнеровоза проекта Arctic Container Ship ACS 650 для различных этапов швартовки / Ю. И. Юдин, С. В. Пашенцев, Б. В. Дабижа, С. О. Петров // Эксплуатация морского транспорта. — 2019. — № 3 (92). — С. 89-107. DOI: 10.34046/aumsuomt92/15.
4. Дерябин В. В. Использование нейронных сетей для стабилизации судна на траектории / В. В. Дерябин // Вестник Государственного университета морского и речного флота имени адмирала С. О. Макарова. — 2018. — Т. 10. — № 4. — С. 665-678. DOI: 10.21821/2309-5180-2018-10-4-665-678.
5. Haykin S. Neural Networks and Learning Machines / S. Haykin. — Third Edition. — New Jersey: Pearson, 2009. — 936 p.
6. Liu Z. Neural network as a function approximator and its application in solving differential equations / Z. Liu, Y. Yang, Q. Cai // Applied Mathematics and Mechanics. — 2019. — Vol. 40. — Is. 2. — Pp. 237-248. DOI: 10.1007/s10483-019-2429-8.
7. Дерябин В. В. Обзор исследований, посвященных использованию нейросетевых технологий в судовождении / В. В. Дерябин // Вестник государственного университета морского и речного флота имени адмирала С. О. Макарова. — 2015. — № 6 (34). — С. 29-43. DOI: 10.21821/2309-5180-2015-7-6-29-43.
8. Подпорин С. А. Использование нейро-нечетких контроллеров в системах управления движением морских судов / С. А. Подпорин // Збiрник наукових праць Хармвського ушверситету Повггряних Сил. — 2012. — № 4 (33). — С. 181-187.
ВЕСТНИК«!
ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА ^^
МОРСКОГО И РЕЧНОГО ФЛОТА ИМЕНИ АДМИРАЛА С. О. МАКАРОВА
9. Kula K. S. Model-based controller for ship track-keeping using neural network / K. S. Kula // 2015 IEEE 2nd International Conference on Cybernetics (CYBCONF). — IEEE, 2015. — Pp. 178-183. DOI: 10.1109/CYB-Conf.2015.7175928.
10. HornikK. Some new results on neural network approximation / K. Hornik // Neural Networks. — 1993. — Vol. 6. — Is. 8. — Pp. 1069-1072. DOI: 10.1016/S0893-6080(09)80018-X.
1. Deryabin, V. V. "Vessel's dead reckoning model under external factors conditions." Ekspluatatsiya mor-skogo transporta 1(63) (2011): 33-39.
2. Dmitriev, S. P., and Pelevin A. E. Zadachi navigatsii i upravleniya pri stabilizatsii sudna na traektorii. SPb.: Elektropribor, 2002.
3. Yudin, Yu. I., S. V. Pashentsev, B. V. Dabizha, and S. O. Petrov. "Arctic Container Ship ACS 650 mathematical model identification for various stages of mooring." Ekspluatatsiya morskogo transporta 3(92) (2019): 89-107. DOI: 10.34046/aumsuomt92/15.
4. Deryabin, Victor V. "Neural networks implementation for a vessel track control." Vestnik Gosudarstvenno-go universiteta morskogo i rechnogoflota imeni admirala S. O. Makarova 10.4 (2018): 665-678. DOI: 10.21821/23095180-2018-10-4-665-678.
5. Haykin, Simon. Neural Networks and Learning Machines. Third Edition. New Jersey: Pearson, 2009.
6. Liu, Zeyu, Yantao Yang, and Qingdong Cai. "Neural network as a function approximator and its application in solving differential equations." Applied Mathematics and Mechanics 40.2 (2019): 237-248. DOI: 10.1007/ s10483-019-2429-8.
7. Deryabin, V. V. "Review of researches of neural network technologies implementation in navigation." Vestnik Gosudarstvennogo universiteta morskogo i rechnogo flota imeni admirala S. O. Makarova 6(34) (2015): 29-43. DOI: 10.21821/2309-5180-2015-7-6-29-43.
8. Podporin, S.A. "Ispolzovanie neyro-nechetkih kontrollerov v sistemah upravlenia dvizheniem morskih sudov." Sbornik naukovyh prac Harkivskogo universitety Povitryannyh Sil 4(33) (2012): 181-187.
9. Kula, Krzysztof S. "Model-based controller for ship track-keeping using Neural Network." 2015 IEEE 2nd International Conference on Cybernetics (CYBCONF). IEEE, 2015. 178-183. DOI: 10.1109/CYBConf.2015.7175928.
10. Hornik, Kurt. "Some new results on neural network approximation." Neural Networks 6.8 (1993): 10691072. DOI: 10.1016/S0893-6080(09)80018-X.
REFERENCES
ИНФОРМАЦИЯ ОБ АВТОРЕ
INFORMATION ABOUT THE AUTHOR
Дерябин Виктор Владимирович —
кандидат технических наук, доцент ФГБОУ ВО «ГУМРФ имени адмирала С. О. Макарова»
198035, Российская Федерация, Санкт-Петербург, ул. Двинская, 5/7
e-mail: [email protected], kaf [email protected]
Deryabin, Vktor V. —
PhD, associate professor.
Admiral Makarov State University of Maritime
and Inland Shipping
5/7 Dvinskaya Str., St. Petersburg 198035, Russian Federation
e-mail: [email protected], [email protected]
Статья поступила в редакцию 8 декабря 2019 г.
Received: December 8, 2019.
2