Предложен метод определения долготы места судна по рельефу дна с использованием нейронной сети, в качестве входного сигнала которой выступает вектор, содержащий значения глубины, измеренные с определенным пространственным шагом при помощи эхолота. Выходом сети служит значение долготы, соответствующее месту последнего измерения глубины. Сеть имеет несколько скрытых слоев, количество которых варьируется от одного до десяти. Скрытые нейроны обладают функциями активации в виде гиперболического тангенса. Единственный нейрон выходного слоя имеет линейную функцию активации. Определены алгоритмы формирования набора учебных данных, настройки и тестирования нейронной сети, формирующие технологию создания нейросетевой системы прогноза долготы места судна по глубинам и реализованные на языке программирования Python. Для работы с нейронными сетями используется библиотека TensorFlow. В качестве источника данных о глубинах выбирается официальная электронная навигационная карта. На основе извлеченного из нее слоя глубин формируется регулярная сетка, значения в узлах которой определяются линейной интерполяцией. Процедура формирования набора учебных и тестовых данных предполагает псевдослучайные изменения уровня моря, которые могут быть вызваны как реальными колебаниями, так и погрешностями измерений. На тестовой выборке сеть показывает приемлемую для навигации точность, причем результаты зависят от количества скрытых слоев. Лучшая точность в виде наибольшего значения модуля ошибки прогноза долготы достигается для сети с наибольшим количеством скрытых слоев. Отмечается также необходимость тестирования разработанной нейросетевой системы на основе моделирования движения судна.
Предложен метод определения места судна по глубинам на основе нейронной сети, которая принимает на вход последовательность глубин, измеренных при помощи эхолота, а прогнозирует широту и долготу судна на момент измерения последней глубины. Нейронная сеть имеет архитектуру сети прямого распространения с несколькими скрытыми слоями и полными связями, удовлетворяющую условиям универсальной аппроксимации в соответствии с теоремой Стоуна - Вейерштрасса. Для обучения используется алгоритм Adamax при условии контроля наибольшего значения модуля невязки на каждой итерации. Моделирование выполнялось с использованием языка программирования Python и библиотеки Tensorflow. Модельная поверхность рельефа дна была представлена в виде многочлена второго порядка. Образцы получены на основе виртуальных измерений глубин в узлах координатной сетки с пространственным разрешением не хуже, чем один кабельтов. После сбора образцов выполнялось обучение нейронной сети, в ходе которого не использовалась контрольная выборка. В обучении участвовало несколько нейронных сетей, отличающихся количеством скрытых слоев, а также количеством нейронов в них. После обучения было проведено тестирование, которое предполагало движение судна вдоль меридианов, в точности не совпадающих с используемыми для формирования обучающей выборки. При этом наряду с вариантом средних по долготе меридианов рассмотрен вариант выбора меридианов с использованием датчика случайных чисел равномерного распределения. В результате тестирования все рассмотренные сети показали примерно одинаковую приемлемую навигационную точность, близкую к точности, полученной на обучающей выборке.
Предложен метод определения широты места судна по глубине на основе нейронной сети, которая принимает на вход последовательность глубин, измеренных при помощи однолучевого эхолота и прогнозирует широту на момент измерения последней глубины. Сеть имеет два слоя. Первый слой содержит нейроны с функциями активации в виде гиперболического тангенса, второй состоит из одного нейрона, обладающего тождественной функцией активации. Набор учебных данных состоит из обучающей и контрольной выборок. Обучающая выборка формируется на основе слоя глубин, содержащегося в электронной навигационной карте. Контрольная выборка формируется путем псевдослучайных вариаций входных образцов из обучающей выборки. Каждая такая вариация соответствует постоянному изменению уровня моря вследствие ошибок измерений и/или колебаний ветрового и/или приливоотливного характера. Обучается сеть методом Adamax. Критерием эффективности обучения служит наибольшее значение модуля ошибки прогноза широты, определенное для образцов из контрольной выборки. После обучения сеть проходит тестирование на образцах, полученных аналогичным образом, как для контрольной выборки. Моделирование выполнено с использованием языка программирования Python. Для обучения и реализации работы нейронной сети используется библиотека TensorFlow. Моделирование выполнено для нескольких вариантов архитектуры сети, каждый из которых отличается количеством нейронов в скрытом слое. В результате было зафиксировано, что нейронные сети имеют тенденцию к обучению их прогнозированию широты места судна по последовательности глубин, что позволяет рассматривать их в качестве перспективного инструмента для решения задач батиметрической навигации.