Главная страница
Навигация по странице:

  • 2.5 Обучение нейронной сети 2.5.1 Постановка задачи обучения нейронной сети

  • 2.5.2 Метод градиентного спуска

  • 2.5.3 Метод Левенберга - Марквардта

  • 2.5.1 Практическая реализация 2.5.1.1 Общие сведения

  • Характеристика Значение

  • Активационные функции Значение ошибки

  • 2.6 Сравнение с другими методами моделирования

  • Нейросетевая система управления процессом термохимического обезвоживания нефтяных эмульсий


    Скачать 4.35 Mb.
    НазваниеНейросетевая система управления процессом термохимического обезвоживания нефтяных эмульсий
    Дата09.02.2022
    Размер4.35 Mb.
    Формат файлаpdf
    Имя файлаartyushkin_dis.pdf
    ТипДиссертация
    #355795
    страница5 из 8
    1   2   3   4   5   6   7   8
    2.4 Варианты построения нейросетевой модели
    Согласно работам Хехт-Нильсена, Колмогорова-Арнольда и теореме
    Стоуна-Вейерштрасса многомерную функцию нескольких переменных возможно сколь угодно точно представить с помощью нейронной сети фиксированной размерности с нелинейными активационными функциями нейронов. То есть всегда существует однородная двухслойная нейронная сеть, производящая отображение
    N
    k
    Y
    X
    k
    k
    1
    ,


    , с сигмоидальными активационными функциями и конечным числом нейронов [29, 33].
    Для задачи приближения непрерывной функции на замкнутом ограниченном множестве, функции активации нейронов должны быть монотонно возрастающими и дважды непрерывно дифференцируемыми.
    Таким образом реализуется любой вычислительный алгоритм.
    Массив входных данных обозначим за
    X
    , массив выходных данных за
    Y
    . Нейронная сеть должна производить отображение
    Y
    X

    , реализуя некоторую функцию g такую, что
    )
    (X
    g
    Y

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

    56 описываются векторными нелинейными уравнениями, общая размерность которых равна произведению количества весовых коэффициентов, смещений, и количества нейронов сети. Даже для нейронных сетей с малым количеством нейронов в скрытом слое, эквивалентная размерность линейной динамической модели в несколько раз больше [53].
    Неизвестными остаются только количество нейронов скрытого слоя, которое чаще всего определяется экспериментально.
    Для оценки числа нейронов в скрытых слоях можно воспользоваться формулой определения числа синаптических весов в многослойной сети [33]:


    m
    m
    m
    m
    N
    m
    L
    N
    mN
    w













    1
    log
    1 2
    ,
    (2.11) где
    n
    – размерность входного сигнала, m – размерность выходного сигнала,
    N – число элементов обучающей выборки.
    После оценки необходимого числа весов, можно рассчитать число нейронов в скрытых слоях. Для двухслойной сети число нейронов L вычисляется по формуле:
    m
    n
    L
    L
    w


    ,
    (2.12)
    Для нейронной сети с 1 скрытым слоем, 3 входами, 1 выходом и обучающей выборкой из 4275 целевых выходных значений минимальное число нейронов согласно приведенным формулам составит 60, однако рассчитанное число нейронов является ориентировочным при проектировании ИНС.
    Для определения оптимальной структуры нейросетевой модели необходимо провести сравнение результатов обучения нейронных сетей с различным количеством нейронов скрытого слоя и активационными функциями.

    57
    Структура слоёв разработанных ИНС представлены на рисунке 2.10. а)
    б) в) а – логистическая и линейная активационные функции; б – тангенциальная и линейная активационные функции; в – гиперболический тангенс скрытого и выходного слоя
    Рисунок 2.10 – Структуры нейронных сетей:
    Нейронные сети с логистической активационной функцией выходного нейрона не рассматривались, так как минимальное значение сигмоиды 0 не позволяло полностью воспроизвести экспериментальные данные.
    ИНС состоят из двух слоев нейронов: скрытого и выходного. Также имеются входные нейроны, число которых соответствует числу входных значений – 3. Число нейронов в выходном слое соответствует числу выходов – 1. Структура нейронных связей сети с большим количеством нейронов в скрытом слое представлена на рисунке 2.11.

    58
    Рисунок 2.11 – Связи между нейронами в спроектированных нейронных сетях
    2.5 Обучение нейронной сети
    2.5.1 Постановка задачи обучения нейронной сети
    После определения структуры нейронной сети необходимо определить оптимальные значения всех переменных весовых коэффициентов. От качества обучения зависит способность нейронной сети выполнять поставленные задачи в процессе функционирования.
    Для заданной архитектуры сети все возможные варианты функции
    )
    (X
    g
    Y

    принадлежат множеству G . Обучение нейронной сети состоит в поиске функции
    G
    g

    , оптимальной по критерию
    K
    В качестве критерия
    K
    выбрана среднеквадратичная ошибка между реальным выходным значением нейрона и целевым значением: min
    )
    (
    2 1
    )
    (
    2




    j
    j
    j
    d
    y
    w
    K
    (2.13) где
    j
    y
    – значение j-го выхода нейронной сети,
    j
    d
    – целевое значение j-го выхода.
    Среди методов минимизации функции ошибки для сравнения рассмотрены метод градиентного спуска и метод Левенберга-Марквардта.

    59
    2.5.2 Метод градиентного спуска
    Суть метода градиентного спуска состоит в пошаговом уменьшении первой производной функции ошибки (чаще всего среднеквадратичной ошибки
    )
    (w
    K
    ). Таким образом, в процессе происходит как бы спуск вниз по поверхности сложной формы. На каждом шаге веса связей между нейронами пересчитываются в соответствии с направлением движения.
    На каждой итерации обучения нейронной сети производится вычисление приращения веса нейрона по формуле:
    ij
    ij
    w
    K
    w







    ,
    (2.14) где

    – коэффициент, регулирующий скорость обучения.
    ij
    j
    j
    j
    j
    ij
    w
    S
    dS
    dy
    y
    K
    w
    K









    ,
    (2.15) где
    j
    S
    – взвешенная сумма входных сигналов, определяемая формулой:



    N
    i
    i
    i
    w
    x
    S
    1
    ,
    (2.16) где
    i
    x – значение i-го входа нейрона,
    Обучение построенной ИНС методом градиентного спуска с обратным распространением ошибки (Gradient descent backpropagation) проводилось до приемлемого значения показателя Performance. В программном пакете Neural
    Network Toolbox показатель Performance вычисляется по формуле 2.13. По мере обучения и улучшения качества модели значение среднеквадратичной ошибки стремится к нулю. Длительность обучения составила 1 000 000 эпох, при этом каждые 100 000 итераций проводились проверки значения среднеквадратичной ошибки. По времени процесс обучения занимал от 7 до
    12 часов в зависимости от количества нейронов.

    60
    2.5.3 Метод Левенберга - Марквардта
    Метод совмещает в себе комбинацию градиентного спуска и линейной аппроксимации. В процессе обучения производится оценка приращения веса нейрона по формуле:
    w
    J
    x
    w
    f
    x
    w
    w
    f





    )
    ,
    (
    )
    ,
    (
    ,
    (2.17) где J – якобиан функции
    )
    ,
    (
    n
    x
    w
    f
    в точке w .
    Матрица
    J
    рассчитывается по формуле:























    R
    N
    N
    R
    w
    x
    w
    f
    w
    x
    w
    f
    w
    x
    w
    f
    w
    x
    w
    f
    J
    )
    ,
    (
    )
    ,
    (
    )
    ,
    (
    )
    ,
    (
    1 1
    1 1





    ,
    (2.18) где вектор весовых коэффициентов


    T
    R
    w
    w
    w
    ,
    ,
    1


    Значение
    0


    w
    в точке w обеспечивает минимум условию
    )
    (w
    K
    Условие завершения обучения нейронной сети:
    ))
    (
    (
    )
    (
    w
    f
    y
    J
    w
    J
    J
    w
    K
    T
    T






    ,
    (2.19)
    Таким образом для нахождения значения
    w

    необходимо найти решение уравнения:
    ))
    (
    (
    )
    (
    1
    w
    f
    y
    J
    I
    J
    J
    w
    T
    T






    ,
    (2.20) где
    0


    – параметр регуляризации Марквардта,
    I
    – единичная матрица.
    Приращение
    w

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

    Алгоритм останавливается если значение w

    становится меньше заданного значения параметра.
    Обучение построенной ИНС методом Левенберга-Марквардта с обратным распространением ошибки (Levenberg-Marquardt backpropagation)

    61 проводилось до приемлемого значения показателя Performance. Длительность обучения составила 10 000 эпох. По времени процесс обучения занимал от 2 минут до 2 часов в зависимости от количества нейронов.
    2.5.1 Практическая реализация
    2.5.1.1 Общие сведения
    Обучение искусственных нейронных сетей производилось в программном комплексе MATLAB версия R2017b (9.3.0.713579) 64bit.
    Использовался программный пакет Neural Network Toolbox.
    В программном комплексе MATLAB обучение нейронной сети производится с помощью модуля Neural Network Toolbox, который вызывается в основном меню программы командой nntool. С помощью этого модуля можно создавать многослойные нейросетевые структуры, в которых все нейроны соседних слоёв связаны между собой.
    Интерфейс программы представлен на рисунке 2.12.
    Рисунок 2.12 – Окно управления программного пакета Neural Network Toolbox

    62
    Для создания нейронной сети необходимо настроить параметры, предлагаемые в меню. Окно настройки структуры нейронной сети представлено на рисунке 2.13. Инструментарий предоставляет выбор внутренней структуры нейронной сети:

    количество слоёв – выходной слой + скрытые;

    количество нейронов в каждом слое;

    активационная функция нейронов в слое.
    Окно просмотра структуры нейронной сети с текущими настройками представлено на рисунке 2.14.
    Рисунок 2.13 – Интерфейс создания структуры нейронной сети

    63
    Рисунок 2.14 – Структура нейронной сети в результате настройки параметров
    Окно программы после обучения нейросети методом Левенберга-
    Марквардта на протяжении 10 000 циклов представлено на рисунке 2.15.
    Рисунок 2.15 – Обучение нейронной сети

    64
    После окончания обучений нейронной сети можно просмотреть отчётные графики с информацией о ходе обучения. График изменения значения показателя Performance (среднеквадратичная ошибка) за время обучения представлен на рисунке 2.16. Чем ниже значение ошибки, тем более точно нейронная сеть воспроизводит набор обучающих данных.
    Рисунок 2.16 – График изменения показателя Performance за время обучения
    Изменение значений вспомогательных параметров за время обучения представлены на рисунке 2.17.
    Графики регрессии представлены на рисунке 2.18. Они характеризуют качество воспроизведения нейронной сетью обучающей выборки. Чем ближе значение R к единице, тем лучше нейросеть воспроизводит набор обучающих
    (Training), тестовых (Test) и валидационных (Validation) данных.

    65
    Рисунок 2.17 – Изменение значений параметров обучения во времени
    Рисунок 2.18 – Регрессионная функция нейросети

    66
    Для обучения были спроектированы и обучены нейронные сети с числом нейронов 1, 10, 20, 60, 100. Сравнение результатов обучения приведено в таблице 2.2.
    Таблица 2.2 – Результаты обучения искусственных нейронных сетей
    Активационные функции
    Количество нейронов скрытого слоя
    Метод обучения*
    Среднеквадратичная ошибка
    (Performance)
    Логистическая – линейная
    1
    ГС
    0.0146
    ЛМ
    0.014 10
    ГС
    0.0177
    ЛМ
    0.000344 20
    ГС
    0.00537
    ЛМ
    0.0000803 60
    ГС
    0.0011300
    ЛМ
    0.0000032 100
    ГС
    0.0010300
    ЛМ
    0.0000005
    Гиперболический тангенс – линейная
    1
    ГС
    0.014
    ЛМ
    0.0142 10
    ГС
    0.0148
    ЛМ
    0.00038 20
    ГС
    0.00338
    ЛМ
    0.0000757 60
    ГС
    0.0009740
    ЛМ
    0.0000032 100
    ГС
    0.0007540
    ЛМ
    0.0000006
    Гиперболический тангенс для обоих слоёв
    1
    ГС
    0.0144
    ЛМ
    0.0139 10
    ГС
    0.0144
    ЛМ
    0.000129 20
    ГС
    0.00432
    ЛМ
    0.000026 60
    ГС
    0.0004190
    ЛМ
    0.0000007 100
    ГС
    0.0004660
    ЛМ
    0.0000003
    *ГС – обучения методом градиентного спуска. ЛМ – метод обучения
    Левенберга – Марквардта

    67
    Характеристики операционной системы, использованной при обучении приведены в таблице 2.3.
    Таблица 2.3 – Характеристики операционной системы
    Характеристика
    Значение
    Операционная система
    Windows 10 Pro 64-разрядная
    Процессор
    Intel Core i5-7200 2.5 ГГц
    Оперативная память
    8 ГБ
    Сравнение влияния выбранной активационной функции на значение среднеквадратичной ошибки ИНС, обученной методом Левенберга–
    Марквардта представлено в таблице 2.4.
    Таблица 2.4 – Влияние вида активационной функции на значение среднеквадратичной ошибки
    Активационные
    функции
    Значение ошибки
    Количество нейронов 1 10 20 60 100
    Логистическая
    – линейная
    0.014 0.000344 0.0000803 0.0000032 0.000000523
    Гиперболический тангенс – линейная
    0.0142 0.00038 0.0000757 0.0000032 0.000000581
    Гиперболический тангенс для обоих слоёв
    0.0139 0.000129 0.0000260 0.0000007 0,00000031
    Сравнение методов показало следующее:
    1. Наименьшую среднюю ошибку в качестве активационных функций показала гиперболическая тангенциальная функция для обоих слоёв при количестве нейронов, равном 100 (3*10
    -7
    ). Однако в рамках эксперимента остальные комбинации активационных функций показали сравнимые по порядку точности результатов (5*10
    -7
    и 6*10
    -7
    ) при количестве нейронов равном 100.

    68 2. Метод обучения Левенберга–Марквардта по сравнению с методом градиентного спуска даёт на несколько порядков лучшие показатели качества при меньшем количестве нейронов и занимает в несколько раз меньше времени для обучения.
    3. С увеличением количества нейронов в скрытом слое улучшаются и показатели качества модели. Среднеквадратичная ошибка у модели со 100 нейронами имеет порядок 10
    -7
    . Оптимальным числом нейронов является количество от 10 до 20, при которых ошибка принимает значения от 10
    -4
    до
    10
    -6
    , что с учётом размерности выходного параметра модели (доля отделившейся воды) представляет соответственно ошибку от 1% до 0.01%.
    Диаграммы сравнения значений среднеквадратичной ошибки в зависимости от количества нейронов в скрытом слое и метода обучения представлены на рисунке 2.19.

    69
    Рисунок 2.19 – Значения среднеквадратичной ошибки нейронных сетей, обученных методом градиентного спуска (слева) и Левенберга-
    Марквардта (справа)

    70
    Итоговая нейронная сеть была обучена на расширенном диапазоне экспериментальных данных методом Левенберга-Марквардта.
    Результат, генерируемый обученной ИНС, представлен на рисунках
    2.20 и 2.21, где
    Q
    – расход деэмульгатора,
    t
    – температура эмульсии.
    Рисунок 2.20 – Выход нейронной сети для времени отстаивания 120 минут
    Рисунок 2.21 – Выход нейронной сети для времени отстаивания 120 минут

    71
    На рисунке 2.22 (а, б, в) для сравнения представлены графики экспериментальных данных (сплошная линия) и результата моделирования нейросети (линия с точками). а) при температуре 10°С; б) при температуре 20°С; в) при температуре 40°С.
    Рисунок 2.22 – Доля отделившейся воды при времени отстаивания 60 минут
    2.6 Сравнение с другими методами моделирования
    Для проверки возможности аппроксимации всех экспериментальных значений методом полиномов, как альтернативы ИНС, были построены выражения вида:
    1. Полином первого порядка
    3 3
    2 2
    1 1
    0
    x
    a
    x
    a
    x
    a
    a
    Y




    (2.21)

    72 2. Полином второго порядка
    3 2
    9 3
    1 8
    2 1
    7 2
    3 6
    2 2
    5 2
    1 4
    3 3
    2 2
    1 1
    0
    x
    x
    a
    x
    x
    a
    x
    x
    a
    x
    a
    x
    a
    x
    a
    x
    a
    x
    a
    x
    a
    a
    Y











    (2.22)
    3. Полином третьего порядка
    3 2
    1 19 2
    2 3
    18 1
    2 3
    17 3
    2 2
    16 1
    2 2
    15 3
    2 1
    14 2
    2 1
    13 3
    3 12 3
    2 11 3
    1 10 3
    2 9
    3 1
    8 2
    1 7
    2 3
    6 2
    2 5
    2 1
    4 3
    3 2
    2 1
    1 0
    x
    x
    x
    a
    x
    x
    a
    x
    x
    a
    x
    x
    a
    x
    x
    a
    x
    x
    a
    x
    x
    a
    x
    a
    x
    a
    x
    a
    x
    x
    a
    x
    x
    a
    x
    x
    a
    x
    a
    x
    a
    x
    a
    x
    a
    x
    a
    x
    a
    a
    Y






















    (2.23)
    4. Экспоненциальный полином первого порядка
    3 2
    1 3
    2 1
    0
    x
    x
    x
    e
    a
    e
    a
    e
    a
    a
    Y







    (2.24) где
    3 2
    1
    ,
    ,
    x
    x
    x
    – переменные (расход реагента, температура, время отстаивания);
    19 0
    a
    a

    – коэффициенты полинома.
    Для каждого полинома были определены коэффициенты методом наименьших квадратов.
    При степени полинома менее 2 получаемые результаты вычислений не являются представительными по отношению к экспериментальным данным.
    На рисунке 2.23 приведены графики экспериментальных значений доли отделившейся воды (сплошной линией) и значений этого же параметра, рассчитанных полиномом 2 порядка (а), 3 порядка (б) (точками) при времени отстаивания 60 минут, и температуре 40°С.
    Среди всех представленных полиномов лучшее качество аппроксимации показал полином 3 порядка (0,1326). Обученная нейронная сеть с 1 нейроном в скрытом слое имеет показатель среднеквадратичной ошибки 0,014, что на порядок превосходит показатели модели по методу полиномиальной аппроксимации.
    Дальнейшее увеличение степени полинома приводит к пропорциональному увеличению количества аргументов, что улучшает качество интерполяции, но ухудшает качество экстраполяции, то есть будет уменьшаться способность полинома рассчитывать значения, лежащие вне

    73 диапазона обучающей выборки. К тому же увеличение числа слагаемых, будет негативно сказываться на быстродействии вычислений. а)
    б)
    а) Полином 2 порядка; б) полином 3 порядка.
    Рисунок 2.23 – Сравнение экспериментальных данных и результатов аппроксимации полиномами при t=30°C и T=120 мин

    74
    1   2   3   4   5   6   7   8


    написать администратору сайта