Uploaded by Stepan Manhush

Мангуш С.С. геофизика (Проверка)

advertisement
ВСТУП
Актуальність теми. Сьогодні однією з найбільших проблем для геологів є
ефективне отримання корисної інформації з великих масивів геоданих. Вміння точно
описати геологію надр є критичним фактором для успішного пошуку корисних
копалин. И саме, сейсмічна інтерпретація відіграє дуже важливу роль у пошуку,
розвідці та видобутку корисних копалин, але в епоху великих масивів даних
сейсмічна інтерпретація - це водночас трудомістке завдання, яке ускладнене також
обмеженнями по часу та по коштами.
Одним із найважливіших кроків сейсмічної інтерпретації є кореляція
сейсмічних горизонтів (пікінг). Сейсмічні горизонти - це геологічно значущі поверхні,
які можна використовувати для побудови геологічних структур та моделей
стратиграфії. Однак відстеження горизонту в 3D-сейсмічних даних є трудомістким і
складним завдання і позбавлення людини від цієї виснажливої сейсмічної
інтерпретації є однією з гарячих тем останніх років в епоху використання машинного
навчання.
За останні роки, алгоритми машинного навчання стали неймовірно
ефективними в аналізі та ідентифікації частин об'єктів з масивних даних. Оскільки
сейсмічні дані можна розглядати як зображення, то завдяки використання методу
націленому на розпізнанні зображень можна корелювати сейсмічні горизонти.
Мета дослідження. Проаналізувати сучасний стан підходів, методів кореляції
сейсмічних хвиль, розробити
Проаналізувати доцільність використання алгоритмів
машинного навчання для інтерпретації сейсмічних
даних, а саме кореляції
сейсмічних горизонтів методом семантичної сегментації сейсмічного зображення.
Визначити найоптимальніший алгоритм навчання нейронної мережі враховуючи
індивідуальність початкових даних
Об’єкт
дослідження.
2D–зрізи
сейсмічного
кубу
даних
голландської
частині басейну Центрального Грабена. Головна причина вибору вказаних даних публічна доступність та оптимізованість даних для взаємодії з нейронними
мережами.
Предмет
дослідження.
Метод
семантичної
сегментації
сейсмічного
зображення для кореляції горизонтів.
Новизна обраної теми. Використання та поєднання методів кореляції
сейсмічних горизонтів та методів комп’ютерного зору. Створення власного,
індивідуального алгоритму кореляції сейсмічних горизонтів основаного на
індивідуальних параметрах сейсмічного поля регіону голландської акваторії
Північного моря.
В першому розділі роботи були описані найпопулярніші методі кореляції та їх
недоліки; описано метод заснований на принципах комп’ютерного зору з
використанням нейронних мереж, його алгоритми роботи та порівняльна
характеристика методу заснованого на використанні нейронних мереж з іншими;
В другому розділі роботи була представлена методика виконання практичного
завдання, описані дані голландської акваторії Північного моря, які використовувались
при навчанні мережі та виступали, як початкові дані для кореляції сейсмічних
горизонтів.
2
В третьому розділі представлені та проаналізовані головні метрики роботи
нейронної мережі та результати кореляції сейсмічних горизонтів
В даній роботі 38 рисунків та 1 додаток. Джерелами походження інформації є
онлайн документація, наукові статті, книги та веб-ресурси.
3
РОЗДІЛ 1. ТЕОРЕТИЧНІ ВІДОМОСТІ
Дана частина вміщує в собі огляд найпоширеніших методів кореляції (пікінг)
сейсмічних горизонтів з оглядом їх недоліків а також, нового методу кореляції, який
використовує штучні нейроні мережі для семантичної сегментації цільових
сейсмічних горизонтів. Для занурення і для більш детального ознайомлення з новим
методом кореляції, приведена базова інформація алгоритму роботи, видів різних
методів та архітектур штучних нейронних мереж, а також, принцип дії семантичної
сегментації зображення.
1.1 Основні поняття кореляції сейсмічних горизонтів та опис актуальних методів
Найважливішим етапом інтерпретації є кореляція відбитих горизонтів і
виділення тектонічних порушень. Кореляція відбитих хвиль - пікінг і простеження
синфазних коливань по площі зйомки є основою всіх подальших побудов за
сейсморозвідувальними даними.
У сейсморозвідці існує поняття «сейсмічний відбитий горизонт» - це стійка по
динаміці і площі
відбита хвиля, яка відповідає певній геологічній границі, що
встановлено шляхом ув'язки сейсморозвідувальних і свердловинних даних.
Виділяють опорні і цільові відбиті горизонти. Опорні відбиті горизонти мають
регіональне або субрегіональне поширення. Цільові відбиті горизонти зазвичай
приурочені до продуктивних пластів, для картування яких і виконується
сейсморозвідувальні роботи (Стаття з електронного ресурсу заголовок – Picking
horizons in 3D data).
Для кореляції вибирають найбільш динамічно виражені і стійкі по площі, по
амплітудно-частотним характеристикам фази, незалежно від їх полярності. Кореляція
відбитих хвиль проводиться або по їх екстремумам, або по «0 переходам» між фазами
4
Методи
кореляції
відбитих
горизонтів
поділяються
на
автоматичні,
полуавтоматичні та ручні методи.
1.1.1 Ручні методи кореляції
Ручна кореляція горизонтів (рис. 1.1) являється найвідомішим і водночас
найстаршим методом. Суть методу полягає в ручному пікірувані інтерпретатором
екстремумів синфазних коливань. Метод можна використовувати в різних
спеціалізованих програмних пакетах для обробки та інтерпретації сейсмічних даних,
такі як Petrel та Opendtect. Незважаючи на свої певні переваги метод, на даний час,
являється найменш ефективним з точку зору витрачених ресурсів та часу. (Стаття з
електронного ресурсу заголовок – Picking horizons in 3D data).
Рис. 1.1 - Приклад ручної кореляції відбитих горизонтів
5
1.1.2 Автоматичні та полуавтоматичні методи
Поточні автоматичні та напівавтоматичні алгоритми інтерпретації горизонту
основані на порівнянні подібності між найближчими сейсмічними сигналами.
Автопікування на основі опорних точок - це найпопулярніший напівавтоматичний
метод інтерпретації сейсмічного горизонту, який широко застосовується в галузі та
комерційному програмному забезпеченні. Він ґрунтується на порівнянні подібності
𝑠(𝑖, 𝑗) формула 1.1 форм хвиль між опорним сигналом 𝑥(𝑡) і сусідським сигналом (𝑡):
(1.1)
де 𝑥 (𝑡𝑖 - 𝜏) позначає сейсмічну амплітуду за індексом часу i з відставанням τ, 𝑦
(𝑡𝑗 - 𝜏) позначає синтетичну амплітуду за індексом часу j з відставанням τ, 2𝑤 - часова
довжина вікна кореляції, i і j - індекси вибірки часу. Вибраний сусідній сигнал стає
«опорним» сигналом, якщо схожість між початковим опорним сигналом та сусіднім
сигналом перевищує попередньо визначений поріг. Ми повторюємо процес
подібності, порівнюючи та змінюючи сусідній сигнал на опорний, поки сейсмічні
сигнали не перетворяться на опорні сигнали (рис. 1.2).
Рис. 1.2 - Приклад кореляції методом опорних точок
6
На рисунку 1.3 показані два тести з використанням автоматичної кореляції через
зону розломів (верх) та через зону стратиграфічної незгідності (низ). Червоні
позначення вказують істині горизонти, які проінтерпретовані вручну. Білі позначення
вказують на відмічені опорні точки, а зелені криві – це пропікірувані сейсмічні
горизонти методом опорних точок. Проаналізувавши отримані дані, можна
відзначити, що методом опорних точок можна досягти гарних результатів кореляції в
узгодженому геологічному середовищі. Однак цим методом не вдалося виявити межі
стратиграфічних
незгідностей,
позначеного
синіми
стрілками
(Стаття
з
електронного ресурсу заголовок – Picking horizons in 3D data).
Рис. 1.3 – Результати автоматичної кореляції
7
1.2 Метод кореляції сейсмічних горизонтів за допомогою глибинного навчання
Метод кореляції сейсмічного горизонту використовує сучасний метод
семантичної сегментації, який розділяє зображення на окремі групи пікселів, з метою
одночасного визначення типу об’єкта. Метод ґрунтується на використанні штучних
нейронних мереж, які дають методу значні переваги при кореляції цільових
горизонтів
в
складній
геологічній
структури,
над
поточними
методами
кореляції. Результати кореляції показують, що середня абсолютна похибка між
передбачуваними
горизонтами
та
реальними
горизонтами
менша,
ніж
значення одноразової вибірки.
1.2.1 Алгоритм роботи та структура штучної нейронної мережі
Нейронна мережа – це математична модель, а також її програмне або апаратне
втілення, побудоване за принципом організації та функціонування біологічних
нейронних мереж - мереж нервових клітин живого організму. Такі системи "вчаться"
виконувати завдання, розглядаючи приклади, як правило, не запрограмовані з
певними завданнями. Першим втіленням штучної нейронної мереже були спроби У.
Маккалок і У. Питтса .
Штучна нейронна мережа заснована на сукупності з'єднаних одиниць або
вузлів, званих штучними нейронами , які вільно моделюють нейрони в біологічному
мозку. Кожне з'єднання, як і синапси в біологічному мозку, може передавати сигнал
іншим нейронам (рис. 1.4).
8
Рис. 1.4 - Будова біологічного нейрону.
Для того , щоб зрозуміти, як же працюють нейронні мережі, поглянемо на її
складові та її параметри.
Нейрон - це одиниця яка обчислюються та взаємодіє з іншими клітинами через
спеціалізовані з'єднання синапси. Головні функції – отримання початкової інформації,
поєднання вхідної інформації зі своїм внутрішнім станом ( активацією ) та
необов'язковим порогом, використовуючи функцію активації , і вихід інформації,
використовуючи функцію виведення. Нейрони , як компоненти мережі поділяються
на три основні типи: вхідний (синій), прихований (червоний) і вихідний (зелений)
нейрони (рис. 1.5) (Стаття з електронного ресурсу заголовок – Нейронные сети
для начинающих. Часть 1).
Рис. 1.5 - Схема штучної нейронної мережі
9
Синапс - це структура , яка дозволяє нейронам утворювати зв'язок, та передавати
між собою інформацію. Головний параметр , яким наділений синапс – це вага (W), яка
змінює вхідну інформацію з кожною передачею від одного нейрона до іншого (рис.
1.6).
Рис. 1.6 - Синапс та вплив параметру ваги (W) на вхідні дані
Нижче наведений приклад частини нейронної мережі, в якій позначено вхідні
данні (H) та вага (W). На фото видно, що вхідна інформація це сума всієї інформації
помножена на відповідний параметр ваги (W), а вихідні дані – це вхідна інформація
підставлена в функцію активації (рис. 1.7).
Рис.1.7 - Приклад частини нейронної мережі
10
Функція активації - це спосіб нормалізації вхідних даних. Функція, яка отримує
вхідний сигнал, але генерує вихідний сигнал з урахуванням граничного значення,
називається функцією активації. З математичної точки зору існує безліч таких функцій,
які могли б забезпечити подібний ефект. Функцій активації досить багато але
найосновнішими являються: лінійна, сигмоїда і гіперболічний тангенс. Найбільш
використовувана – сигмоїда. Головні їх відмінності - це діапазон значень.
Помилки мережі
Для того щоб оцінити якість отриманих даних з очікуваними даними, вводиться
процентний параметр помилки , який формується кожну епоху та повинен йти на спад
. Помилку можна обчислити різними шляхами, Виділяють три основні способи: Mean
Squared Error формула (1.2), Root MSE формула (1.3) і Arctan формула (1.4). Кожен з
способів по-різному розраховую помилку. У Arctan, помилка, майже завжди, буде
більше, так як він працює за принципом: чим більша різниця, тим більше помилка. У
Root MSE буде найменша помилка, тому, найчастіше, використовують MSE, яка
зберігає баланс в обчисленні помилки. (Стаття з електронного ресурсу заголовок
– Нейронные сети для начинающих. Часть 1).
MSE =
(𝑖1 −𝑎1 )2 +(𝑖2 −𝑎2 )2 +⋯+(𝑖𝑛 −𝑎𝑛 )2
𝑛
Root MSE = √
Arctan =
(𝑖1 −𝑎1 )2 +(𝑖2 −𝑎2 )2 +⋯+(𝑖𝑛 −𝑎𝑛 )2
𝑛
arctan2 (𝑖1 −𝑎1 )+⋯+arctan2 (𝑖𝑛 −𝑎𝑛 )
𝑛
(1.2)
(1.3)
(1.4)
Навчання нейронної мережі
Для того щоб штучна нейронна мережа давала правильні відповіді потрібно її
навчати. Навчання - це адаптація мережі для кращого вирішення завдання шляхом
розгляду вибіркових спостережень. Навчання включає коригування ваги (та
11
необов'язкових порогових значень) мережі для підвищення точності результату. Це
робиться шляхом мінімізації помилок. Навчання закінчено, коли вивчення додаткових
спостережень не корисно та не знижує рівень помилок. Навіть після навчання частота
помилок зазвичай не дорівнює 0. Якщо після навчання рівень помилок занадто
високий, мережу зазвичай потрібно переробити. Практично це робиться шляхом
визначення функції втрат, яка періодично оцінюється під час навчання.
Нейронні мережі мають декілька «характерів» навчання, та поділяються на :
 Навчання з вчителем - це тип тренувань властивий таким проблемам як
регресія і класифікація. Іншими словами тут ви виступаєте в ролі вчителя а НС в
ролі учня. Ви надаєте вхідні дані і бажаний результат, тобто учень подивившись
на вхідні дані зрозуміє, що потрібно прагнути до того результату який ви йому
надали.
 Навчання без вчителя- цей тип навчання зустрічається не так часто. Тут немає
вчителя, тому мережа не отримує бажаний результат або ж їх кількість дуже
мало. В основному такий вид тренувань притаманний нейронним мережам у
яких завдання полягає в угрупованні даних за певними параметрами. .
 Навчання з підкріпленням- це метод, який застосовується тоді, коли є
можливість грунтуючись на результатах отриманих від НС, дати їй
оцінку. Іншими словами ми надаємо НС право знайти будь-який спосіб
досягнення мети, до тих пір поки він буде давати хороший результат. Таким
способом, мережа почне розуміти чого від неї хочуть домогтися і спробує
знайти найкращий спосіб досягнення цієї мети без постійного надання даних
"учителем".
Навчання нейронної мережі відбувається за трьома методами: стохастичним
метод, пакетний метод, і міні-пакетний метод. Кожний метод має свої плюси і мінуси,
12
використовується в залежності від умов навчання. Зупинимось на кожному з методів
більш детально :
 Стохастический метод працює за наступним принципом - знайшов Δw,
відразу потрібно обновити коефіцієнт ваги.
 Пакетний метод працює по іншому. Він підсумовує Δw всіх ваг на поточній
ітерації і тільки потім оновлюємо все ваги використовуючи цю суму. Один з
найважливіших плюсів такого підходу - це значна економія часу на
обчислення, точність ж в такому випадку може сильно постраждати.
 Міні-пакетний метод є золотою серединою і намагається поєднати в собі
плюси обох методів. Принцип у тому , що потрібно у вільному порядку
розподілити ваги по групам і поміняти їх ваги на суму Δw всіх ваг в тій чи
іншій групі.
Існує кілька методів навчання НС, найпоширенішими являються:
 Метод зворотного поширення (Backpropagation)
 Метод пружного поширення (Resilient propagation або Rprop)
 Генетичний Алгоритм (Genetic Algorithm)
Більш детально зупинимося на методі зворотного поширення, який
використовує алгоритм градієнтного спуску, тому що він використовуються в
архітектури нейронної мережі U-net (Стаття з електронного ресурсу заголовок –
Нейронные сети для начинающих. Часть 2).
13
Градієнтний спуск
Це спосіб знаходження локального мінімуму або максимуму функції за
допомогою руху уздовж градієнта. Градієнт - це вектор який визначає крутизну схилу
і вказує його напрямок щодо будь-якої з точок на поверхні або графіку. Щоб знайти
градієнт потрібно взяти похідну від графіка по даній точці (як це і показано на
графіку). Побудуємо графік (рис. 1.8), де по осі х будуть значення ваги нейрона (w) а
по осі у - помилка відповідає цьому вазі (e). На цьому графіку глобальний мінімум - це
точка (w2, e2) або, іншими словами, то місце де графік підходить ближче всього до осі
х. Ця точка буде означати, що вибравши вага w2 ми отримаємо найменшу помилку e2 і як наслідок, найкращий результат з усіх можливих. Знайти ж цю точку нам
допоможе метод градієнтного спуску. (Стаття з електронного ресурсу заголовок –
Нейронные сети для начинающих. Часть 2).
Рис.1.8 – Графік функції f (w)
14
Метод зворотного поширення
Метод зворотного поширення помилки — метод навчання багатошарового
перцептрону. Це ітеративний градієнтний алгоритм, який використовується з метою
мінімізації помилки роботи багатошарового перцептрону та отримання бажаного
виходу. Основна ідея цього методу полягає в поширенні сигналів помилки від виходів
мережі до її входів, в напрямку, зворотному прямому поширенню сигналів у
звичайному режимі роботи (рис. 1.9). Барц і Охонін запропонували відразу загальний
метод («принцип подвійності»), який можна застосувати до ширшого класу систем,
включаючи системи з запізненням, розподілені системи, тощо. Для можливості
застосування методу зворотного поширення помилки функція активації нейронів
повинна бути диференційованою (Стаття з електронного ресурсу заголовок –
Метод зворотного поширення помилки).
Рис. 1.9 – Схема методу зворотного поширення помилки
15
1.2.2 U-net: нейронна мережа для сегментації зображень
Після проведення всебічних досліджень в області пошуку найбільш ефективних
і достатніх засобів для досягнення поставлених цілей. Таким рішенням для завдання
сегментації зображень було обрано нейронну мережу архітектури U-net. Це рішення
було прийнято на підставі цілої низки спостережень і результатів серед інших
дослідників
U-Net вважається однією з стандартних архітектур згорткової нейронної
мережі для задач сегментації зображень, коли потрібно не тільки визначити клас
зображення цілком, але і сегментувати його області за класом, створити маску, яка
буде розділяти зображення на кілька класів. Архітектура складається з стягуючого
шляху для захоплення контексту і симетричного розширяємого шляху, який дозволяє
здійснити точну локалізацію.
Мережа навчається наскрізним способом на невеликій кількості зображень та
працює швидко. Сегментація зображення 512 × 512 займає менше секунди на
сучасному графічному процесорі.
Для U-Net характерно:
 досягнення високих результатів в різних реальних задачах;
 використання невеликої кількості даних для досягнення хороших результатів
(Стаття з електронного ресурсу заголовок – U-net: нейросеть для
сегментации изображения).
16
Архітектура U-Net
Рис. 1.10 - Загальна архітектура U-net
Вище приведена архітектура мережі (рис. 1.3.1) Вона складається з звужуючого
шляху (зліва) і шляху який розширюється (праворуч). Звужуючий шлях - типова
архітектура згорткової нейронної мережі. Він складається з повторного застосування
двох згорток 3 × 3, за якими слідують Ініт ReLU і операція максимального об'єднання
(2 × 2 ступеня 2) для зниження дозволу.
На
кожному
етапі
понижувальної
дискретизації
канали
властивостей
подвоюються. Кожен крок у розширенні шляху складається з операції яка підвищує
дискретизації карти властивостей, за якою слідують:
 згортка 2 × 2, яка зменшує кількість каналів властивостей;
 об'єднання з відповідним чином обрізаної картою властивостей з стягують
шляху;
17
 дві 3 × 3 згортки, за якими слід ReLU (Стаття з електронного ресурсу
заголовок – Unet for seismic interpratation).
Обрізка необхідна через втрату граничних пікселів при кожній згортці (рис.1.11).
Рис. 1.11 - Архітектура U-net
Навчання U-net
Мережа навчається методом стохастичного градієнтного спуску на основі
вхідних зображень і відповідних їм карт сегментації. Через згортки вихідне
зображення менше вхідного сигналу на постійну ширину кордону. Застосовувана
попиксельно, функція soft-max обчислює енергію по остаточній мапі властивостей
разом з функцією крос-ентропії. Крос-ентропія, що обчислюється в кожній точці,
визначається за формулою 2.1.
𝐸 = ∑𝑥∈∩ 𝜔(𝑥) log(𝑝𝑙(𝑥) (𝑥))
(2.1)
Межа розподілу обчислюється з використанням морфологічних операцій. Потім
обчислюється карта вагових коефіцієнтів формула 2.2:
2
𝑤(𝑥 ) = 𝑤𝑐 (𝑥 ) + 𝑤0 ∗ exp(−
(𝑑1 (𝑥)+𝑑2 (𝑥))
2𝜎 2
)
(2.2
18
де wc - карта ваг для балансування частот класів, d1 - відстань до границі
найближчої комірки, а d2 - відстань до границі другої найближчої комірки .
1.2.3 Принцип дії методу семантичної сегментації зображення
В даний час семантична сегментація є одним із ключових завдань в області
комп'ютерного зору. Обробляючи всі об'єкти на зображенні, семантична сегментація
дозволяє програмі повністю інтерпретувати оброблювану сцену. Важливість
програмної інтерпретації зображення підкреслюється тим фактом, що все більше
число додатків переводить комп'ютерні дані в графічний формат, який зрозумілий
людині. Через зростання популярності машинного навчання в останні роки багато
завдань семантичної сегментації вирішуються шляхом використання архітектур
нейронних мереж (Стаття з електронного ресурсу заголовок – U-Net for segmenting
seismic images with Keras).
Огляд завдання семантичної сегментації
Метою семантичної сегментації є точна класифікація та сегментація кожного
об'єкта, представленого на зображенні. Семантична класифікація складається з трьох
основних етапів:
1. Спочатку відбувається виділення всіх класів, присутніх на зображення, яке
обробляється.
2. Наступним кроком є сегментація / виявлення, які надають не тільки сутність
класів, а й інформацію щодо просторового розташування цих класів.
3. На останньому кроці досягається точний висновок. Створюються мітки для
кожного пікселя. Ці мітки вказують на приналежність певного пікселя до суті
класу.
19
Підходи семантичної сегментації
У широкому сенсі архітектура семантичної сегментації може розглядатися як
кодуюча мережа, через яку слідує декодувальна мережа:
1. Кодуюча мереж f зазвичай являє собою попередньо навчену класифікаційну
нейронну мережу, таку як U-net, за якою слідує декодувальна мережа.
2. Завдання декодуючої мережі полягає в тому, щоб семантично проектувати
розпізнані ознаки (нижчу роздільну здатність), на простір пікселів (більш
високий дозвіл), щоб отримати щільну класифікацію (Стаття з електронного
ресурсу заголовок – U-net: нейросеть для сегментации изображения).
1.2.3 Алгоритм методу кореляції сейсмічних горизонтів за допомогою
глибинного навчання
Підготовка навчального набору даних
Першим етапом є підготовка, створення навчальних даних для нейронної
мережі, тому починається все з інтерпретації сейсмічних розрізів з подальшим
сегментування кожного горизонту на різні частини відповідно до показників часу
сейсмічних горизонтів. Наступний етап – створення навчальних міток, присвоюючи
різні символи різним сегментованим частинам, які обмежені двома сусідніми
сейсмічними горизонтами. На рисунку 1.12 показаний приклад навчальних даних та
відповідних міток (Hao Wu, 2019).
20
Рис. 1.12 – Навчальні дані та навчальні мітки для тренування нейронної мережі
Навчання нейронної мережі
Далі вибирається архітектура нейронної мережі, представлені рамки
запропонованої мережі. Цей симетричний каркас містить дві основні частини:
мережу кодера та мережу декодера. Набір 1D-сейсмічних слідів подається в кодер як
вихідні дані тренувань. Мережа кодерів складається з серії повторюваних шарів, і
кожен шар містить фільтр згортки, регулятор пакетної нормалізації, оператор
активації та оператор максимального об'єднання. Завдання фільтра згортки полягає у
створенні характеристичних карт вхідних сейсмічних даних (Hao Wu, 2019).
Роль мережі декодерів - це реконструкція зображення відповідно до карт
функцій і подача в елементний класифікаційний рівень. Декодер також містить
декілька шарів, що відповідають мережі кодера, і кожен шар складається з оператора
підвищеної дискретизації, фільтра згортки, регулятора пакетної нормалізації та
оператора активації. Оператор розгортання використовується для реконструкції карт
функцій і розмір становить 2 × 1 для всіх шарів згортки.
Останній крок мережі - елементний класифікаційний рівень softmax розміром 1 × 1,
а роль цього шару визначає вагу кожного пікселя з відповідною навчальною міткою.
Далі, функція втрати використовується для обчислення втрат між та прогнозуванням
21
результатами та істинною правдою яка широко використовується в сегментації
зображення.
Обробка сейсмічних даних
Після закінчення навчального процесу до даних тесту застосовується добре
навчена мережева ієрархія. Навчена мережа виконує сегментацію слідів і присвоєння
мітки сліду за слідом. Рисунок 1.13 ілюструє робочий процес методу та алгоритм її
роботи.
Рис. 1.13 - Етапи обробки даних методом семантичної сегментації
Нижче можна побачити результати передбачення горизонту мережею,
використовуючи методо семантичної сегментації, та порівняння результаті з
іншими актуальними методами на прикладі вхідних даних з території Нової
Шотландії. (рис. 1.14) (Hao Wu, 2019).
22
Рис. 1.14 - Порівняння актуальних нині методів з методом семантичної
сегментації
23
РОЗДІЛ 2. МЕТОДИКА РЕАЛІЗАЦІЇ АЛГОРИТМУ
У цій частині крок за кроком буде описано практичну сторону роботи від того
моменту, де маємо тільки завдання, до того де це завдання було виконане за
допомогою методів і інструментів, які були описані у попередньому розділі.
2.1 Опис вхідного набору даних та алгоритм експерименту
Під час виконання цієї роботи буде використано вже існуючий публічний набір
проінтерпретованих сейсмічних даних, який був створений спеціалістами для їх
використання на етапі навчанні нейронних мереж для семантичної сегментації
сейсмічних зображень і має назву Netherland Dataset. Вихідні сейсмічні дані
представлені на сайті Open Seismic Repository.
Netherland Dataset F3 – це сейсмічні дані обстеженої ділянки голландської
частині басейну Центрального Грабена, площею приблизно 384 км2 в , в 180 км від
берега Нідерландів (рис. 2.1)
Рис. 2.1 Розташування 3D-дослідження F3 у Північному морі,
Нідерланди.
24
Сейсмічні дані, які складають існуючий набір для семантичної сегментації
сейсмічних зображень - це 3D-сейсмічне дослідження, яке доступне у відкритому
доступі на сайті Open Seismic Repository.
Набір даних складається з 384 км2 міграційних 3D-сейсмічних даних у часі , з
651 інлайнами та 951 крослайнами , розташованими на північному березі Північного
моря, Нідерланди (рис. 2.1). Сейсмічні данні мають часовий діапазон 1848 мс, частота
вибірки 4 мс і розмір біну - 25 м. Поряд із 3D-сейсмічними даними, також присутні
також дані 4 свердловин F021, F032, F034 та F061 - з деякими маркерами та
геофізичними журналами , 8 інтерпретованих горизонтів, та деякі додаткові 2D та 3D
сейсмічні дані з атрибутами та моделями (Reinaldo Mozart Silva, 2019).
Інтерпретація
даних
виконувалась
за
допомогою
програмного
забезпечення OpendTect. Як результат, було інтерпретовано дев'ять горизонтів
(рис.2.2): H1, H2, H3, H4, H5, H6, H7, H8 і H9, відсортовані у порядку зменшення
геологічного віку.
Інтерпретовані горизонти можуть не відповідати вершині
формацій, оскільки враховуються лише конфігурації шаблонів, зосереджуючись на
розділенні різних інтервалів сейсмічної фації. Один розлом був також інтерпретован
лише для допомоги інтерпретації горизонтів. Аналіз сейсмічних фацій складається з
ідентифікації
параметрів
сейсмічного
відбиття,
заснованих
насамперед
на
конфігураційних моделях, які вказують на такі геологічні фактори, як літологія,
стратифікація
та
системи
осадження. У
наступному
списку
описуються
сейсмічні фації кожного інтервалу горизонтів з точки зору їх амплітуди та
безперервності.
 H1: цей горизонт обмежує верхню частину пермської системи. Верхні
відбивачі мають стратифіковані сейсмічні фації, а нижні - однорідні
сейсмічні фації , де немає явних відображень.
25
 Н2-Н1: горизонти між Н2 і Н1 безперервні і мають низьку амплітуду. Ці
характеристики
пов'язані
з
неритматичним
середовищем,
що
складається в основному з глинистих відкладів.
 Н3-Н2: середовище осадження та літологія опадів між Н3 та Н2 по суті такі
ж,
як
Н2,
але
ця
частина
позначена
полігональними
розломами. Полігональні розломи поширені в глинистих відкладеннях.
 Н4-Н3: горизонти між Н4 та Н3 є переважно паралельні та мають різну
амплітуду.
 H6-H5: пакет між H6 і H5 складається в основному з паралельних
відбивачів високої амплітуди за рахунок верхньокрейдових відкладень
карбонатів крейди .
 H7-H6: середовище складене з
чергування пісковиків та глинистих
каменів.
 H8-H7: інтервали представлені осадами супергрупи Північного моря и
представлені контурами насипної форми и низько-амплітудною фацією

H9-H8: фації між H9 і H8 шумні, можливо, через шум придбання або збій
сейсмічної обробки.
26
Рис. 2.2 Інтерпретовані горизонти в програмному пакеті OpendTect
Готовий набір даних інтерпретації в Нідерландах складається, головним чином,
з 9 інтерпретованих горизонтів у форматі XYZ та 3 204 зображень, що мають 1602
сейсмічних ліній у форматі TIFF та 1 602 зображення з маркуванням у форматі
PNG. Позначені зображення були створені шляхом перетину між сейсмічними лініями
та поверхнями горизонту. Потім пікселі кожного інтервалу горизонту позначали від 0
до 9 (рис. 2 .3) (Reinaldo Mozart Silva, 2019).
Рис. 2.3 Приклад обрізаного рядка та його відповідних міток
27
В якості вхідних даних для навчання та кореляції горизонтів для проведення
практичної частини був взятий пакет сейсмічних даних спеціально призначений для їх
використання в навчанні нейронних мереж з голландської акваторії Північного
моря. Дані не відрізняються своєю простотою і мають певну кількість зображень і
масок з артефактами (рис. 2.4).
При створенні навчальної вибірки , було відібрано близько 100 кросслайнів та
60 інлайнів з чистими масками.
Рис. 2.4 – Приклад маски з артефактами
Архітектура використованої нейронної мережі
Як вже зазначалось, успішною і популярною архітектурою для вирішення задач
семантичної сегментації є U-net (рис.2.5).
Рис. 2.5 – Схема архітектури U-net
28
Метрики оцінювання
Функція втрат складається з коефіцієнта Жаккарда (Jacard Index) та бінарної
кросентропіі. Коефіцієнта Жаккарда розраховується за наступною формулою :
де, 𝑇𝑃 – true positive, 𝐹𝑃 – false positive, 𝐹𝑁 – false negative
Нижче можна побачити схематичне зображення формули за допомогою кільц
Ейлера (рис. 2.6).
Рисунок 2.6 - Приклад перетину полігону А (реальний полігон) з полігоном В
(прогнозований полігон)
Виходячи з формули , можна побачити що діапазон коефіцієнту складає (0;1).
Розрахунок даного коефіцієнту проводився для кожної епохи навчання. Зображення
реализованного коду коефіцієнта в Jupyter Notebook (рис.2.7) та інші параметри
навчання (рис.2.8).
29
Рис. 2.8 – Параметри навчання
Параметри навчання
Щоб понизити значення перенавчання тренувальної вибірки, аугментація
дорівнювала 448х64 та дзеркальним відображенням уздовж вертикальної осі з
ймовірністю 0.5. Шар PNG-зображень який використовувався не мав ніяких змін.
Всього було проведено 2 серії навчання :
1. Навчання на вибірках які складались виключно з інлайнів (2 - 19 зрізів кубу)
2. Навчання на вибірках складених з інлайнів і кросслайнів (2-19 зрізів кубу кожного
типу )
2.2 Огляд інструментів
При реалізації даної роботи були використанні такі інструменті: інтерактивна
оболонка для програмування на Python - Jupyter Notebook, бібліотека нейронних
мереж - Keras.
Python - високорівнева мова програмування загального призначення,
орієнтований на підвищення продуктивності розробника і читання коду. Синтаксис
ядра Python мінімалістичний. У той же час стандартна бібліотека включає великий
обсяг корисних функцій.
30
Python підтримує кілька парадигм програмування, в тому числі структурний,
об'єктно-орієнтоване, функціональне, імперативне і аспектно-орієнтоване. Основні
архітектурні риси - динамічна типізація, автоматичне керування пам'яттю, повна
інтроспекція, механізм обробки виключень, підтримка багатопоточних обчислень і
зручні високорівневі структури даних. Код в Python організовується у функції та класи,
які можуть об'єднуватися в модулі (вони в свою чергу можуть бути об'єднані в пакети)
документа (Стаття з електронного ресурсу. Заголовок-Python)
Але, нажаль одного Python не вистачить, це і не дивно, бо дуже складно
створити універсальне рішення для всіх задач. Існує багато різноманітних доповнень
до основного функціоналу, які звуться бібліотеками. Є можливість встановити їх
вручну стандартними засобами чи завантажити дистрибутив типу Anaconda. В нашому
випадку доцільно використати другий варіант.
Anaconda - open source дистрибутив для мов програмування Python та R з
відкритим кодом для обробки даних великого об'єму, побудови аналітичних
прогнозів і наукових обчислень. Розробники дистрибутиву мають на меті спростити
управління і використання пакетів. Версії пакунків контролюються системою
керування пакунками conda
Встановлюючи Anaconda отримуємо готовий до роботи Python, приблизно сто
п’ятдесят бібліотек наукового спрямування типу NumPy, SciPy чи PIL які одразу
доступні для використання, близько двухсот інших бібліотек, які доступні для
завантаження за допомогою простої команди а також інтерактивну оболонку Jupyter.
Коротко розглянемо інструменти дистрибутиву, які будуть використовуватися
під час вирішення задачі.
31
2.2.1 Середа розробки Jupyter Notebook
Jupyter Notebook - найпопулярніша безкоштовна інтерактивна оболонка для
мови програмування Python, що дозволяє об'єднати код, текст і діаграми, і
поширювати їх для інших користувачів.
Це вкрай зручний інструмент для проведення експериментів (як чисто
математичних, так і пов'язаних з обробкою даних від приладів) і оформлення
результатів у вигляді фахових наукових статей. А взагалі людство знайшло йому
незліченні застосування - від дизайну електронних схем до обробки астрономічних
фотографій.
Запускається Jupyter Notebook за допомогою команди у командному рядку, а
відображається у браузері за замовчуванням.
Рис.1.9 Зовнішній вигляд оболонки
2.2.2 Бібліотека нейронних мереж Keras
Keras - мінімалістична, високомодульний бібліотека нейронних мереж,
написана на Python і здатна працювати над TensorFlow або Theano. Вона була
розроблена з акцентом на швидке експериментування. Уміння переходити від ідеї до
32
результату з найменшою можливою затримкою є ключовим для гарного
дослідження.
Ця бібліотека містить численні реалізації широко застосовуваних будівельних
блоків нейронних мереж, таких як шари, цільові та передавальні функції,
оптимізатори, і безліч інструментів для спрощення роботи з зображеннями і текстом.
Keras має декілька значних переваг, що робить її однією з самих великих та
популярніших бібліотек для машинного навчання. Вона має такі преваги:
 дозволяє легко і швидко розробляти прототипи (завдяки повній модульності,
мінімалізму і розширюваності).
 підтримує як конволюційні мережі, так і мережі, що повторюються, а також їх
комбінації.
 підтримує довільні схеми підключення (включаючи навчання з множинним
входом і багатовихідніми даними).
2.2.3 Бібліотека NumPy
NumPy - бібліотека з відкритим вихідним кодом для мови програмування
Python, головними особливостями якого є підтримка багатовимірних масивів та
високорівневих математичних функцій, призначених для роботи з багатовимірними
масивами.
Математичні алгоритми, реалізовані на інтерпретованих мовах (наприклад,
Python), часто працюють набагато повільніше тих же алгоритмів, реалізованих на
компільованих мовах (наприклад, Фортран, С, Java). Бібліотека NumPy надає
реалізації обчислювальних алгоритмів (у вигляді функцій і операторів), які
оптимізовані для роботи з багатовимірними масивами.
33
Цю бібліотеку використовується для представлення зображення та масивів
вагових коефіцієнтів у вигляді матриць а також для дій над ними (Стаття з
електронного ресурсу. Заголовок- NumPy).
34
РОЗДІЛ 3. РЕЗУЛЬТАТ РОБОТИ
Для точного аналізу отриманих даних та аналізу роботи нейронної мережі
найосновнішими параметрами відповідно являються – коефіцієнту Жаккарда для
кожного горизонту та самі прогнози мережі.
3.1 Навчання на одному типу зрізу
Рис. 3.1- Коефіцієнт Жаккарда для навчальної вибірки
Рис. 3.2.- Коефіцієнт Жаккарда для валідаційної вибірки
35
Рис. 3.3 - Коефіцієнт Жаккарда для інших інлайнів
Рис. 3.4.- Коефіцієнт Жаккарда для кросслайнів
З наведених діаграм можна зробити ряд висновків (рис. 3.1 -3.4).
 Якість прогнозу досягає свого піку на 9-ти інлайнів, після чого темпи
росту зменшуються .
 Виходячи з того, що навчальна вибірка складалась виключно з інлайнів,
то результат який складався з даних кросслайнів теж отримав високий
результат.
36
На наступних рисунках 3.5, 3.6, показана розмітка, мережа якої навчалась на 10-ти
інлайнів . «GT mask» (Ground Truth mask)- це інтерпретація, третій - прогноз мережі.
Рис. 3.5 - Приклади прогнозів мережі для інлайнів
37
Рис. 3.6 - Приклади прогнозів мережі для кросслайнів
З рисунків 3.5, 3.6 можна побачити , не здатність мережі розпізнати складні
випадки при наявності частих масок.. Незважаючи на високі показники метриків для
10-ти зрізів, значна частина отриманих даних буде вимагати додаткової ручної
правки.
Далі приведені результати з різним обсягом даних при навчанні мережі 5, 10, 15,
20, 80 (5% від повного обсягу куба) і 160 (10%) інлайнів на прикладі одних і тих же типів
зрізів.
38
Рис. 3.7 - Приклади прогнозів мереж, навчених на різному обсязі навчальної
вибірки
39
Дивлячись на рисунок 3.7 можна побачити , що збільшений обсягу
тренувальної вибірки в 5 і вище разів не призводить до значного покращення
результатів .
Таким чином не має сенсу навчати нейронну мережу на великому обсягу, так
як мережі навчені на маленькому обсягу даних показують гарні результати.
3.2 Навчання на різних типах зрізів (інлайни і кросслайни)
Тепер порівняємо результати цієї серії з прогнозами, отриманими під час
навчання на суміші інлайнів і кросслайнів.
На представлених нижче діаграмах приведені оцінки коефіцієнта Жаккарда для
різних вибірок, в тому числі, в порівнянні з результатами попередньої серії. Для
порівняння були взяті тільки вибірки однакового обсягу, тобто 10 інлайнів vs 5
інлайніів + 5 кросслайнів і т.п.
Рис. 3.8 - Коефіцієнт Жаккарда для навчальної вибірки
40
Рис. 3.9 - Коефіцієнт Жаккарда для валідаційної вибірки
Рис. 3.10 - Коефіцієнт Жаккарда для інших інлайнів
Рис.
3.11
-.
Коефіцієнт
Жаккарда
для
інших
кросслайнів
41
Візуальний аналіз діаграм дає зрозуміти, що додавання зрізів інших типів, не
призводять до значного покращення (рис.3.12-3.14).
Рис. 3.12- Коефіцієнт Жаккарда для різних класів (по осі Х) і різних розмірів і
складу тренувальної вибірки
Рис. 3.13 -. Порівняння прогнозів мережі для інлайнів
42
Рис. 3.14 - Порівняння прогнозів мережі для кросслайнів
Візуальне порівняння підтверджує припущення про те, що додавання до
навчання зрізів іншого типу кардинально ситуацію не змінює. Деякі поліпшення
можна спостерігати тільки для лівого кросслайна, але чи мають вони глобальний
характер? На це питання ми спробуємо відповісти далі.
3.3 Оцінка обсягу ручного доопрацювання
Для того щоб оцінити якість інтерпретованих горизонтів і визначити можливий
рівень ручної доробки , було визначено кількість компонент зв’язності на кожному
отриманому результаті. Виділені горизонти можна вважати правильними, якщо
43
компонент зв’язності складає 10 , то в такому випадку ніякої ручного доопрацювання
не потребується. Якщо значення більше за 10, то виділенні горизонти потребують
невеликої ручної доробки.
Для оцінки якості отриманих результатів були вибрані 50 інлайнів та 80
кросслайнів, які не приймали участь в навчанні мереж.
Таблиця 1. Статистики, усереднені по обом типам зрізів
Статистики
Середня кількість
компонент
зв’язності
5
26
10
19
15
15,6
20
16
80
16,4
160
16
5+5
18,4
10+10 40+40 80+80
16,3
16
14,9
Медіана (50%)
75%
Максимальна
кількість
компонент
зв’язності
Кількість зрізів с 10
компонентами
Доля зрізів с 10
компонентами
22
34
90
15
20
86
14
16
7
13
18
50
12
15
84
12
16
67
15
20
78
13
17
58
12
14
93
11
14
102
6
16
28
8
89
93
35
62
148
127
1%
3%
6%
10%
19%
20%
7%
13%
31%
27%
Проаналізувавши з таблиці 1 результати отримані з мережі, яка була навчена на
1% зрізів , було зроблено висновок, що нема ніякої різниці в навчанні мереже на
різних типів даних. Нижче наведена характеристика отриманого результату:

10% отриманих результатів не потребують ручних поправок;

50% отриманих результатів потребують невеликих ручних поправок і мають
близько 5 зайвих плям ;

75% отриманих результатів потребують більш суттєвих ручних поправок і мають
близько 10 зайвих плям.
44

25% отриманих результатів вимагають більш суттєвого доопрацювання.
Далі розглянемо результати отримані мережі навченої на 5% зрізів. По-перше
навчання на різних типах зрізів показує високі показники. По-друге, незважаючи на
покращення показників , також зростає значення компонент. Нижче наведена
характеристика отриманого результату:

30% отриманих результатів не потребують ручних поправок;

50% отриманих результатів потребують невеликих ручних поправок і мають
близько 2 зайвих плям ;

75% отриманих результатів потребують більш суттєвих ручних поправок і мають
близько 4 зайвих плям

25% отриманих результатів потребують значного доопрацювання.
При збільшені вибірки даних більше ніж на 5 %, значного покращення результатів
не відбулось. Виходячи з цього твердження, можна сказати, що обсяг даних в вибірки
який знаходиться межах від 1 до 5 %- найоптимальніший для отримання гарних
результатів.
Отримані результати для перевірки якості прокорельованих горизонтів свідчить
про доцільність використання нейронних мереж, як додатковий інструмент при
інтерпретації сейсмічних даних. .
45
ВИСНОВОК
Перед початком виконання роботи, за мету ставилось опрацювання нового
методу інтерпретації сейсмічних даних, а саме кореляція сейсмічних горизонтів ,
основаних на використанні машинного навчання для автоматизації кожного етапу
інтерпретації даних . який би одночасно запропонував кращі результати кореляція в
порівнянні з результатами методів , які мають широке поширення в даний час.
Тому, для досягнення поставленої мети, були сформовані та вирішені такі
завдання:
 ознайомитись з існуючими методами кореляції сейсмічних горизонтів.
 ознайомитись з принципом дії нейронної мережі та методу семантичної
сегментації зображення.
 вибрати оптимальні параметри нейронної мережі для її ефективного
навчання
 Проаналізувати якість отриманих результатів та ефективність роботи
різних нейронних мереж, які відрізняються різним об’ємом та типом
вхідних даних для її навчання.
 оцінити обсяг ручного ручного доопрацювання отриманих результатів.
Проаналізувавши
результатах отриманої роботи можна стверджувати, що
мережі достатньо 1-4% попередньо розмічених даних для її успішного навчання і
подальше збільшення кількості вхідних даних не приводять до значного покращеня
результатів, що не можна сказати про різноманітність даних в учбовій виборці. В
46
даному експерименті різноманітність досягалась завдяки використанню инлайнів та
крослайнів.
Щодо якості отриманих даних, то приблизно 45 % потребують невеликого
ручного
допікінгування
погано
розпізнаних
зон,
зазвичай
представлених
стратиграфічними порушеннями. Близько 30 % всіх отриманих результатів не
потребують ніякого втручання і лише незначна частина потребує значного ручного
втручання.
Підбиваючи підсумки , можна сказати, що метод має свої явні переваги перед
нинішніми методами. Можливість «навчатися» на основі невеликої кількості вже
інтерпретованих в ручну даних, дозволяє з кожним разом покращувати вихідний
результат, економити час та ресурси. У зв’язку з цим, та з тим що галузь машинного
навчання з кожним роком розвивається великими темпами, то даний метод в скорі
знайде своє широке використане в геофізичному програмному забезпечені.
47
Download