Коррекция с помощью нейронных сетей ошибки измерений кориолисового расходомера в двухфазной среде
|
АННОТАЦИЯ 2
Введение 5
1 Обзор литературы 8
1.1 Основные типы расходомеров 8
1.2 Принцип действия кориолисового расходомера 13
1.3 Основные типы кориолисовых расходомеров 18
1.4 Потеря точности при появлении второй фазы 21
1.5 Применение нейронных сетей для коррекции ошибки измерений 24
1.6 Выводы по главе 27
2 Описание экспериментальной установки и метода матричных пучков 28
2.1 Общее описание установки 28
2.2 Техническое описание установки 30
2.3 Описание метода матричных пучков 33
2.3.1 Метод матричных пучков 33
2.3.2 Метод матричных пучков для векторных процессов 37
2.4 Выводы по главе 39
3 Обучение нейронных сетей в Matlab 41
3.1 Предобработка экспериментальных данных 41
3.2 Уравнение расхода с учетом линейной модели 48
3.3 Уравнение плотности 50
3.4 Подготовка данных обучающей выборки 51
3.5 Построение и обучение нейронных сетей 56
3.6 Выводы по главе 63
4 Обучение нейронных сетей в Keras 64
4.1 Предобработка нового набора экспериментальных данных 64
4.2 Оценка качества работы сети при малом объеме выборки 68
4.3 Функция потерь и современные средства регуляризации сети 70
4.4 Функции активации в нейронной сети 72
4.4.1 Линейная функция активации (linear) 72
4.4.2 Сигмоидальная функция активации 73
4.4.3 Функция активации ReLU 74
4.5 Определение оптимальной архитектуры сети 76
4.6 Эксперименты с двойной сетью 80
4.7 Выводы по главе 82
5 Заключение 83
Библиографический список 84
Приложение 1 90
Приложение 2 93
Приложение 3 95
Приложение 4 96
Приложение 5 97
Приложение 6 98
Приложение 7 101
Приложение 8 102
Приложение 9 103
Приложение 10 104
Приложение 11 105
Приложение 12 106
Приложение 13 109
Приложение 14 113
Приложение 15 117
Введение 5
1 Обзор литературы 8
1.1 Основные типы расходомеров 8
1.2 Принцип действия кориолисового расходомера 13
1.3 Основные типы кориолисовых расходомеров 18
1.4 Потеря точности при появлении второй фазы 21
1.5 Применение нейронных сетей для коррекции ошибки измерений 24
1.6 Выводы по главе 27
2 Описание экспериментальной установки и метода матричных пучков 28
2.1 Общее описание установки 28
2.2 Техническое описание установки 30
2.3 Описание метода матричных пучков 33
2.3.1 Метод матричных пучков 33
2.3.2 Метод матричных пучков для векторных процессов 37
2.4 Выводы по главе 39
3 Обучение нейронных сетей в Matlab 41
3.1 Предобработка экспериментальных данных 41
3.2 Уравнение расхода с учетом линейной модели 48
3.3 Уравнение плотности 50
3.4 Подготовка данных обучающей выборки 51
3.5 Построение и обучение нейронных сетей 56
3.6 Выводы по главе 63
4 Обучение нейронных сетей в Keras 64
4.1 Предобработка нового набора экспериментальных данных 64
4.2 Оценка качества работы сети при малом объеме выборки 68
4.3 Функция потерь и современные средства регуляризации сети 70
4.4 Функции активации в нейронной сети 72
4.4.1 Линейная функция активации (linear) 72
4.4.2 Сигмоидальная функция активации 73
4.4.3 Функция активации ReLU 74
4.5 Определение оптимальной архитектуры сети 76
4.6 Эксперименты с двойной сетью 80
4.7 Выводы по главе 82
5 Заключение 83
Библиографический список 84
Приложение 1 90
Приложение 2 93
Приложение 3 95
Приложение 4 96
Приложение 5 97
Приложение 6 98
Приложение 7 101
Приложение 8 102
Приложение 9 103
Приложение 10 104
Приложение 11 105
Приложение 12 106
Приложение 13 109
Приложение 14 113
Приложение 15 117
В последнее время все возрастающие требования к качеству измерения расхода вызывают необходимость замены ряда устаревших измерителей расхода на более современные. Они должны соответствовать ряду качественных критериев: измерение массового расхода, измерение плотности, измерение температуры, наличие компьютерного интерфейса, удобство монтажа и эксплуатации. Широкое распространение в нефтегазовой промышленности получили кориолисовы расходомеры, которые являются достаточно дешевыми и надежными измерителями, имеют высокую точность измерений, могут учитывать множество факторов и измерять расход жидкостей разной плотности.
В нефтегазовой промышленности кориолисов расходомер измеряет расход и плотность потока нефти, поднимающегося из скважины и проходящего через него. Помимо нефти в смеси присутствуют вода, газ и другие вещества. Кориолисовы расходомеры позволяют довольно точно измерить количество вещества при однофазном потоке, при наличии же такой многофазной среды их точность измерений сильно падает. Одним из способов коррекции ошибок измерений кориолисового расходомера в многофазной среде являются нейронные сети [1-3].
Данная работа посвящена актуальной проблеме корректировки ошибок измерений кориолисового расходомера в многофазной среде. Задачей работы является разработка нейронной сети, позволяющей корректировать ошибки измерения расхода и плотности жидкости в двухфазной среде. Для обучения нейронных сетей в работе используются как данные серии экспериментов, снятых с установки в лаборатории Оксфорда (в главе 3), так и данные, полученные в лаборатории ЮУрГУ, их обработке посвящена глава 4. В обоих случаях данные были сняты для кориолисового расходомера Челябинского изготовителя Элметро.
С правой и левой катушек данного расходомера были записаны сигналы при различном уровне воздуха в проходящей через него жидкости. Частота и время задержки сигналов позволяют оценить расход и плотность этой жидкости. Поскольку реальный расход жидкости и процент присутствующего в ней воздуха нам также известен, мы можем скорректировать полученные значения, т.е. использовать обучение с учителем при разработке нейронной сети.
Для определения времени задержки и частоты колебаний по данным экспериментальным сигналам мы в этой работе используем один из параметрических методов обработки сигналов - метод матричных пучков. Отметим, что сама идея корректировки ошибок измерений расходомера с помощью нейронных сетей не нова, но использование метода матричных пучков в этой задаче является абсолютно новым и впервые предложено в настоящей работе.
Для создания модели нейронной сети в данной работе использовался как пакет Neural Network Toolbox в Matlab (в главе 3), так и пакет Keras с фреймворком TensorFlow языка программирования Python (в главе 4). Это вызвано нашим желанием попробовать и выбрать наиболее удобную среду разработки. Основные эксперименты проводились все же в Keras с большим набором данных, полученных в лаборатории ЮУрГУ, т.к. набор данных Оксфорда содержал всего 33 сигнала, что, разумеется, очень мало для качественного обучения нейронной сети.
При проектировании нейронных сетей использовались такие современные разработки в этой области, как метод регуляризации дропаут, оптимизатор Adam, функции активации ReLU, SeLU и т.д. Оценка производительности полученных моделей проводилась с помощью метода К-кроссвалидации, наиболее подходящего для этой цели в условиях малого объема обучающей выборки.
Работа устроена следующим образом. Вначале мы приводим обзор литературы, описываем принцип действия и типы кориолисовых расходомеров, и проблему потери точности при появлении второй фазы. Во второй главе содержится описание экспериментальной установки, на которой происходил сбор данных, и метода матричных пучков для определения параметров полученных в эксперименте сигналов. Вся дальнейшая часть работы содержит личные результаты автора.
В главе 3 мы описываем как с помощью метода матричных пучков можно по отсчетам сигналов с катушек расходомера найти их частоту и разность фаз и приводим соответствующий код программы. Затем мы описываем процедуры преобразования найденных значений в значения расхода и плотности жидкости, проходящей через расходомер. Эти данные далее используются для построения нейронной сети, корректирующей ошибку измерений кориолисового расходомера. В главе 3 этот этап выполняется в среде Matlab.
В главе 4 мы предварительно обрабатываем больший набор данных, полученных в лаборатории ЮУрГУ. Для построения нейронных сетей используются самые современные методы, также описанные в этой главе, и библиотека Keras. Приведено описание метода К-кроссвалидации, использующегося для оценки точности работы нейронных сетей. Проведено большое количество экспериментов с различными архитектурами сетей и выбраны оптимальные, корректирующие ошибку измерений расходомера с точностью до 1%.
Результаты работы апробированы на 72-й студенческой научной конференции и 71-й научной конференции профессорско-преподавательского состава ЮУрГУ. Принята к печати статья в сборник трудов "Наука ЮУрГУ": материалы 71 научной конференции. Работа заняла первое место в конкурсе грантов предприятия "Метран".
В нефтегазовой промышленности кориолисов расходомер измеряет расход и плотность потока нефти, поднимающегося из скважины и проходящего через него. Помимо нефти в смеси присутствуют вода, газ и другие вещества. Кориолисовы расходомеры позволяют довольно точно измерить количество вещества при однофазном потоке, при наличии же такой многофазной среды их точность измерений сильно падает. Одним из способов коррекции ошибок измерений кориолисового расходомера в многофазной среде являются нейронные сети [1-3].
Данная работа посвящена актуальной проблеме корректировки ошибок измерений кориолисового расходомера в многофазной среде. Задачей работы является разработка нейронной сети, позволяющей корректировать ошибки измерения расхода и плотности жидкости в двухфазной среде. Для обучения нейронных сетей в работе используются как данные серии экспериментов, снятых с установки в лаборатории Оксфорда (в главе 3), так и данные, полученные в лаборатории ЮУрГУ, их обработке посвящена глава 4. В обоих случаях данные были сняты для кориолисового расходомера Челябинского изготовителя Элметро.
С правой и левой катушек данного расходомера были записаны сигналы при различном уровне воздуха в проходящей через него жидкости. Частота и время задержки сигналов позволяют оценить расход и плотность этой жидкости. Поскольку реальный расход жидкости и процент присутствующего в ней воздуха нам также известен, мы можем скорректировать полученные значения, т.е. использовать обучение с учителем при разработке нейронной сети.
Для определения времени задержки и частоты колебаний по данным экспериментальным сигналам мы в этой работе используем один из параметрических методов обработки сигналов - метод матричных пучков. Отметим, что сама идея корректировки ошибок измерений расходомера с помощью нейронных сетей не нова, но использование метода матричных пучков в этой задаче является абсолютно новым и впервые предложено в настоящей работе.
Для создания модели нейронной сети в данной работе использовался как пакет Neural Network Toolbox в Matlab (в главе 3), так и пакет Keras с фреймворком TensorFlow языка программирования Python (в главе 4). Это вызвано нашим желанием попробовать и выбрать наиболее удобную среду разработки. Основные эксперименты проводились все же в Keras с большим набором данных, полученных в лаборатории ЮУрГУ, т.к. набор данных Оксфорда содержал всего 33 сигнала, что, разумеется, очень мало для качественного обучения нейронной сети.
При проектировании нейронных сетей использовались такие современные разработки в этой области, как метод регуляризации дропаут, оптимизатор Adam, функции активации ReLU, SeLU и т.д. Оценка производительности полученных моделей проводилась с помощью метода К-кроссвалидации, наиболее подходящего для этой цели в условиях малого объема обучающей выборки.
Работа устроена следующим образом. Вначале мы приводим обзор литературы, описываем принцип действия и типы кориолисовых расходомеров, и проблему потери точности при появлении второй фазы. Во второй главе содержится описание экспериментальной установки, на которой происходил сбор данных, и метода матричных пучков для определения параметров полученных в эксперименте сигналов. Вся дальнейшая часть работы содержит личные результаты автора.
В главе 3 мы описываем как с помощью метода матричных пучков можно по отсчетам сигналов с катушек расходомера найти их частоту и разность фаз и приводим соответствующий код программы. Затем мы описываем процедуры преобразования найденных значений в значения расхода и плотности жидкости, проходящей через расходомер. Эти данные далее используются для построения нейронной сети, корректирующей ошибку измерений кориолисового расходомера. В главе 3 этот этап выполняется в среде Matlab.
В главе 4 мы предварительно обрабатываем больший набор данных, полученных в лаборатории ЮУрГУ. Для построения нейронных сетей используются самые современные методы, также описанные в этой главе, и библиотека Keras. Приведено описание метода К-кроссвалидации, использующегося для оценки точности работы нейронных сетей. Проведено большое количество экспериментов с различными архитектурами сетей и выбраны оптимальные, корректирующие ошибку измерений расходомера с точностью до 1%.
Результаты работы апробированы на 72-й студенческой научной конференции и 71-й научной конференции профессорско-преподавательского состава ЮУрГУ. Принята к печати статья в сборник трудов "Наука ЮУрГУ": материалы 71 научной конференции. Работа заняла первое место в конкурсе грантов предприятия "Метран".
В работе рассмотрена задача построения нейронной сети для коррекции ошибок измерений кориолисового расходомера в двухфазной среде. Перечислим основные результаты работы:
1. Описана проблема увеличения ошибок измерений кориолисового расходомера при его работе в двухфазной среде.
2. Дано общее описание экспериментальной установки и ее технических характеристик.
3. Проведена серия экспериментов, и обработка двух наборов
экспериментальных данных средствами Matlab и Keras.
4. Изучен и реализован метод матричных пучков для подсчета частоты и времени задержки сигналов с расходомера.
5. Изучены современные методы регуляризации, оптимизации и активации нейронных сетей.
6. Изучен метод К-кроссвалидации для оценки погрешности модели в случае малого объема обучающей выборки.
7. Построены различные архитектуры нейронных сетей и определены наилучшие для коррекции ошибок измерений расхода и плотности среды.
Результаты работы докладывались на 72-й студенческой научной конференции и 71-й научной конференции профессорско-преподавательского состава ЮУрГУ. По материалам доклада последней была подготовлена статья [80] - "Коррекция ошибок измерений расхода и плотности кориолисовым расходомером при наличии воздуха с помощью нейронных сетей". Работа отмечена грантом АО ПГ "Метран" за первое место в конкурсе грантов "Конкурс Метран" (приложение 15).
1. Описана проблема увеличения ошибок измерений кориолисового расходомера при его работе в двухфазной среде.
2. Дано общее описание экспериментальной установки и ее технических характеристик.
3. Проведена серия экспериментов, и обработка двух наборов
экспериментальных данных средствами Matlab и Keras.
4. Изучен и реализован метод матричных пучков для подсчета частоты и времени задержки сигналов с расходомера.
5. Изучены современные методы регуляризации, оптимизации и активации нейронных сетей.
6. Изучен метод К-кроссвалидации для оценки погрешности модели в случае малого объема обучающей выборки.
7. Построены различные архитектуры нейронных сетей и определены наилучшие для коррекции ошибок измерений расхода и плотности среды.
Результаты работы докладывались на 72-й студенческой научной конференции и 71-й научной конференции профессорско-преподавательского состава ЮУрГУ. По материалам доклада последней была подготовлена статья [80] - "Коррекция ошибок измерений расхода и плотности кориолисовым расходомером при наличии воздуха с помощью нейронных сетей". Работа отмечена грантом АО ПГ "Метран" за первое место в конкурсе грантов "Конкурс Метран" (приложение 15).





