Многие компании пытались создать сложные генетические алгоритмы, но все потерпели крах. В основном по одной причине, попытке создать сложный алгоритм с большим количеством нелинейных зависимостей. Но для того что бы создать искусственную генетику, необходимо понять как функционирует вполне себе природная.
Возьмем для примера человека, как мы распознаем лица, буквы, цифры , геометрию ? Это очень сложный вопрос, но на его смог ответить Ян Лекун - французский ученый в области информатики и нейробиологии. Он можно сказать является основателем такого вида нейронных сетей как CNN - convolution neural network, данная нейросеть работает по принципу зрительной коры человеческого мозга, где простые клетки распознают прямые линии под различными углами и передают информацию в более сложные клетки в которых собираются уже более сложные изображения и т. д. пока не складывается полная картинка увиденная человеческим глазом.
Если посмотреть на эту же визуализацию с точки зрения математики, то увидим следующее:
Вы ведь часто слышите такое выражение как "он очень опытен" ? По сути это обозначает что этот человек натренировал большое количество простых клеток в зрительной коре. И обращаясь к данным клеткам происходит воссоздание необходимых деталей.
Но с реальным конструированием все намного сложнее, каждый входящий параметр это череда сложных алгоритмов которые сложно запомнить. Например алгоритм Ллойда. Суть алгоритма в нахождении геометрического центра площади и смещение узла вокруг которого построена диаграмма в сторону центра, при этом происходит анализ соседних диаграмм. С каждой итерацией происходит уравновешивание всех площадей и смещение узловых точек в сторону уравновешивания. В программе Prometey этот алгоритм реализован, но доступен через специальную панель управления скрытую от всех пользователей:
Без итераций:
1 итерация:
10 итераций:
Видно как площади уравновешиваются, сглаживаются друг к другу локальные максимумы и минимумы. И это еще далеко не ИИ, это просто сложный итерационный скрипт. Алгоритм Ллойда всего лишь один из множества алгоритмов необходимых для работы нейросети.
Если теперь поговорить конкретно про нейросети в конструировании, то из всего множества давайте выберем нужный вид:
И как видно ни одна из существующих нейросетей нам не подходит, у нас должна быть немного иная как по структуре так и по функциональности, вот примерная структура:
По своей сути она выполняет следующие функции:
1. Расставляет пилоны согласно расположения архитектурных стен
2. Оценивает их эффективность
3. Пилоны которые показывают плохую эффективность, смещает согласно расположения архитектурных стен
4. Если смещение не возможно, то уменьшает/увеличивает сечение
5. Выполняет п.2-4 столько эпох, сколько запросит пользователь
Но я еще не сказал самое главное, существует так же параллельная нейросеть, которая отбирает (для обучения первой нейросети) на сервере лучшие сочетания расположения пилонов в самых эффективных схемах. Для этого я создал формат обмена данных "prm", отмотать на 12:00,
Лучшие схемы отбираются автоматически, пока это схемы перешагнувшие 70% барьер эффективности и отправляются на центральный сервер. Юридическая сторона данного вопроса описана в политике приложения.
Первые данные для обучения нейросети я предоставил исходя из своего личного опыта, но для того что бы создать действительно альтернативный разум, понадобиться сотни тысяч примеров успешных расчетных схем от десятка тысяч пользователей. В дальнейшем показатели эффективности дополнятся еще двумя показателями, и только при удовлетворении всех трех будет происходить отбор.
Я много размышлял и пробовал найти изгибающие моменты исходя из советов пользователей на DWG.ru, но способы в указанных направлениях безуспешны, точнее результаты на столько условные, что малоприменимы в реальности. Поэтому в следующей статье я постараюсь показать уже первые результаты работы нейросети в данном направлении, в целом все очень сложно и достигается работой с полиномиальными хешами, суффиксными массивами, абстрактными данными, кластеризацией и многим другим интересным.
Приветствую!
ОтветитьУдалитьПриложение считает только статические нагрузки?
Считает ли оно сочетание нагрузок?
Каковы примерные сроки выхода приложения на рынок?
Доброго !
Удалить1. Только статические
2. Только одну комбинацию
3. 1 сентября 2019 версия 1.0
Ну, в таком случае конструкторский отдел оно заменить конечно не сможет, но я бы все равно поюзал. Штука должна быть интересная!
Удалить