Оптимизация аэродинамических характеристик крыла в условиях стохастической неопределенности
МИНИСТЕРСТВО
ОБРАЗОВАНИЯ И НАУКИ РФ
Федеральное
государственное автономное образовательное учреждение высшего профессионального
образования
МОСКОВСКИЙ
ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ
(ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ)
Выпускная
квалификационная работа бакалавра
студента
061 группы ФАЛТ
Оптимизация аэродинамических характеристик крыла в условиях
стохастической неопределенности
Научный руководитель:
кандидат
физико-математических наук, доцент
Дорофеев Евгений
Александрович
Научный консультант:
аспирант, Аврутский
Всеволод Игоревич
Жуковский
2014
Оглавление
1. Введение
2. Описание геометрии крыла
2.1 Модель крыла
2.1.1 Форма крыла в плане
2.1.2 Выбор сечений крыла, в которые устанавливаются профили
.1.3 Система координат профиля
.1.4 Установка профилей в заданные сечения крыла
2.2 Адаптация модели крыла для задачи оптимизации
2.3 Фиксированные параметры крыла и параметры, изменяемые при
оптимизации
3. Робастная оптимизация
3.1 Общая постановка
3.2 Модельная задача оптимизации формы крыла в условиях стохастической
неопределенности параметров набегающего потока
4. Нейронная сеть как генератор геометрий и аппроксиматор
аэродинамических характеристик крыла
4.1 Универсальный аппроксиматор в многомерном пространстве
4.2 Репликатор - нейронная сеть для сжатия размерности данных
и для генерации новых компоновок крыла
.3 Подробное описание сетей
4.3.1 Репликатор
4.3.2 Аппроксиматор
5. Ускорение расчётов
5.1 CUDA
5.2 Ускорение обучения
.3 Обучение аппроксиматора
.4 Обучение репликатора
6. Блок схема алгоритма робастной оптимизации крыла. И описание
реализации метода
7. Результаты
Список использованной литературы
Приложения
1.
Введение
В данной работе рассмотрена задача
создания метода для оптимизации геометрии крыла самолета, учитывая не
постоянство параметров набегающего потока, а также написать соответствующую
компьютерную программу, которая будет позволять получить результат оптимизации
за быстрое время. Эта задача актуальна для создания облика самолета на стадии
предварительного проектирования, потому что необходимо рассматривать много
разных компоновок самолета, а точные аэродинамические расчеты будут занимать
много времени. Поскольку в реальных условиях при полете параметры набегающего
потока меняются со временем. Это приводит к изменению аэродинамических характеристик
самолета и может существенно сказаться на таких важных параметрах, как
дальность и продолжительность крейсерского полета самолета при фиксированной
массе израсходованного топлива. Научная новизна главным образом состоит в учете
нестационарности числа Маха в задаче оптимизации геометрии крыла. В рамках
данной работы была написана компьютерная программа, производящая оптимизацию
компоновки крыла самолета по одному критерию. За основу была выбрана геометрия
пассажирского самолета Ту-204. Также в данной работе были использованы две
нейронных сети, первая - позволяющая описывать компоновку крыла несколькими
числами, используемую в данной работе в качестве генератора профилей крыла и
вторая - вычисляющая значения аэродинамических характеристик крыла.
2.
Описание геометрии крыла
2.1 Модель крыла
В данном разделе дается подробное
описание модели крыла пассажирского самолета используемой в дальнейшем в задаче
оптимизации геометрии крыла.
Модель крыла определяется описанием
нескольких последовательных операций, в результате применения которых строится
поверхность крыла. Эти операции включают в себя:
построение формы крыла в плане,
преобразование “поворота-растяжения”
«полукрыльев»,
построение полной трехмерной
поверхности крыла.
Модель крыла содержит следующие
предположения относительно системы координат крыла OwXwYwZw:
Плоскость OwXwZw
совпадает с базовой плоскостью самолета OXZ и является также плоскостью
симметрии крыла;
Плоскость OwXwYw
перпендикулярна базовой плоскости самолета OXZ и параллельна плоскости OXY
самолета. Эта плоскость называется базовой плоскостью крыла;
Вершина Ow системы
координат крыла совпадает с передней точкой центральной хорды;
Плоскость OwYwZw
перпендикулярна плоскостям OwXwYw и OwXwZw,
дополняя их до правосторонней прямоугольной системы координат.
Система координат OwXwYwZw
проиллюстрирована на Рис.1.
Рис.1 Система координат крыла
Параметры, определяющие геометрию
крыла представлены в таблице:
Обозначение
|
Модельные параметры крыла
|
Параметры крыла в плане
|
bw
|
Размах крыла
|
lw
|
Удлинение крыла
|
hw
|
Сужение базовой трапеции крыла
|
Относительное
положение точки излома
|
|
cw25
|
cwTE
|
Угол стреловидности по задней кромке наплыва
|
Поворот крыла
|
Vw
|
Угол V-образности
|
Параметры сечений
|
{WAVk}
|
Профиль Крыла в kм сечении
|
tak
|
Относительная толщина профиля в kм сечении
|
φk
|
Угол крутки профиля в kм сечении
|
В соответствии со структурой модели
крыла, её параметры разбиты на три подгруппы:
параметры крыла в плане;
поворот крыла на угол V-образности;
параметры сечений.
2.1.1 Форма крыла в плане
Под формой крыла в плане понимается
проекция крыла на базовую плоскость крыла. Форма крыла в плане
проиллюстрирована на Рис.2 для правого полукрыла.
Рис.2 Форма крыла в плане
Размах крыла bw
определяет все линейные размеры объекта и может быть задан в абсолютных
единицах (например, в метрах) или в условных единицах (приняв полуразмах крыла
за единицу).
Удлинение крыла (Wing Aspect Ratio) lw есть отношение квадрата
размаха крыла к площади крыла:
,
где площадь крыла Sw
есть площадь проекции крыла на базовую плоскость крыла, в эту площадь
включается проекция подфюзеляжной части крыла.
Крыло в плане состоит из
базовой трапеции с основаниями Cwbase и Cwtip и наплыва.
На Рис.2 через Ywkink обозначено расстояние от центральной хорды
крыла до точки излома (конечной точки наплыва). Относительное положение точки
излома (Kink trailing edge relative position) есть расстояние Ywkink,
отнесенное к полуразмаху крыла:
.
Сужение базовой трапеции
крыла (Wing Base Taper Ratio) hw
есть отношение длины концевой хорды к длине центральной хорды базовой трапеции:
.
Угловые параметры cw25
и cwTE
являются абсолютными числами и задаются в градусах или радианах.
Остальные параметры
крыла в плане, проиллюстрированные на Рис.2, вычисляются через модельные
параметры, как это описано в Приложении 1.
.1.2 Выбор сечений
крыла, в которые устанавливаются профили
В модели крыла выделены
Nw=11 сечений, положения которых фиксированы и определены следующим
образом.
Сечение с номером k
получается как результат пересечения крыла с плоскостью, параллельной плоскости
OwXwZw и описываемой уравнением:
y = y(k), k = 1, 2, …, Nw. (2.1)
Другими словами, сечение
с номером k находится на расстоянии y(k) от плоскости симметрии крыла.
Введем относительные
величины
k
= y(k) / (bw/2), (2.2)
нормирующие величины
(2.1) по отношению к полуразмаху крыла. Относительные значения Y-координат
сечений приведены в Таблице 1. При задании относительных положений сечений
предполагается, что >
0.1.
Таблица 1. Относительные
значения Y-координат сечений
Номер сечения (k)
|
Относительное положение (yk) сечения
|
1
|
y1 = 0
|
2
|
y2 = 0.1
|
3
|
y3 =
|
4
|
y4 =
|
5
|
y5 =
|
6
|
y6 =
|
7
|
y7 =
|
8
|
y8 =
|
9
|
y9 =
|
10
|
y10 =
|
Nw = 11
|
y11 = 1.0
|
2.1.3 Система координат профиля
Профиль крыла есть сечение крыла
плоскостью, параллельной базовой плоскости самолета. Основные характеристики
профиля проиллюстрированы на Рис.3.
Рис.3 Система координат профиля
Система координат профиля
определяется следующим образом:
Вершина Oa помещается в
крайнюю переднюю точку профиля, а ось OaXa расположена
вдоль хорды профиля (проходит через заднюю кромку профиля);
Ось OaZa
перпендикулярна оси OaXa, дополняет ее до правосторонней
прямоугольной системы координат и касается контура профиля в точке передней
кромки. Крайняя передняя точка профиля условно разбивает контур профиля на
нижнюю и верхнюю части контура.
Выберем множество точек X={x1=0<x2<...<xN=Ca}
(здесь Сa - длина хорды профиля). Таким образом, каждый выбранный
профиль задается таблицей значений функций zua(x) и zla(x),
xÎX. Для остальных
значений аргумента эти функции доопределяются с использованием процедуры
сплайновой интерполяции.
Если зафиксировать множество X
одинаковым для всех профилей, то данные для спецификации профиля можно
представить в виде вектора профиля:
={zuN, zuN-1,
… zu2, 0, zl2,..., zlN}, (2.3)
записанных в следующем порядке:
первая точка последовательности zuN
есть ордината точки верхнего контура на задней кромке профиля, для которой x1=Сa,
z1≥0 (здесь Сa - длина хорды профиля);
последняя точка последовательности
zlN есть ордината точки нижнего контура на задней кромке профиля,
для которой x1=Сa, zN=-z1;
промежуточные точки
последовательности есть ординаты точек профиля, соответствующие обходу профиля
по верхнему контуру от задней кромки до носка и затем по нижнему контуру от
носка до задней кромки, полученные в узлах выбранной сетки X.
Профили, устанавливаемые в первом и
втором сечении, выбираются одинаковыми.
При задании профиля значения
координаты x нормируются по отношению к длине хорды профиля Ca, т.е.
рассматриваются относительные координаты
=, (2.4)
и вместо координат x
профиля, принимающих значения в диапазоне [0; Ca], будут
использоваться относительные координаты, принимающие значения
из отрезка [0, 1].
Одной из характеристик
профиля является относительная максимальная толщина профиля (Airfoil thickness
aspect ratio) (ta), определяемая соотношением:
a
= Ta / Ca. (2.5)
где Ta есть
максимальная толщина профиля, определяемая соотношением:
a
= max {½zua(x)
- zla(x)½, 0 £ x £ Ca}; (2.6)
.1.4 Установка профилей
в заданные сечения крыла
Установка профилей в
заранее определенные сечения (Таблица 1) в модели крыла описывается следующими
процедурами:
процедурой растяжения
выбранного профиля по оси OaXa таким образом, чтобы длина
хорды профиля стала равной длине хорды выбранного сечения;
процедурой растяжения
выбранного профиля по оси OaZa таким образом, чтобы
максимальная толщина профиля стала равной заданному значению;
процедурой поворота
установленного профиля на некоторый угол (угол крутки) в плоскости сечения
вокруг крайней передней точки профиля;
процедурой последующего
растяжения профиля таким образом, чтобы его проекция на базовую плоскость крыла
OwXwYw не изменилась.
В первом и втором
сечениях профили устанавливаются одинаковым образом.
Угол крутки профиля φk
в k-м сечении определяется как угол между хордой сечения крыла в k-м сечении и
плоскостью OwXwYw. Это определение
проиллюстрировано на Рис.4 ниже.
Рис.4 Поворот профиля на
угол крутки
крыло аэродинамический
стохастическая неопределенность
Угол крутки считается
положительным, если передняя точка хорды выше задней точки той же хорды.
2.2 Адаптация модели крыла для задачи
оптимизации
Для реализации задачи оптимизации
немного адаптируем модель крыла.
Во-первых, мы добавляем передний
наплыв крыла. Во-вторых, геометрии переднего и заднего наплывов будут
определяться своими площадями:
Рис.5 Адаптированная форма крыла в
плане
полная площадь крыла - S0,
площадь базовой трапеции крыла - Sb,
площадь переднего наплыва - S1,
площадь заднего наплыва - S2.
При этом:
0 = Sb + S1 + S2.
Таким образом, в качестве исходных
данных для определения геометрии крыла будут использоваться:
- размах
- удлинение крыла по
полной площади
- сужение базовой
трапеции
- относительная площадь
переднего наплыва
- относительная площадь
заднего наплыва
- положение излома по
передней кромке крыла
- положение излома по
задней кромке крыла
- стреловидность по ¼
базовой трапеции
- угол V-образности корневой
части крыла
- угол V-образности
концевой части крыла
При аэродинамическом
расчете кроме параметров геометрии крыла, необходимо задавать параметры
определяющие геометрию фюзеляжа. Эти параметры будут фиксированы в процессе
оптимизации, и поэтому мы не будем подробно их здесь описывать (см. Приложение
2). Тем не менее, они являются необходимыми параметрами при вычислении
аэродинамических характеристик крыла. Таким образом, полный набор параметров
есть:
параметры фюзеляжа: , , , , HD, dzT, DL;
расположение крыла на
фюзеляже: X0, Y0;
параметры крыла: , , , , , , , , ;
параметры для каждого из
11 сечений:
относительные толщины
профиля - {tak},
углы крутки профилей - {φk}
и 59 параметров координат профиля.
Рис.6 Вид на
адаптированное крыло сзади
2.3 Фиксированные параметры
крыла и параметры, изменяемые при оптимизации
Все параметры крыла можно поделить
на две группы:
Фиксированные
Изменяемые при оптимизации
В число фиксированных параметров
входят (всего 20 штук):
, , , , , , , , , , , , , , HD, dzT, DL, X0,
Y0, tak.
В ходе оптимизации
меняются углы крутки профилей(φk)
и 59 координат для каждого из 10 различных профилей.
3.
Робастная оптимизация
3.1 Общая постановка
Если рассматриваемая
модель находится в условиях статистической неопределенности, то ее качество (те
свойства модели, которые важны в рамках поставленной задачи) можно описать
некоторой целевой функцией , где - набор параметров
модели, которые подлежат изменению в процессе оптимизации, а X - случайный
n-мерный вектор, моделирующий стохастическую неопределённость. Считается, что - детерминированный
m-мерный вектор. Будем предполагать, что чем меньше значение функции , при некотором наборе параметров и реализации
вектора тем качественней
модель.
Процесс выбора
оптимальной модели в условиях стохастической неопределенности формализуется
путем введения в рассмотрение функции вероятности.
Пусть - действительный параметр,
который обозначает допустимый уровень целевой функции. Это означает, что если
для некоторых и выполнено неравенство , то считается, что мы
имеем приемлемую модель. Поскольку вектор на самом деле
неизвестен на этапе поиска изменяемых параметров модели , то можно говорить лишь
о вероятности события . Если эту вероятность
рассматривать в зависимости от параметров , то получим функцию
вероятности:
Эта функция является
мерой качества модели с параметрами , поскольку ее значение
характеризует вероятность получения желаемого результата.
Исходя из физического
смысла функции вероятности , как меры качества
модели, разумно выбрать такой набор параметров , которые были бы
наиболее надежны по значению целевой функции. Таким образом, с использованием
функции вероятности задача нахождения оптимальной модели в условиях
статистической неопределенности может быть поставлена в следующем виде: найти
такой набор параметров при котором
3.2 Модельная задача оптимизации
формы крыла в условиях стохастической неопределенности параметров набегающего
потока
Применим описанную
постановку к задаче оптимизации формы крыла в условиях флуктуации параметров
набегаемого потока. Пусть для простоты только число Маха набегаемого потока
является случайной величиной из интервала c некоторой плотностью
вероятности . (Для простоты будем
полагать эту плотность вероятности постоянной на указанном отрезке). Тогда
коэффициент сопротивления крыла , а также коэффициент
подъемной силы крыла будут случайными
величинами являясь функциями числа . Задача робастной
оптимизации крыла будет тогда состоять в нахождении такой геометрии крыла при которой,
вероятность принимает максимальное
значение.
Здесь - некоторый пороговый
коэффициент сопротивления, являющийся параметром задачи оптимизации, а угол
атаки при каждой конкретной
реализации числа Маха выбирается таким
образом, чтобы оставалась постоянной подъемная сила крыла:
С учетом предполагаемого
постоянства плотности воздуха и скорости звука, это условие можно переписать в
виде:
Поставленная задача
оптимизации приводит к необходимости, во-первых, уметь быстро генерировать
геометрически приемлемые компоновки крыльев, а во-вторых, необходимо иметь
средство быстрого вычисления аэродинамических характеристик крыла для данной
компоновки , и для данных
параметров потока , а именно функций и .
В нашей работе мы обе
эти задачи будем решать с помощью искусственных нейронных сетей.
4.
Нейронная сеть как генератор геометрий и аппроксиматор аэродинамических
характеристик крыла
4.1 Универсальный аппроксиматор
в многомерном пространстве
Рассмотренная в разделе
2 модель геометрии крыла требует для своего описания 690 параметров.
Следовательно, функции описывающие зависимость аэродинамических коэффициентов () от геометрии крыла
определены на области пространства именно такой размерности. Таким образом,
размерность задачи очень велика. Хорошо известно, что с увеличением размерности
задачи эффективность применения методов линейного регрессионного анализа для
построение аппроксиматоров, сильно снижается. Так же резко усложняется поиск
экстремума в задачах высокой размерности. Связано это с так называемым
«проклятием размерности». Допустим, что для каждой переменной уравнение
одномерного сечения представляет собой прямую. Положим, что двух точек
достаточно для аппроксимации отклика по каждой из переменных. Тогда в
многомерном пространстве потребуется точек. Затраты в этом
случае резко возрастают экспоненциально и применение линейного регрессионного
анализа становится фактически невозможным.
Другим критическим
параметром в задачах оптимизации является время необходимое на однократное
вычисление целевой функций.
Если для этого
использовать программы прямого аэродинамического расчета, то это время
неприемлемо велико, так как в задачах оптимизации требуется очень много раз
вычислять целевую функцию. Это приводит нас к необходимости использовать
многомерные аппроксиматоры для вычисления аэродинамических функций. Возникает
задача построения многомерных аппроксиматоров.
Существует подход к
решению этой задачи, а именно, применение искусственных нейронных сетей (далее
- сети, нейронные сети или ИНС) определённой конфигурации. Рассмотрим одну из
таких конфигураций на примере нейронной сети, используемой в данной работе. Она
схематично представлена на Рис.7 и представляет собой простой вариант сетей
более общей конфигурации, называемой многослойным персептроном.
Рис.7 Схематичное
представление многослойного персептрона с одним скрытым слоем
Эта нейронная сеть,
состоит из трёх слоёв, нейроны которых имеют свою функцию активации, то есть
некоторую функцию, которая преобразует сигналы, входящие в нейрон, в один
выходящий сигнал. Первый слой называется входным. Число нейронов n этого слоя,
как правило, равно числу входных параметров задачи. Функция активации нейронов
данного слоя линейная. Второй слой относится к категории скрытых слоёв. В
данном случае такой слой всего один, но их может быть и несколько. Число
нейронов m определяется, исходя из объёма данных обучающего множества. Функция
активации нейронов этого слоя сигмоидная:
(4.1)
Третий слой называется выходным и в
данном случае состоит всего из одного нейрона, имеющего линейную функцию
активации.
Все нейроны предыдущего
слоя связаны с каждым нейроном последующего слоя. Эти связи реализуются в виде
синоптических весов (на Рис.7 они обозначены как , ),
или просто весов. Процесс обучения нейронной сети заключается как раз в
настройке этих самых весов. В данной работе для обучения использован алгоритм
обратного распространения ошибки.
С математической точки
зрения, нейронная сеть, описанная выше, представляет собой следующую функцию переменных
(4.2)
где -
вектор смещений; -
функция, определённая любой формулой из (4.1). В теории нейронных сетей
доказана следующая теорема (Цыбенко) [2, 3]:
Таким образом, ИНС, используемая в
данной работе, представляет собой универсальный аппроксиматор в многомерном
пространстве. Это следует из только что сформулированной теоремы, показывающей
способность нейронной сети (4.2) описать любую непрерывную зависимость с
заданной точностью.
Число примеров (точек) для обучения
искусственной нейронной сети фактически не зависит от размерности задачи. Оно
определяется числом m нейронов на скрытом слое. Практика показывает, что для
минимального обучения ИНС достаточно взять примерно 20 расчётных точек на
каждый скрытый нейрон. А это на несколько порядков уменьшает затраты, по
сравнению с использованием методов линейного регрессионного анализа.
Таким образом, использование ИНС для
задач с большим числом параметров является не только целесообразным, а порой и
единственным известным на данный момент решением. Поэтому аппроксиматоры
аэродинамических функций в данной работе строится на базе персептрона подобному
(4.2), но возможно с большим числом скрытых слоев для увеличения обобщающей
способности.
4.2 Репликатор - нейронная сеть
для сжатия размерности данных и для генерации новых компоновок крыла
Для уменьшения размерности
пространства задачи оптимизации воспользуемся методом репликатора. Суть его
заключается в том, что строится нейронная сеть (Рис.8) которая обучается
выдавать на выходе тот же самый набор данных, которые подаются на входной слой.
Но в середине этой нейронной сети нейронов меньше, чем на входе и выходе.
Рис.8 Схематичное представление
репликатора
В результате, можно считать, что по
мере прохождения сигнала такая сеть (в дальнейшем - репликатор) уменьшает
размерность данных, то есть будет сжимать информацию, а потом снова
восстанавливает. В данной работе репликатор это полносвязный пятислойный
персептрон, который обучается на наборе компоновок крыльев методом обратного
распространения ошибки (back propagation). Входной и выходной слои состоят из
590 нейронов, второй и четвертый из 320, а третий из 60 нейронов. Функции
активации второго и четвертого слоев сигмоидная функция, для остальных слоев -
линейная функция. Из такого репликатора можно получить новые сети меньшего
размера. Представим, что новая нейронная сеть состоит из первых трех слоев
репликатора, предварительно обученного на множестве данных. Таким образом,
скрытый слой первоначальной сети становится выходным слоем новой. Эта нейронная
сеть называемая компрессором позволяет получить из 590 чисел, описывающих
геометрию профиля крыла, 60 других чисел. Эти числа сами по себе не имеют
физического смысла, они, как и сжатые архиватором данные, отражают лишь
внутреннюю структуру работы архиватора, или, в нашем случае, трехслойной
нейронной сети. Если же взять последние три слоя репликатора для получения
новой сети, то такая нейронная сеть будет разархивировать данные, то есть,
восстанавливать первоначальную размерность. Она называется декомпрессором. По
получаемым на входе 60 числам нейронная сеть будет выдавать параметры крыла.
Если эти 60 чисел были получены после прохождения первых трех слоев, то на
выходе получим первоначальную компоновку крыла. Если же на вход такой сети
подать случайный набор шести чисел, она даст на выходе какой-нибудь новую
компоновку, которого не было в базе данных профилей. Таким образом,
декомпрессор можно рассматривать как генератор компоновок крыльев. При
варьировании 60 значений выдаваемый компоновка крыла будет изменяться
непрерывным образом. Таким образом, таким генератором компоновок крыльев можно
значительно снизить размерность задачи оптимизации.
4.3
Подробное описание сетей
Таким образом, в нашей задаче
используется две нейронных сети: репликатор и аппроксиматор. Опишем подробно
структуру этих сетей, которые были обучены для использования в задаче
оптимизации.
.3.1 Репликатор
Количество нейронов на каждом слое
репликатора следующее:
590 320 60 320 590
Формула для вычисления
выхода по входу:
где V - входной вектор,
“” - матричное умножение,
- сигмоидная функция
активации.
Каждый входной и
выходной вектор нормируется по среднему значению и дисперсии. То есть перед
сжатием из компонент вектора вычитаются средние значения и далее они делятся на
дисперсию, а после восстановления каждая компонента вектора умножается на
дисперсию и добавляется к среднему значению.
Для генерации компоновок
крыла следует выделить множество сжатых векторов. И использовать только
разжимающую часть репликатора, то есть:
где Vc -
сжатый входной вектор.
4.3.2 Аппроксиматор
Аппроксиматор - это
нейронная сеть, которая аппроксимирует функции аэродинамических параметров для
крыла и представляет собой четырехслойную сеть персептронного типа. Первые две
компоненты входного вектора аппроксиматора: число Маха и угол атаки. Далее идут
17 компоненты вектора, отвечающие за представление компоновки крыла в плане и
параметров фюзеляжа, без использования компоненты Y0, которая характеризует
расположение крыла на фюзеляже. А после них идут компоненты 10-ти независимых
сечений крыла, по 61 значению в каждом. Каждый входной и выходной вектор
нормируется по среднему значению и дисперсии. В этой нейронной сети два
нелинейных скрытых слоя. Количество нейронов на каждом слое:
768 768 8
Формула для вычисления
выхода по входу:
где V - входной вектор,
“” - матричное умножение,
- сигмоидная функция
активации.
Выходной вектор
аппроксиматора состоит из: и шести служебных
переменных.
5.
Ускорение расчётов
Нейроны в одном слое нейронной сети
полностью независимы друг от друга, что позволяет выполнять процесс обучения на
параллельной архитектуре. Для получения приемлемого времени обучения необходимо
увеличить вычислительную мощность в 250-500 раз относительно одного CPU. Для
преодоления этого барьера производительности применялась технология CUDA.
5.1 CUDA
Рост частот универсальных
процессоров упёрся в физические ограничения и высокое энергопотребление, и
увеличение их производительности всё чаще происходит за счёт размещения
нескольких ядер в одном чипе. Продаваемые сейчас процессоры содержат лишь до
четырёх ядер (дальнейший рост не будет быстрым) и они предназначены для обычных
приложений, используют MIMD - множественный поток команд и данных. Каждое ядро
работает отдельно от остальных, исполняя разные инструкции для разных процессов.
Специализированные векторные
возможности (SSE2 и SSE3) для четырехкомпонентных (одинарная точность
вычислений с плавающей точкой) и двухкомпонентных (двойная точность) векторов
появились в универсальных процессорах из-за возросших требований графических приложений,
в первую очередь. Именно поэтому для определённых задач применение GPU
выгоднее, ведь они изначально сделаны для них.
Итак, перечислим основные различия
между архитектурами CPU и GPU. Ядра CPU созданы для исполнения одного потока
последовательных инструкций с максимальной производительностью, а GPU
проектируются для быстрого исполнения большого числа параллельно выполняемых
потоков инструкций. Универсальные процессоры оптимизированы для достижения
высокой производительности единственного потока команд, обрабатывающего и целые
числа и числа с плавающей точкой. При этом доступ к памяти случайный. У
видеочипов работа простая и распараллеленная изначально. Видеочип принимает на
входе группу полигонов, проводит все необходимые операции, и на выходе выдаёт
пиксели. Обработка полигонов и пикселей независима, их можно обрабатывать
параллельно, отдельно друг от друга. Поэтому, из-за изначально параллельной
организации работы в GPU используется большое количество исполнительных блоков,
которые легко загрузить, в отличие от последовательного потока инструкций для
CPU. отличается от CPU ещё и по принципам доступа к памяти. В GPU он связанный
и легко предсказуемый - если из памяти читается тексель текстуры, то через
некоторое время придёт время и для соседних текселей.
Есть множество различий и в
поддержке многопоточности. CPU исполняет 1-2 потока вычислений на одно
процессорное ядро, а видеочипы могут поддерживать до 1024 потоков на каждый
мультипроцессор, которых в чипе несколько штук. И если переключение с одного
потока на другой для CPU стоит сотни тактов, то GPU переключает несколько
потоков за один такт.
Кроме того, центральные процессоры
используют SIMD (одна инструкция выполняется над многочисленными данными) блоки
для векторных вычислений, а видеочипы применяют SIMT (одна инструкция и
несколько потоков) для скалярной обработки потоков. SIMT не требует, чтобы
разработчик преобразовывал данные в векторы, и допускает произвольные ветвления
в потоках.
Вкратце можно сказать, что в отличие
от современных универсальных CPU, видеочипы предназначены для параллельных
вычислений с большим количеством арифметических операций. И значительно большее
число транзисторов GPU работает по прямому назначению - обработке массивов
данных, а не управляет исполнением (flow control) немногочисленных
последовательных вычислительных потоков. Это схема того, сколько места в CPU и
GPU занимает разнообразная логика:
Риc.9
Схема распределения функции вычислительных блоков для CPU и GPU
В итоге, основой для эффективного
использования мощи GPU в научных и иных неграфических расчётах является
распараллеливание алгоритмов на сотни исполнительных блоков, имеющихся в
видеочипах.
Выполнение расчётов на GPU
показывает отличные результаты в алгоритмах, использующих параллельную
обработку данных. То есть, когда одну и ту же последовательность математических
операций применяют к большому объёму данных, как в случае нейронов, в каждом
слое работающих аналогично, но с разным набором данных. При этом лучшие результаты
достигаются, если отношение числа арифметических инструкций к числу обращений к
памяти достаточно велико.
В результате всех описанных выше
отличий, теоретическая производительность видеочипов значительно превосходит
производительность CPU. Компания NVIDIA приводит такой график роста
производительности CPU и GPU за последние несколько лет:
Рис.10
Сравнение теоретической производительности CPU и GPU
5.2 Ускорение обучения
Рис.11 Зависимость прироста
ускорения от размерности задачи
Использование параллельных
вычислений на платформе CUDA позволило впервые получить следующие результаты:
Для обучения нейросетей
использовалась база данных из 28000 компоновок ЛА, каждая из которых заранее
обсчитывалась в нескольких режимах угла атаки и числа маха. Часть данных
использовалась для обучения, и около 5% оставлялось для проверки
интерполяционных свойств нейронной сети.
5.3 Обучение аппроксиматора
Для аппроксимации с помощью
нейронной сети использовалась выборка из 19200 различных режимов обтекания 1200
различных компоновок. Средняя ошибка деленная на дисперсию составила 14% для
основного множества и 15.6% для проверочного.
5.4 Обучение репликатора
Создание сжимающего и
восстанавливающего отображения для компоновок, 14848 входных векторов.
Отношение средней ошибки к дисперсии - 11%, для проверочного множества также
11%. 662 координаты отобразились в 55. Диаграмма рассеяния на Рис.12 дает
некоторое представление о качестве обучения.
Рис.12 По оси Х - компоненты
искомого вектора, по оси У - вектора компоновки, получаемого нейронной сетью
6.
Блок схема алгоритма робастной оптимизации крыла. И описание реализации метода
Опишем алгоритм робастной
оптимизации компоновки крыла:
. С помощью генератора
компоновок, порождаем новую случайную компоновку (точнее изменяемую её часть),
путём генерации 60 случайных чисел в заданных интервалах. (G)
. Для компоновки G,
повторяем Ngist раз следующую процедуру:
1.1 Генерируем случайное число
Маха M с плотностью вероятности p(M).
1.2 Из условия
находим необходимый
коэффициент подъемной силы .
.3 По данному и G находим соответствующий
угол атаки .
.4 По углу атаки , G, M находим
коэффициент
. Имея Ngist
значений находим вероятность по формуле
. Если , то , .
Если , то оставляем без
изменений.
. Проверяем
условие остановки алгоритма и если оно не выполнено, то переходим к пункту 1.
Если условие остановки выполнено, то выдаем в качестве ответа .
Условие остановки: если число
итераций превышает заданное Natt.
При этом оптимальная компоновка
есть функция параметров . Параметрами алгоритма
при этом являются Ngist и Natt.- компоновка крыла- число
Маха
- коэффициент
сопротивления
- коэффициент подъемной
силы
- случайная генерация
компоновок
- случайная генерация
числа M
Рис.13 Блок схема
программы
7.
Результаты
Была решена модельная задача
конечномерной оптимизации при заданных граничных параметрах.
В целом по полученным результатам
можно сформулировать следующие выводы:
. С помощью нейронных сетей
и статистической выборки можно быстро сгенерировать компоновку оптимального
крыла при заданном граничном пороге определяющей характеристики.
. Заданные параметры
определяют границы устойчивости, которые в малом ряде случаев могут быть
превышены, в связи с вероятностным подходом к решению задачи.
Список
использованной литературы
1. Дорофеев Е.А. Введение в теорию искусственных нейронных
сетей. Курс лекций. - ФАЛТ МФТИ, 2008/2009 уч. г.
. Cybenko G.V. Approximation by Superpositions of a
Sigmoidal Function. //Jr. Mathematics of Control, Signals and Systems
/Springer-Verlag - New York, 1989 - vol. 2 no. 4 - pp. 303-314
. Колмогоров А.Н. О представлении непрерывных функций нескольких переменных в
виде суперпозиции непрерывных функций одного переменного. Докл. АН СССР, 1957. Т. 114, No 5. С.
953-956.
. Хайкин С. Нейронные сети. Полный курс. /Второе издание.
- С.-Пб.: «Вильямс», 2006
. Применение искусственных нейронных сетей в задачах
прикладной аэродинамики. //Труды «ЦАГИ»: сб.ст. под ред. Свириденко Ю.Н. /ЦАГИ
- 2008 - вып. 2678
. Е.А.Дорофеев. Задачи оптимизации в условиях
статистической неопределенности. Москва, 2010.
. Arthur Earl Bryson, Yu-Chi Ho (1969). Applied optimal
control: optimization, estimation, and control. Blaisdell Publishing Company or
Xerox College Publishing. pp. 481
. NVIDIA CUDA Programming Guide Version 2.3.1 // NVIDIA -
World Leader in Visual Computing Technologies. 2011. URL:
#"805720.files/image101.gif">. (2.7)
Угол стреловидности по
задней кромке базовой трапеции (cwBTE)
(см. Рис.2):
, (2.8)
где Cwbase -
длина центральной хорды базовой трапеции крыла (см. Рис.2) есть:
(2.9)
Площадь крыла (Sw):
. (2.10)
Длина Средней
Аэродинамической Хорды (Сwmac) (Mean aerodynamic chord (MAC)):
, (2.11)
где: c(y) - длина хорды
крыла, лежащей в плоскости с уравнением Y = y. Величина Сwmac равна:
, (2.12)
здесь S1 и S2
- площади трапеций, образующих крыло в плане (см. Рис.2):
;
);
Компоненты С1wmac
и C2wmac есть:
,
,
где:
длина центральной хорды
крыла Cwroot (см. Рис.2) равна:
, (2.13)
длина концевой хорды
крыла Cwtip (см. Рис.2) равна:
wtip
= hw
´
Cwbroot, (2.14)
длина хорды в точке
излома Cwkink (см. Рис.2) равна:
wkink
= (1 -)
´
Cwbroot + ´
Cwtip. (2.15)
Положение Средней
Аэродинамической Хорды (MAC location) (Xwmac, Ywmac, Zwmac)
в Системе Координат Крыла, определяемое координатами носка Средней Аэродинамической
Хорды:
, (2.17)
, (2.18)
здесь Xle(y)
и Zle(y) - X- и Z-координаты передней кромки крыла в системе координат
крыла как функции значения координаты Y = y.
Величины Xle(y)
и Zle(y) равны:
le(y)
= y ´
tgcwLE;le(y)
= y ´
tgVw,
поэтому:
wmac
= Ywmac ´ tgcwLE;wmac= Ywmac ´ tgVw,
Величина Ywmac
равна:
,
где
,
,
Положение X-координаты
25%-точки Средней Аэродинамической Хорды (X-coordinate of 25%MAC location) Xwmac25
в Системе Координат Крыла:wmac25 = Xwmac + 0.25 ´
Cwmac.
Приложение 2. Параметры
фюзеляжа
Таблица 2 Модельные параметры
фюзеляжа
Обозначение
|
Модельные параметры фюзеляжа
|
dmax
|
Максимальная ширина фюзеляжа
|
Удлинение
носовой части фюзеляжа
|
|
Удлинение
центральной части фюзеляжа
|
|
Удлинение
хвостовой части фюзеляжа
|
|
Отношение
высоты к ширине центральной части фюзеляжа
|
|
e
|
Параметр формы поперечных сечений фюзеляжа
|
zt=Отклонение вверх
хвостовой части фюзеляжа. Здесь z0(Lf) есть
z-координата центра сечения S(Lf).
|
|
Параметры ln, lc,
lt, zt являются относительными величинами, параметры e и λf являются абсолютными
числами. Ширина центральной (цилиндрической) части фюзеляжа dmax
определяет все линейные размеры объекта и может быть задана в абсолютных
единицах (например, в метрах) или в условных единицах (приняв ширину
центральной части фюзеляжа за единицу).
Вычисляемые геометрические
характеристики фюзеляжа:
Для фюзеляжа вычисляется ряд
дополнительных интегральных характеристик как функции параметров.
Длина фюзеляжа Lf:
(2.20)
Удлинение фюзеляжа lf:
(2.21)
Площадь миделевого
сечения фюзеляжа Sf - наибольшая площадь сечения фюзеляжа
плоскостью, перпендикулярной оси фюзеляжа OfXf. Из модели
следует, что наибольшую площадь имеет сечение центральной (цилиндрической)
части фюзеляжа.
Высота hmax
фюзеляжа - максимальная высота поперечного сечения фюзеляжа, перпендикулярного
к оси OfXf.:
. (2.22)