понедельник, 18 марта 2019 г.

Phobos. Эксперимент по созданию ИИ в архитектуре. Часть 4. Предварительная структура нейросети

         "Искусственный интеллект - фундаментальная угроза для всего человечества"
                                                                                                                                     Стивен Хокинг.

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


        Прежде чем начать создавать искусственный разум способного создавать бесконечное количество планировок под требования заказчика, давайте обучим ИИ пока азам, расставлять мебель в помещении. При этом это может быть помещение любой площади и немного ограниченной свободы в форме. 
        Сначала я прочитал порядка 4 книг по планировкам квартир и несколько нормалей планировочных элементов (например НП-1.1-63). После прочтения я взял лист бумаги (много листов) и начала записывать закономерности расположения элементов, на 15 элементе я понял, что это слишком узкая задача и решил ее немного расширить. В качестве более обширной задачи я решил сразу записывать правила компоновки всей мебели в помещении, для этого мне понадобилось выявить около 30 (позже эта цифра превратилась в 120)  входящих параметров в ИНС первого уровня. После того как ИНС первого уровня обработала входящую в нее информацию она передает информацию в следующую ИНС верхнего уровня и уже она формирует расположение мебели в помещении. Изначально я хотел упростить задачу и разбить ее на много небольших ИНС , но после недели раздумываний, я все же решил не мелочиться и создать готовый элемент для дальнейших экспериментов над искусственным разумом. 
         И вот, после серии испытаний я получил структуру искусственной нейросети низкого уровня и один из нейронов нашего искусственного архитектора выглядит следующим образом:


          Завораживает взгляд ? Но давайте немного отдалимся и посмотрим как выглядит наша ИНС немного с большего расстояния:


           А теперь давайте взглянем как же выглядят в целом входные нейроны с двумя скрытыми слоями:


           Черное пятно с права это не глюк, это 20 000 нейронных связей с выходными нейронами. И теперь давайте посмотрим как выглядит в целом нейронная сеть искусственного архитектора:


              Что-бы чувствовался масштаб давайте я отмечу зеленым кружком ИНС из прошлых статей



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

Обновлено 17.03.2019:
Хоть статья и написана пару месяцев назад и опубликована только сегодня, я все же решил ее опубликовать именно в первозданном виде. Выше описанная нейросеть содержит в себе около 20 000 связей с нейронами , но на данный момент их уже более 1 000 000 и она растет в геометрической прогрессии, усложняется с каждой итерацией, уточняется ее структура. Как оказалось, ядро Unity не предназначено для Deep Learning, но об этом в следующих частях где мы будет разбираться в библиотеках Кернела, методе Монте-Карло, линейной алгебре, распараллеливании вычислений  и т. д.

2 комментария:

  1. Круто.
    Жду продолжения!!!

    п.с. человеки с пониманием сущности сверточной нейросети и владеющие AutoCad/Revit единичны в этом мире )))

    ОтветитьУдалить
    Ответы
    1. небольшое продолжение
      https://www.youtube.com/watch?v=XWoBvdn6BP0&t=280s

      Удалить

Поиск по этому блогу