Применение нечеткой логики и нейронных сетей для литологического расчленения разреза скважины

Лялин В.Е., Ясовеев И.М.

ПРИМЕНЕНИЕ НЕЧЕТКОЙ ЛОГИКИ И НЕЙРОННЫХ СЕТЕЙ ДЛЯ ЛИТОЛОГИЧЕСКОГО РАСЧЛЕНЕНИЯ РАЗРЕЗА СКВАЖИНЫ

В статье рассматривается применение алгоритмов нечеткой классификации и обучения нейронных сетей без учителя в задаче выделения литологических типов пластов, составляющих разрез скважины, при отсутствии четких статистических данных о распределении значений методов ГИС для классов «нефть» и «вода».

Литологическое расчленение разреза скважины и выделение коллекторов в нем основаны на различии физических и геофизических параметров горных пород и осуществляется в соответствии с обратной информационной моделью ГИС. Однако часто модель какого-либо этапа неизвестна или сведения об информационном процессе приближенны. В этом случае целесообразно использовать методы классификации и прогнозирования свойств геологических объектов, основанные на статистической обработке массивов геоло-го-геофизической информации. Наибольшая эффективность методов классификации достигается при использовании территориальных банков данных, когда процесс сбора и обработки информации автоматизирован.

Традиционные задачи классификации основаны на том, что в пространстве классы объектов с разными свойствами образуют контактные множества и поэтому могут быть определены границы между ними. Каждый объект, относится к одному какому-либо классу и описывается несколькими параметрами {х} = (x,xхп) . Совокупность всех переменных-параметров называется пространством признаков. Число признаков, описывающих объект, определяет мерность пространства. Смысл классификации объектов заключается в построении критерия или решающего правила F {х} для отнесения объектов к разным классам.

В реальных приложениях часто нельзя определить четкую границу между классами, поэтому нечеткие алгоритмы являются более подходящими. В таких алгоритмах каждому объекту назначается степень принадлежности тому или иному классу.

Алгоритм нечеткой классификации

Для проведения литологического расчленения предлагается использовать алгоритм нечеткой классификации (Fuzzy C-means) [1]. Алгоритм минимизирует среднеквадратичную ошибку внутри каждого класса, используя целевую функцию

при следующих ограничениях:

Xmik = 1 , і = 1,2,...,N ;

Xm > о , ^ = 1,2,...,с,

i=1

тл є [0,1] , і = 1,2,...,N ; к = 1,2,...,С , где

количество классов

- принадлежность строки данных I к классу . - центр класса к , х1 - строка данных / ,

показатель нечеткости, изменяющийся в пределах

k , N d2 ( x, c

т.е. алгоритм работает как четкий

количество данных, С -функция расстояния между х и ск , ф -

При ф ^ 1 , каждый объект принадлежит только одному классу

классификатор. При увеличении ф нечеткость решения возрастает.

Расстояние от выбранного центра каждого класса до каждого объекта всего массива в пространстве М определяется как диагональ многомерного параллелепипеда, ребрами которого являются среднеквадратические отклонения каждого у -го признака. Расстояние получается в нормированных безразмерных

единицах и вычисляется по формуле: Л (х, ск кн

V у

где х - сравниваемый объект, ск - центр класса.

Существуют и другие меры расстояния:

Квадрат евклидова расстояния. Используется, когда необходимо придать большие веса более отдаленным

друг от друга объектам: Л(х,ск) — ^(х^ _с^) .

Манхэттенское расстояние. Для

ckj

меры влияние отдельных больших выбросов уменьшается:

d (x, ck ) = Z| xv -'

ki\

Расстояние Чебышева. Это расстояние может оказаться полезным, когда желают определить два объекта как «различные», если они различаются по какой-либо одной координате (каким-либо одним измерени-

Степенное расстояние. Используется при необходимости прогрессивно увеличить или уменьшить вес, относящийся к размерности, для которой соответствующие объекты сильно отличаются:

ем). Расстояние Чебышева вычисляется по формуле: d (ху, ск ) = тах (xj — ) .

тепенное расстояние. сящийся к размерности

d (х, ek) = Xj — ekj )р ,

ственен за постепенное взвешивание разностей по отдельным координатам, параметр r ответственен за прогрессивное взвешивание больших расстояний между объектами.

Минимизация целевой функции приводит к следующим формулам для функций принадлежности и центров

где r и р - параметры, определяемые интерпретатором. Параметр р ответ-

классов:

тЛ = dik2 <'-7]rd/

j=1

= X m

k=1

c

Алгоритм состоит из следующих этапов:

1. Составляется таблица подлежащих классификации объектов (пластов, образцов керна), охарактеризованных различными геофизическими или петрофизическими признаками. Задается число классов, на которые надо разделить объекты. Выбираются объекты, которые могут быть центрами классов. Если нет никаких обоснованных соображений по выбору центров классов, то центрами задаются первые подряд идущие в таблице объекты.

2. Производится нормировка признаков всего массива для приведения всех признаков к единым без-

размерным единицам:

хз =(хз - X*)/аЗ , где х3

значение ] -го признака в

-м объекте;

соответственно среднее и среднеквадратичное отклонение у -го признака по всему массиву.

3. Инициализация матрицы принадлежности т=т(0) случайными значениями.

4. На итерациях I = 1,2,3,... пересчитываются центры классов с = с ^ ) с использованием формулы (5) и

Л'-1)

Л*-1)

5. Пересчитывается т равно 0, т- = 1 .

6. Рассчитывается целевая функция 3

с использованием формулы (4) и с

В случае если

близко или

Если \у(/) -У

<є , тогда останов; иначе переход к п. 2.

Алгоритм завершается, если значение целевой функции на очередном шаге перестает уменьшаться.

Алгоритм показал хорошие результаты в случае, если в диаграмме не встречается равномерный серый фон из объектов не входящих явно ни в один из классов. Для выделения таких объектов в отдельный класс, предложен модифицированный алгоритм классификации. Функция принадлежности в случае дополнительного класса выражается в виде [2]:

п с п с

3=а22 т№г(х,ск)+(1+а)2 т*"2 тУ~2(хл),

/=1 к=1 /=1 к=1

где

матрица принадлежности к дополнительному классу,

а - параметр, определяющий среднее сей области допустимых

по

значение т .

Элементы, входящие в дополнительный класс распределены равномерно значений, и не входят в гиперсферы ни одного из имеющихся классов.

Минимизируя полученную целевую функцию получаем следующие выражения для функций принадлежности и центров классов:

г1/

т,

"

*

т =

—2* і а рі

2 (Ф-1) ч-К^-1) /

(

2 *

3 -1

а

а2

з -1

2*$ (Ф-1)-

3-1

V1/ (Ф-1)'

:2 * к

3-1

ск =2{т;С-0-а)а 1хі*ікт"Ф)X2{тфС-0-а)а 1Х*ік™Ф) •

/=1 / /=1

Алгоритм показал хорошую эффективность при детальном литологическом расчленении сложных разрезов. Достоинство алгоритма хорошая устойчивость решения в наиболее сложных случаях классификации, в том числе при наличии большого числа пластов малой мощности. К недостаткам алгоритма можно отнести необходимость задания числа классов.

Определение весовых коэффициентов для методов ГИС

Так как информативность методов ГИС при литологическом расчленении различна, то для каждого из

методов вводится понятие весового коэффициента WJ е [0,1] , у = 1,N , где N - количество методов ГИС.

С учетом весовых коэффициентов формула определения расстояния между объектами и центрами классов записывается в виде

*

Задача определения весовых коэффициентов сводится к заданию целевой функции / (

'•'2,...,^ )

иску ее максимума. Подбор весовых коэффициентов может занять у интерпретатора огромное количество времени, поэтому предлагается использовать для этой цели генетический алгоритм (ГА) .

По скорости определения оптимума целевой функции ГА на несколько порядков превосходит случайный поиск. ГА прекрасно зарекомендовал себя в задачах нахождения глобальных экстремумов многоэкстремальных функций, точные формулы которых неизвестны, слишком сложны или не поддаются аналитическому описанию [5].

Генетический алгоритм

Генетический алгоритм используется для нахождения глобального экстремума целевой функции. В ГА каждый из вариантов решения задачи называется особью. Каждая особь характеризуется своим генотипом (обычно набор 1 и 0) и фенотипом (расшифровка генотипа). Если целевая функция зависит от п парапараметр кодируется набором из к бит, то особь X характеризуется как [3] :

и по-

метров, а каждый

X - (и,Р) ,

где

и

из

генотип;

Р

фенотип;

Из -{О,1} ,

Н =(Ьх,Ъ^,...,Ьп.к) , у = 1,п-к , р = (Р1,Р2,...,Р!) , Р = ^(Р(,-1)к+1,Р(,-1)к+2,...,Р,к) ,г'= 1,п ,где К - отдельный ген

(значение 0 или 1); р. - параметр целевой функции; g - функция декодирования генотипа.

Целевая функция может задаваться как /(р,р2,...,рп) или же как /(X) .

Каждый шаг ГА осуществляется за счет выполнения следующих операций [4]:

*

т -

2

1) кроссовер - операция обмена части генов двух особей. Пусть имеются особи Х(1) и Х(2') : X(1) =(Н(1),Р(1)^ , X(2) ={Н(2),Р^2^ , тогда результирующая особь X(3) будет определяться как

X(3) = (Н(3),Р(3)) ,

Н

где л - позиция в генотипе, выбираемая случайным образом ( л е (1,п • к) );

2) мутация - изменение одного гена особи, выбранного случайным образом. При исходной особи X(1) результирующая особь X(2', будет определяться как X(2) ={Н(2),Р(2^ ,

Н

где л - также выбирается случайно из интервала (1,п • к) ;

3) инверсия - циклический сдвиг генов особи. Если исходная особь X(1) , то результирующая X(2', :

X(2) =(н(2),р(2)),

Н

Отбор наилучших решений в ГА характеризуют следующие положения:

- приспособленность особи X Х соответствует значению целевой функции на заданном варианте / (X);

- чем выше приспособленность особи, тем выше ее шансы участвовать в операции кроссовера [6]. Работа ГА состоит в выполнении следующих ниже шагов.

1. Выбирается размер п и структура популяции. В первом поколении генерируется популяция особей X1(0), X(0),..., X(0) (случайным образом или на основе априорных данных о предметной области).

2. На каждой итерации ? отбор особей для скрещивания (кроссовера). Обычно вероятность участия особи Xг(г) напрямую зависит от Г (X «).

3. Кроссовер.

4. Мутация (с вероятностью 0,05-0,1).

5. Инверсия (с вероятностью 0,05-0,1).

6. Отбор особей с лучшей приспособленностью в новую популяцию X(+!),X2^+1),...X^+1) . При использовании принципа элитизма лучшие особи переходят в новую популяцию без изменений. Это гарантирует, что каждое следующее поколение возможных решений, по крайней мере, не хуже предыдущего.

7. При достижении условий завершения алгоритма переход к п. 8, иначе переход к п. 2.

8. Особь X с лучшей приспособленностью / (X) является решением.

Условием завершения алгоритма является достижение определенного значения целевой функции / (X) или

осуществление определенного количества итераций, во время которых значение целевой функции /(X) не улучшалось.

Наибольшую важность играет выбор родительских особей на шаге 2. Для этого используется один из вариантов:

- Рулетка. В этом случае вероятность участия особи xf') напрямую зависит от г (X0).

- Стратегия элитизма. При этом особи с наибольшей приспособленностью гарантированно переходят в новую популяцию. Использование элитизма позволяет ускорить сходимость алгоритма, но повышает вероятность нахождения локального минимума.

Кодирование целых чисел осуществляется с помощью кода Грея. Преимущество такого подхода по сравнению с битовым представлением заключается в том, что битовое представление двух соседних чисел отличается ровно на 1 бит. Данный способ уменьшает время необходимое для сходимости алгоритма. Сравнение двоичного кода и кода Грея приведены в табл.1.

Соответствие двоичного кода и кода Грея Таблица 1

Соответствие двоичного кода и кода Грея

Двоичный код Код Грея

0 0000 4 0100 8 1000 12 1100 0 0000 6 0110 12 1100 10 1010

1 0001 5 0101 9 1001 13 1101 1 0001 7 0111 13 1101 11 1011

2 0010 6 0110 10 1010 14 1110 3 0011 5 0101 15 1111 9 1001

3 0011 7 0111 11 1011 15 1111 2 0010 4 0100 14 1110 8 1000

Для кодирования целочисленного признака, он разбивается на тетрады, каждая из которых преобразуется по коду Грея.

Для кодирования вещественных признаков применяется следующая последовательность:

- весь интервал допустимых значений признака разбивается на N интервалов ( N = 28,216,232 );

- в качестве значения гена используется номер интервала закодированный по коду Грея;

- в качестве значения параметра используется середина этого интервала.

Вещественные значения параметров, заложенные в генотип особи, кодируются целыми числами. Если на хранение каждого целого кода выделить по п бит, то перевод из целочисленного значения в вещественное осуществляется по формуле: р = ^(2п _ 1), где р - вещественное значение параметра; к - значе-

ние, кодируемое в генотипе особи.

Алгоритмы классификации с использованием нейронных сетей

Решающие правила, построенные с использованием алгоритма нечеткой классификации, являются N -мерными сферами. Для обхода такого ограничения можно воспользоваться аппаратом обучения нейронной

мети (НС) без учителя. После обучения многослойная НС будет способна отображать N-мерное пространство методов ГИС в С-мерное пространство классов.

Основу НС составляют элементы, имитирующие работу нейронов мозга - формальные нейроны (ФН). Текущее состояние нейрона определяется, как взвешенная сумма его входов:

п

х = 2^ • х .

/=1

Выход нейрона есть функция его состояния:

У = ЛХ) .

Активационная функция (АФ) Л является нелинейной и имеет следующие виды.

Жесткая ступенька |0, х < 0

/(х) -

1, X >0

Используется в классическом формальном нейроне. Функция вычисляется двумя-тремя машинными инструкциями, поэтому нейроны с такой нелинейностью требуют малых вычислительных затрат. Эта функция чрезмерно упрощена и не позволяет моделировать схемы с непрерывными сигналами.

Пологая ступенька

О, х <0

([х 01 ]/[02 01 ]) 01 - х < 02

1, х > 0

Вычисление значения функция также производится достаточно просто, поэтому нейроны с такой АФ до-зольно часто используются в алгоритмах обучения без учителя.

Логистическая функция (сигмоида) функция 5-образного вида, является одной из наиболее распро-

страненных

. /(х) -(1 + <Г“х )-1 •

При уменьшении а сигмоида становится более пологой, в пределе при а = 0 вырождаясь в горизонтальную линию на уровне 0.5, при увеличении а сигмоида приближается по внешнему виду к функции единичного скачка с порогом Т в точке х = 0 . Из выражения для сигмоиды очевидно, что выходное значение нейрона лежит в диапазоне [0,1]. Одно из ценных свойств сигмоидальной функции - простое выражение для ее производной.

Л '(х) = а • Л (х) • (1 - Л (х)) .

Следует отметить, что сигмоидальная функция дифференцируема на всей оси абсцисс, что используется в некоторых алгоритмах обучения. Кроме того она обладает свойством усиливать слабые сигналы лучше, чем большие, и предотвращает насыщение от больших сигналов, так как они соответствуют областям аргументов, где сигмоида имеет пологий наклон.

Формальные нейроны могут объединяться в сети различным образом. Самым распространенным видом сети стала многослойная НС. Сеть состоит из произвольного количества слоев нейронов. Нейроны каждого слоя соединяются с нейронами предыдущего и последующего слоев по принципу «каждый с каждым». Первый слой (слева) называется входным, внутренние слои называются скрытыми, последний (самый правый) -выходным.

Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактиче-

ски оно ограничено ресурсами компьютера или специализированной микросхемы, зуется НС.

Работа многослойной НС описывается формулами [7]:

на которых обычно реали-

У?

--/

, 3 - 1...к ,

,

хз

где

нейрона в слое п

номер входа;

,

У

номер нейрона в слое; п - номер слоя,

у

з

й входной сигнал у -го выходной количество нейронов

в слое п

У?

зесовой коэффициент і-го входа нейрона номер у сигнал 3 -го нейрона в слое п ; /(х) - активационная функция нейрона;

слоя (п-1); к - количество нейронов слоя п .

Таким образом работа НС сводится к вычислению активационной функции от взвешенной суммы входов

нейрона для каждого ФН текущего слоя и передача результатов на соответствующие входы ФН следующего слоя. Для выходного слоя, результат вычисления функции активации является результатом работы сети.

Обучение без учителя

Классические алгоритмы обучения нейронных сетей, например, алгоритм обратного распространения ошибки [7], основаны на наличии обучающей выборки. Как уже было сказано выше, на этапе разведки месторождений углеводородов исследователи еще не имеют такой возможности.

Процесс обучения, как и в случае обучения с учителем, заключается в подстраивании весов синапсов. Подстройка синапсов проводится на основании информации, доступной в нейроне, то есть его со-

стояния и уже имеющихся весовых коэффициентов.

Сигнальный метод обучения Хебба заключается в изменении весов по следующему правилу:

Щ

где у(п 1) - выходное значение нейрона і слоя (п -1) . У1

л

выходное значение нейрона ]

щ а) и

зесовой коэффициент синапса, соединяющего эти нейроны, на итерациях £ и £ — 1

иК

ответственно; а - коэффициент скорости обучения. Здесь и далее, для общности, под п ется произвольный слой сети. Обучение сети данным методом усиливаются связи между нейронами.

Другим методом является дифференциальный метод обучения Хебба.

подразумева-^ о збужденными

п

лоя

Щ

Здесь У,(п-1)(і) и у,(п-1) (і -1) - выходное значение нейрона і слоя п -1 соответственно на итерациях і и і -1; У<п)(г) и у(п)(і -1) - то же самое для нейрона 3 слоя п . Как видно из формулы, сильнее всего обучаются синапсы, соединяющие те нейроны, выходы которых наиболее динамично изменились в сторону увеличения.

Алгоритм обучения с применением вышеприведенных формул выглядит следующим образом:

1. На стадии инициализации всем весовым коэффициентам присваиваются небольшие случайные значения.

2. На входы сети подается входной образ, и сигналы возбуждения распространяются по всем слоям согласно принципам классических прямопоточных сетей, то есть для каждого нейрона рассчитывается взвешенная сумма его входов, к которой затем применяется активационная (передаточная) функция

нейрона, в результате чего получается его выходное значение У(п) , і -0,...,М- -1 , где Мі - число

нейронов в слое і ; п - О,..., N -1 , а N - число слоев в сети.

3. На основании полученных выходных значений нейронов по формуле (16) или (17) производится из-

менение весовых коэффициентов.

4. Цикл с шага 2, пока выходные значения сети не перестанут изменяться с заданной точностью. Применение такого способа определения завершения обучения, отличного от использовавшегося для сети обратного распространения, обусловлено тем, что подстраиваемые значения синапсов фактически не ограничены.

На втором шаге цикла попеременно предъявляются все образы из входного набора.

Алгоритм Кохонена. Следующий алгоритм обучения без учителя - алгоритм Кохонена - предусматривает подстройку синапсов на основании их значений от предыдущей итерации. Обучение сводится к минимизации разницы между входными сигналами нейрона, поступающими с выходов нейронов предыдущего слоя

У(п 1) , и весовыми коэффициентами его синапсов.

Wj(t) = Wj(t -1) + а- \Ly(in 4 -Wv(t -1)]

Полный алгоритм обучения имеет примерно такую же структуру, как в методах Хебба, но на шаге 3 из всего слоя выбирается нейрон, значения синапсов которого максимально походят на входной образ, и подстройка весов по формуле (25) проводится только для него. Эта, так называемая, аккредитация может сопровождаться затормаживанием всех остальных нейронов слоя и введением выбранного нейрона в насыщение. Выбор такого нейрона может осуществляться, например, расчетом скалярного произведения вектора весовых коэффициентов с вектором входных значений. Максимальное произведение дает выигравший нейрон.

Другой вариант - расчет расстояния между этими векторами в р -мерном пространстве, где р - размер векторов.

Dj =Ж

J у;

(1=0

где J - индекс нейрона в слое п , i - индекс суммирования по нейронам слоя (п — 1) , Wy - вес

синапса, соединяющего нейроны; выходы нейронов слоя (п — 1) являются входными значениями для слоя п . В данном случае, «побеждает» нейрон с наименьшим расстоянием.

При использовании обучения по алгоритму Кохонена входные образы и начальные значения весовых ко-

эффициентов нормируются.

п—1

XX2 , <20)

у=0

где - i-ая компонента вектора входного образа или вектора весовых коэффициентов, а п - его

размерность. Это позволяет сократить длительность процесса обучения.

Инициализация весовых коэффициентов случайными значениями может привести к тому, что различные классы, которым соответствуют плотно распределенные входные образы, сольются или, наоборот, раздробятся на дополнительные подклассы в случае близких образов одного и того же класса. Для избежания такой ситуации используется метод выпуклой комбинации. Суть его сводится к тому, что входные нормализованные образы подвергаются преобразованию:

Xi = a

где x - i-ая компонента входного образа, п - общее число его компонент, a(t) - коэффициент, изменяющийся в процессе обучения от нуля до единицы, в результате чего вначале на входы сети подаются практически одинаковые образы, а с течением времени они все больше сходятся к исходным. Весовые коэффициен-

—0.5

ты устанавливаются на шаге инициализации равными величине w = п , где п - размерность вектора весов для нейронов инициализируемого слоя.

Гибридная нейронная сеть

Следует отметить, что вид откликов на каждый класс входных образов не известен заранее и будет представлять собой произвольное сочетание состояний нейронов выходного слоя, обусловленное случайным распределением весов на стадии инициализации. Вместе с тем, сеть способна обобщать схожие образы, относя их к одному классу. Тестирование обученной сети позволяет определить топологию классов в выходном слое. Для приведения откликов обученной сети к удобному представлению можно дополнить сеть одним слоем, который, например, по алгоритму обучения однослойного перцептрона необходимо заставить отображать выходные реакции сети в требуемые образы.

ЛИТЕРАТУРА

1. Bezdek, J.C. Pattern Recognition with Fuzzy Objective Function Algorithms. Plenum Press, New York, 1981.

2. deGruijter, J.J., McBratney, A.B., 1988. A modified fuzzy k means for predictive

classification. In: Bock,H.H.(ed) Classification and Related Methods of Data Analysis. pp. 97-104.

Elsevier Science, Amsterdam.

3. Goldberg D.E. Genetic Algorithms in Search, Optimization, and Machine learn-ing. - Addison-Wesley, 1989.

4. Батищев Д. И. Генетические алгоритмы решения экстремальных задач / Под ред. Львовича Я.Е.: Учеб. пособие. - Воронеж, 1995.

5. Батищев Д.И., Скидкина Л.Н., Трапезникова Н.В. Глобальная оптимизация с помощью эволюционно -генетических алгоритмов / Межвуз. Сборник. - Воронеж: ВГТУ, 1994.

6. Вороновский Г.К. и др. Генетические алгоритмы, искусственные нейрон-ные сети и проблемы виртуальной реальности. / Г.К. Вороновский, К.В. Махотило, С.Н. Петрашев, С.А. Сергеев. - Харьков: Основа, 1997. - 112 с.

7. Уоссермен Ф. Нейрокомпьютерная техника. - М., Мир, 1992.