Перейти к публикации

Рекомендованные сообщения

Предлагаю обсудить на форуме тему: можно ли построить программный комплекс гидродинамических расчетов на основе нейронных сетей (НС)?

Общая идея метода такова:

1. Создается библиотека примитивов ("болванок", заготовок), описывающих течение среды в конкретной геометрии, с конкретной средой.

2. Реальная геометрия и начальные и граничные условия набираются из НС-примитивов.

План-методика построения библиотеки примитивов:

1. Выбирается примитивный объект.

1.1. Объект характеризуется геометрией, средой. граничными (и начальными) условиями.

1.2. Берется какая-либо программа CDF, которая может рассчитать течение среды в примитивном объекте.

1.3. По этой программе проводятся вариантные расчеты течения, и насчитывается таблица результатов расчетов при варьировании с определенным шагом: размеров примитивного объекта, начальных и граничных условий. Результаты расчетов сводятся в таблицу вариантов.

2. Выбирается таблица вариантов.

2.1. На этой таблице обучается нейронная сеть (или разные нейросети) с заданной точностью обучения.

2.2. При недостижении заданной точности обучения НС, снова переходим к 1.3.

2.2 При достижении заданной точности запоминаем обученную НС, как элемент библиотеки примитивов. Этот элемент, как черный ящик, при подаче входных данных ( геометрия, среда, Нач. и Гр. усл.) будет давать на "выходе" требуемое решение для примитивов, которых не было в обучающей таблице.

3. Разрабатывается методика набора сложных объектов из примитивов

3.1. Если расчет сложного объекта, собранного из НС-примитивов , сопадает, с заданной точностью, с расчетом этого объекта по соответствующей CFD программе, то можно считать, что метод применим для решения соответствующего класса задач.

Конечно сразу замахиваться на 3D многофазную гидродинамику с теплообменом, скачками и химическими реакциями не стоит. Но если процесс наладить, то и это лишь вопрос времени.

Ссылка на сообщение
Поделиться на других сайтах


"...Этот элемент, как черный ящик, при подаче входных данных ( геометрия, среда, Нач. и Гр. усл.) будет давать на "выходе" требуемое решение для примитивов, которых не было в обучающей таблице...."

А РЕШЕНИЕМ что будет являтся? Если нужно, например, значение какого-либо параметра в определенной точке пространства, или распределение по линии, поверхности, интеграла в конце-концов...., как быть?

Ссылка на сообщение
Поделиться на других сайтах

В НС Вы сами задаете выходные параметры. Обобщенно, выходными параметрами могут быть и указанные Вами . Все это следствие обобщенной аппроксимационной теоремы Колмогорова-Вейерштрасса.

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

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

Пусть у Вас есть труба в которой течет вода.

Снаружи труба греется. Закон распределения теплового потока задан - это 1 входной параметр.

На входе в трубу известны постоянные в времени: скорость, температура и давление - это еще 3 входных параметра.

Заданы длина, диаметр и толщина стенки трубы, а так же ее материал - это еще 4 входных параметра.

Итого: 8 входов.

Задача расчета параметров стационарного потока по всей длине трубы решена в любом учебнике по теплопередаче. Определите, какие выходные параметры Вам нужны и стройте обучающие таблицы дла обучения НС.

Вот и весь процесс!

Ссылка на сообщение
Поделиться на других сайтах
Евгений_Красноярск

Вот и весь процесс!

<{POST_SNAPBACK}>

Я опасаюсь, что простота с которой вы рассуждаете о НС не является таковой для большинства сдешних участников (99%). Дифференциация между вами и нами существенна. Вы отличный физик, как и положенно людям из вашей области и к тому же неплохой математик судя по всему. А мы, и я причисляю себя к этому большинству, пока пытаемся только догнать современный уровень CFD, понять особенности алгоритмов, подтянуть себя до мирового уровня.

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

К сожалению, в противном случае аудитория просто не сможет включиться в диалог по понятной причине.

Ссылка на сообщение
Поделиться на других сайтах

Действительно, существует много спекуляций по поводу НС.

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

НС - это инструмент аппроксимации функций.

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

Здесь нет никакого шарлатанства, может быть не очень привычная терминология, но с математической точки зрения все чисто!

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

Ссылка на сообщение
Поделиться на других сайтах

Я не против чего-то нового, но

¨По этой программе проводятся вариантные расчеты течения, и насчитывается таблица результатов расчетов при варьировании с определенным шагом: ¨

Можно ли такие таблицы создать на все случаи жизни, не проще ли в каждом конкретном случае посчитать конкретную задачу?

На чем реализуются эти НС, что является их носителем?

Есть ли они где в мире?

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

Она будет напоминать Maple, но быть на несколько порядков сложнее.

Ссылка на сообщение
Поделиться на других сайтах

Требование к определенности шага не существует. Если я это четко не обозначил, извиняюсь.

Таблица не создается на все случаи в жизни. Размер и состав таблицы определяет лишь требуемую точность аппроксимации. Хотя разумные пределы "всех случаев в жизни" можно определить уже в начальном этапе. Напр. нет смысла использовать диаметры и толщины труб, которых никто не производит. И золото и платина в качестве материалов газонефтетрубопроводов вряд-ли скоро понадобятся.

НС фактически являются нелинейной функцией от набора параметров. Просто имеют непривычную форму для непосредственного восприятия. Я думаю, что напр. функция Бесселя или Матье 2-го рода Вам тоже покажется трудной для восприятия и "с ходу" многие (и я в том числе) не смогут даже написать их вид и свойства. Хотя Бесселевы функции являются решением многих задач теплопроводности. В отличие от спецфункций одна НС может представлять сразу несколько функций от нескольких аргументов одновременно. Я уже давал ссылку на одну из своих работ по использованию НС в расчете теплофизических свойств воды и пара. Там это просто и понятно изложено.

Что является носителем НС? В нашем восприятии это небольшая подпрограмма на каком либо языке программирования, качественно ничем не отличается от п.п. расчета функции Бесселя, даже более простая. Что-то типа цепных функций или Марковских цепей.

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

Ссылка на сообщение
Поделиться на других сайтах

Тогда порядок действия следующий:

Запрос: путь построения разностных схем

Ответ: газодинамический

Запрос: метод распада разрывов/расщепления потоков

Ответ: расщепления потоков

Запрос: укажите тип

Ответ: Лакса-Фридрихса

Запрос: введите аналит масссив собственных чисел

Ответ: вводим

То же для левых и правых собственных векторов и т.п.

Запрос: Язык программорования

Ответ: си++

ПОЛУЧЕТЕ ПРОГРАММУ

Подставляем числа (геометрия, нач данн и пр.)

МОДЕЛИРУЕМ

Так, что в принципе можно, но сложно.

В понед. такое мы обсуждали в шутку.

Ссылка на сообщение
Поделиться на других сайтах

Говорят: "Простота хуже воровства".

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

Я же еще раз делаю упор на общую последовательность действий. а не на частные решения частных задач (будь то распад разрыва или расчет скачка).

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

Например, в сопряженной задаче ГД-теплообмен (НС-примитив на примере обогреваемой трубы) в "памяти" НС-примитива остаются все коэффициенты гидравлических сопротивлений, числа Рейнольдса и Прандтля, коэффициенты теплоотдачи, теплофизические свойства среды и т.д.), но не в явном виде, а как содержимое черного ящика,поскольку все эти данные будут уже не нужны при последующем наборе той же сопряженной задачи из НС-примитивов.

Какова же процедура набора задачи из НС-примитивов.

Опять же рассмотрим простую задачу течения воды в обогреваемой трубе произвольной длины.

Предположим, что до этого мы обучили НС-примитив метровой (сантиметровой, дециметровой) длины.

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

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

Представьте теперь, что Вы создали и обучили НС-примитивы сеточных аналогов, но формы их гораздо сложнее по геометрии. после чего "набирать" сложную геометрию объекта из таких "puzzle" будет гораздо проще, а расчеты будут идти гораздо быстрее, а памяти нужно гораздо меньше! Ведь "puzzle" Вы уже обучили чему надо ранее!

Ссылка на сообщение
Поделиться на других сайтах

Для задачи о трубе подход более-менее понятен.

А вот уже в плоской задача, как мне кажется, возникает весьма существенная проблема - возвратные течения.

Я имею в виду следующее обстоятельство: Если Вы еще не прошли через этот "кубик", то Вы не знаете о том, выходная граница кубика на самом деле является входной (помните анекдот про доблестного русского разведчика Штирлица?).

При "традиционном" подходе используется сразу несколько механизмов, нацеленных (в том числе) на решение этой проблемы, - противопоточная схема, итерации и SIMPLE-образные алгоритмы.

Ссылка на сообщение
Поделиться на других сайтах

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

Для более сложных случаев есть и более универсальный механизм: рекуррентные нейросети.

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

Классификация по признакам объекта аппроксимации уже неявно предполагалась мною ранее (возвращаясь к примеру на трубе где классифицировались трубы по следующим признакам: диаметр, длинна. толщина и материал стенки). Эти классификаторы входили в состав НС (или, как говорят, наполняли информационную емкость НС) уже не в сложном количественном виде (формулы теплопроводности, таблицы нормалей), а виде просто задания числовых значений. Обученная НС сама "понимала", как эти входы трансформировать в выходы.

Вот и в Вашем случае в процессе обучения НС нужно вводить классификационный(онные) признак - возвратные течения.

Чтобы меня не заподозрили в Маниловщине, НИЖЕ Я ДАЮ НЕСКОЛЬКО ЦИТАТ ИЗ МОНОГРАФИИ САЙМОНА ХАЙКИНА "НЕЙРОННЫЕ СЕТИ, полный курс", изд. "Вильямс", Москва, 2006:

"Рекуррентные НС имеют внутреннюю способность имитировать КОНЕЧНЫЕ АВТОМАТЫ (finite-state automata). Автомат ( automata ) представляет собой абстракцию устройств обработки информации, таких как компьютеры. Любая машина с конечными состояниями эквивалентна некоторой нейронной сети и может быть имитированна ею.Это значит, что для любой машины с конечными состояниями М можно построить определенную нейронную сеть Н, которая, если рассматривать ее "как черный ящик", будет работать в точности как машина М.

Все наверное слышали о МАШИНАХ ТЬЮРИНГА. Так вот, доказана теорема: "Любую машину Тьюринга можно имитировать полносвязной рекуррентной сетью, построенной на нейронах с сигмоидальными функциями активации".

Ссылка на сообщение
Поделиться на других сайтах

Извините за безграмотность, никогда не видел "живьем" НС

В чем разница между обычной реализацией противопоточных схем и итерационного разрения уравнений для давления типа Пуассона

и

обучением этому же НС?

Чем второе лучше?

Получается чтобы просто взять и написать програм. напрямую нужно чему-то обучить некоторое устройство, состоящее из малых обученных примитивов. В общем, не есть ли это путь в Питер через Шанхай?

Не сердитесь.

С другой стороны такой подход мне представляется идеальным в системах аналитического вывода.

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

Ссылка на сообщение
Поделиться на других сайтах

В чем разница между обычной реализацией противопоточных схем и итерационного разрения уравнений для давления типа Пуассона

и обучением этому же НС?

Не понял сути вопроса. если можно, разверните подробнее.

Получается чтобы просто взять и написать програм. напрямую нужно чему-то обучить некоторое устройство, состоящее из малых обученных примитивов. В общем, не есть ли это путь в Питер через Шанхай?

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

Кроме этого Вы, после каждой успешной иттерации имеете готовую обучающую таблицу для некоей НС. Может быть работа по созданию НС-примитивов не так уж и трудоемка, а понятие самого примитива может быть Вами расширено на более широкий класс?

В любом случае теоретическая, алгоритмическая и программная база для того, что я ранее утверждал, уже имеется.

Теперь нужно квалифицированное осмысление направления дальнейшего движения вглубь.

Не продуктивно сразу ставить вопросы типа: "... проблема ХХХ сейчас решается очень сложно, а как Вы предлагаете упростить это с помощью НС?"

Продуктивный подход такой: "... я умею решать проблему ХХХ, это делается так-то и так-то, каков путь реализации этой проблемы через НС"?

Есть понятия информационной емкости алгоритма и его вычислительной мощности.

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

Ссылка на сообщение
Поделиться на других сайтах

Для популярного ознакомления с основами НС я предлагаю посмотреть файл во вложении.

CHAPT1.zip

Ссылка на сообщение
Поделиться на других сайтах

Для более углубленного изучения проблем НС см. более 3 800 000 ссылок на :http://search.lycos.com/index.php?src=sf&query=neural

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...

Предлагаю обсудить на форуме тему: можно ли построить программный комплекс гидродинамических расчетов на основе нейронных сетей (НС)?

Общая идея метода такова:

1. Создается библиотека примитивов ("болванок", заготовок), описывающих течение среды в конкретной геометрии, с конкретной средой.

2. Реальная геометрия и начальные и граничные условия набираются из НС-примитивов.

План-методика построения библиотеки примитивов:

1. Выбирается примитивный объект.

1.1. Объект характеризуется геометрией, средой. граничными (и начальными) условиями.

1.2. Берется какая-либо программа CDF, которая может рассчитать течение среды в примитивном объекте.

1.3. По этой программе проводятся вариантные расчеты течения, и насчитывается таблица результатов расчетов при варьировании с определенным шагом: размеров примитивного объекта, начальных и граничных условий. Результаты расчетов сводятся в таблицу вариантов.

2. Выбирается таблица вариантов.

2.1. На этой таблице обучается нейронная сеть (или разные нейросети) с заданной точностью обучения.

2.2. При недостижении заданной точности обучения НС, снова переходим к 1.3.

2.2 При достижении заданной точности запоминаем обученную НС, как элемент библиотеки примитивов. Этот элемент, как черный ящик, при подаче входных данных ( геометрия, среда, Нач. и Гр. усл.) будет давать на "выходе" требуемое решение для примитивов, которых не было в обучающей таблице.

3. Разрабатывается методика набора сложных объектов из примитивов

3.1. Если расчет сложного объекта, собранного из НС-примитивов , сопадает, с заданной точностью, с расчетом этого объекта по соответствующей CFD программе, то можно считать, что метод применим для решения соответствующего класса задач.

Конечно сразу замахиваться на 3D многофазную гидродинамику с теплообменом, скачками и химическими реакциями не стоит. Но если процесс наладить, то и это лишь вопрос времени.

Да, всё по пунктам 1 и 2 получилось!

На примере течения воды в обогреваемом канале с переменными свойствами и режимами течения от ламинарного до турбулентного всё прошло в точности как и описано выше!

Сеть строится и обучается! точность великолепная даже при одном скрытом слое нейронов (ошибка < 1% ).

Теперь стоит задача набора типовых примитивов. Здесь хотелось бы услышать мнение специалистов о первостепенных по важности формах примитивов.

Ссылка на сообщение
Поделиться на других сайтах

интересная тема, но мне не совсем понятна ее, темы, цель. вы, Eugeen, в основном рассказываете, обсуждения нет. и какой план? создать некое ПО? а кто этим занимается? или это чисто теоретический разговор?

Да, всё по пунктам 1 и 2 получилось!

На примере течения воды в обогреваемом канале с переменными свойствами и режимами течения от ламинарного до турбулентного всё прошло в точности как и описано выше!

Сеть строится и обучается! точность великолепная даже при одном скрытом слое нейронов (ошибка < 1% ).

Теперь стоит задача набора типовых примитивов. Здесь хотелось бы услышать мнение специалистов о первостепенных по важности формах примитивов.

"she's alive! alive!" :velho:
Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

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

Отвечаю всем сразу.

Сначала вопрос: кто-нибудь слышал про нейрокомпьтеры и нейрокомпьютинг, про академика Глушкова и его идеи?

Знает ли кто что в России давно выпускают нейропроцессоры для нейрокомпьютеров?

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

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

Поскольку нейропроцессоры (нейрокомпьтеры) "заточены" под нейросетевые алгоритмы, то их производительность поражает воображение!

И те задачи, которые раньше считались неделями и месяцами на традиционных суперкомпьтерах, на нейрокомпьтерах смогут "проскакивать" за считанные минуты, максимум часы!

Но для этого надо развивать новые подходы к решению "старых" проблем. Эти подходы весьма неожиданные, непривычные, вызывающие недоверие или скепсис. Но уже во многих областях науки и техники с помощью НС получены уникальные результаты. Почему же САЕ (в широком смысле) должен оставаться в стороне? Кто сказал что в гидрогазодинамике или в задачах динамики и прочности нецелесообразно или невозможно использовать НС?

Пусть этот человек изложит свои аргументы а мы все посмотрим их обоснованность.

Ссылка на сообщение
Поделиться на других сайтах

интересная тема, но мне не совсем понятна ее, темы, цель. вы, Eugeen, в основном рассказываете, обсуждения нет. и какой план? создать некое ПО? а кто этим занимается? или это чисто теоретический разговор?

"she's alive! alive!" :velho:

Вот одно из реальных применений НС:

<noindex>http://neuralnetwork.narod.ru/besucher.html</noindex>

Посмотрите мою статью №2 и задайте вопрос если что непонятно.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.



×
×
  • Создать...