Пока идут споры что есть BIM , что это вообще такое ? каков его физический или практический смысл ? в чем польза ? зачем оно вообще ? какими стандартами в сфере информационных технологий руководствоваться ? Project Enion решил пойти от обратного. Не создавать информацию ради информации, а наоборот научиться получать ее из окружающего пространства, с небольшим участием человека. В понятии "окружающая среда", есть небольшою нюанс и на этом нюансе мы остановимся немного подробнее.
Но перед тем как начать, давайте договоримся, не стоит пытаться приложить опыт приложений в которых вы работали ранее, к статье, не стоит накладывать полученные знания о BIM к статье. Представьте себя совсем юным специалистом с не затуманенным сознанием, не младенцем, но с уровнем интеллекта позволяющим иметь уже понятие об окружающих тебя вещах.
Глава 1. Человек в информационной среде.
И с самого начала нам понадобится испытуемый, и им будешь ты ! Возможно ты никогда и не задумывался, но ты и есть огромный генератор информации об окружающем пространстве, твои органы осязания, обоняния, вкуса, слуха, зрения, все они и говорят твоему мозгу о том, что происходит вокруг. Твой мозг переваривает полученную информацию от 100 000 000 000 нейронов со скоростью 2 квадриллиона мегабайт в секунду и с учетом различных дополнительных функций выдает необходимую информацию.
Опять же берем тебя для примера, да, да, именно тебя дорогой читатель. Представь себя на площади огромных размеров и тебе необходимо дойти до ближайшего объекта. Твой мозг сразу начнёт получать терабайты информации из всех органов чувств для оценки данной задачи и твое подсознание отфильтрует ненужную информацию, например, все, что ты слышишь в данный момент. Твой мозг отфильтрует и оставит информацию касающуюся зрительного расстояния проекции прямой на земную поверхность от всех зримых объектов и там где прямая будет наименьшей зрительной длинны, и есть наиболее близкий объект. Далее задача будет определить расстояние до ближайшего объекта. Твой мозг опять начнет сбор информации и в первую очередь он опять обратится к твоей базе знаний об окружающих объектах, например если объектом ближайшим является памятник Ленину, то твое подсознание подскажет, что он высотой примерно 8-10 метров, и опять же подсознание подскажет твоему мозгу угол между горизонтальной проекцией и высотой, а зная угол и высоту твой мозг уже подскажет тебе примерное расстояние. Но количество параметров влияющих на принятие решения не исчисляется одним или двумя, или тремя и даже 10, это могут быть 1000, подробнее об это в следующей главе этой статьи.
И вот теперь когда мы разобрались кем является человек в информационном пространстве, давайте попробуем понять, а зачем вообще человеку информационная среда и информационные технологии, он же вроде и так кое как справляется сам !? И ответ находится в вопросе, человек всего лишь "кое как" может определить расстояние, время, вкус, дозировку, возраст, прочность, усталость, сытость, цвет и именно поэтому существуют такие поговорки как:
"на вкус и цвет товарища нет"
"У всякого свой обычай"
"О вкусах не спорят"
И все поговорки такого характера с одной стороны призывают относится терпимее к другим представителям своего рода, но с точки зрения информационных технологий говорят нам очень плохую новость, человек не может быть полноценным элементом информационной среды, ведь среда это совокупность информационных ресурсов и их качество. С одной стороны человек может быть и ресурсом хранение информации определенного качества, ведь в примере выше мы уже нашли пример какого рода ресурса информации он может быть. Человеческий мозг может уместить в себе всю информация хранящуюся в глобальном интернете, на всех ПК и серверах , а так же на ПК не в сети. Но, что с качеством данного ресурса ? Зрение у всех разное , из 100 человек расстояние будет разное у всех , высота объекта будет разная у всех , даже цвет объекта будет различный, оттенков которые воспринимает человеческий глаз более 15000. Что бы вы сделали например с часами которые показывают разное время ? наверное бы минимум не использовали, а максимум просто выбросили.
Таким образом заставить человека формировать информационную среду невозможно в силу природных ограничений организма. Человек во всем этом круговороте информации лишь оператор, который может получить как полезную информацию, так и абсолютно бесполезную, а иногда и вредную для себя и окружающих.
Глава 2. Генетические алгоритмы
Но что делать в таком случае ? Что делать в патовой ситуации, когда человек не может, а все существующие технологии не дают должного результата ? Ответ на этот вопрос у меня есть. Он выглядит фантастично, амбициозно, нереально, немыслимо, но он есть ! И перед тем как его назвать, давай опять проведем пару опытов над твоим сознанием !
Представь, что ты едешь по незнакомой дороге и встречаешь развилку , одна дорога налево, другая направо. Какую ты выберешь ? Но перед тем как ты дашь ответ, давай немного окунемся в нейрофизиологию - науку изучающую устройство и функционирование нервной системы и в частности мозга. Во время выбора, твоя нервная система отправит импульс к коре головного мозга, там хранятся нейроны с приобретенным опытом. Но импульс пройдя через все нейроны со скоростью 432 км/ч не найдет подходящих скрытых слоев нейронных оболочек, точнее результаты будут, но все они почти равны нулю. Это и есть процесс зарождения такого понятия как "сомнение", и в этой ситуации человек прислушивается к "интуиции", это дар природы который еще называет шестым чувством и отличает человека от машины. По своей сути интуиция это отдельная сеть нейронов которая предугадывают результат, в основном интуиция возникает с приобретенным опытом. Например боксер предугадывает удар соперника исходя из его расположения рук, корпуса тела, ног. И вот твоя интуиция подсказывает поворачивай налево, ты выворачиваешь руль налево и продолжаешь осторожное движение. Через несколько часов езды ты попадаешь в пункт назначения и в этот самый момент с ощущением расслабления от того, что ты выбрал нужный путь, в твоем мозге один из нейронов записывает результаты данной поездки с большим весом нейронной связи "налево". Если ты окажешься снова на данном распутье, то ты точно снова выберешь левый поворот без каких либо колебаний и нейронная связь опять станет сильнее по отношению к правой. И так бесконечно. Но в один прекрасный день проезжая мимо дорожной карты ты видишь, что дорога "налево" является объездной и в три раза дольше. В этот момент ты испытаешь чувство сожаления и с данным чувством обычно происходит перестроение весов между нейронами. В данной ситуации произойдет почти обнуление "налево" и к единице приблизится связь с нейроном "направо". И так ты продолжаешь ездить до тех пор, пока одним прекрасным утром не замечаешь на распутье знак означающий участок платной дороги и он указывает на правую дорогу и тут снова в нейронной сети твоего мозга назревает сомнение. С одной стороны один нейрон говорит, что "направо" ехать в три раза быстрее, но с другой стороны подключается уже новый нейрон. Он древнее первого, он хранит весь твой опыт с малых лет, и он относится к финансовым затратам и связь его намного больше чем у совсем юного "направо". И как ты сам понимаешь нейрон отвечающий за деньги скажет тебе ехать налево.
Это был очень простой пример который не учитывает всю сложность взаимосвязей между нейронами и он всего лишь показывал основы того, что называется опыт. Когда ты ползал по полу, кроме моторных функций, твоя нейронная сеть была как чистая книга и с каждой "шишкой" она наполнялась, записывала информацию. Именно поэтому есть утверждение, что дети впитывают всю информацию быстрее взрослых. Но давайте возьмемся за более реальный пример !?
Представь себя руководителем конструкторского отдела, ты уже давно не ползаешь по полу на четвереньках, сеть нейронов твоего мозга сформировала личность обладающую опытом в конкретных сферах и одна из задач которую ты выполняешь - это получение задания от смежных отделов и решения вопроса выдачи документации в установленные договором сроки. Но не все так банально, так же сюда входит задание от специалистов ОВ, ВК, хватает ли лицензий программы Allplan, хватает ли исполнителей, хватает ли изначального сроки по договору , отсутствует ли неурочная работа с другого договора и многое другое:
Казалось бы, такая простая задача, но ее описание в виде нейронных связей выглядит достаточно сложной и это только при семи входящих параметров в нейронную связь, а ведь бывают размером в несколько миллиардов, например слух человека или способность говорить.
И вот теперь представь, что тебе пришлось бы найти математические взаимосвязи между входящими параметрами нейронной сети, в которую входят все вышеперечисленные параметры! И сразу подскажу, имея на руках даже калькулятор, нахождение решения у среднестатистического человека займет всю его сознательную жизнь, его детей и внуков, без сна и отдыха, только работа над решением уравнений. А их будет порядка 197 в степени 3.
Но давай подключим машинное обучение для решения данной нейронной сети, мы сэкономим 100 лет себе и потомкам:
Данный массив данных представляет собой силу синаптических связей между нейронами сети. То есть если сейчас начать записывать по верх каждой связи значение из таблицы мы получим сеть весов и предубеждений. Но данные связи нейросеть получила не из воздуха, ее обучил вполне живой человек непосредственно введя данные для тренировки:
Данные представляют собой матрицу, каждая новая строчка матрицы представляет собой новую тренировочную выборку параметров (левый столбец в нейросети) и результатов (правый столбец в нейросети). Точно так же тренировали нейросеть победившую человека в шахматы, в игру ГО, покер, рулетку и многие другие игры где применима теория вероятностей и существуют эмпирические зависимости.
Теперь в обученную нейросеть можно во входящие параметры записывать любые значения и на выходе мы получим ответ и он будет идентичен ответу человека на основании ответов которого была натренированна сеть.
Иными словами мы получили нейронную сеть искусственного интеллекта на основе нейронной сети моего мозга, я переложил часть своего опыта для формирования искусственного, он в отличии от меня ИИ найдет решение уже намного быстрее, лучше и точнее. И при всем этом мы всегда будем знать при решении процент ошибки. Генетические алгоритмы на основе нейросетевого программирования искусственного интеллекта и есть мой ответ на вопрос в начале главы.
Проблемы информационных технологий в строительстве не новы, они встречаются и в иных областях любой отрасли, например банковское дело, нейросети контролируют выдавать вам кредит/ипотеку или нет, нейросети контролируют систему спутникового слежения за объектами наземного базирования, нейросети отвечают за поиск всего и вся в поисковых системах интернета, нейросети показывают вам рекламу, нейросети переводят текст, нейросети синтезируют человеческую речь из текста, нейросети ищут покупателей, нейросети контролируют политический выбор, нейросети контролируют предрасположенность заболеваниям/преступлениям, нейросети управляют полетом космических аппаратов, нейросети управляют автомобилями, нейросети управляют людьми через социальные сети и многое и многое другое.
Впервые про нейросетевое программирование начали говорить еще в середине прошлого века, но в силу сложных вычислений и невозможности проверить достоверность получаемых данных все теории долгое время существовали без практического применения. И вот в 90-х годах с ростом мощности персональных компьютеров появилась возможность реализовать ту же Байесовскую теорию или метод ОРО Галушкина. В январе 2017 года я и начал создавать нейросеть своей новой программы CUBE именно с Байесовского представления, то есть использовать классификаторы Байеса. А сегодня в программе CUBE уже ряд нейросетей и при этом одна может брать данные у другой и наоборот, описать такие подходы в программировании классическим способом скорее невозможно.
Но вы можете мне возразить, а может проще человека научить работать лучше, чем пытаться синтезировать работу его мозга? Дело в том, что несмотря на все 100 миллиардов нейронов в человеческом мозге, все они задействуются по принципу "все или нечего". Согласно данного принципа амплитуда действия вдоль всего волокна между нейронами одна и та же, то есть либо "0" либо "1". Этот принцип очень сильно сужает возможности человеческого мозга. И если взять конкретный пример, то с умением говорить человек разумный потерял возможности нейронов в рамках кратковременной памяти:
Из-за ограниченного объема нейронов в мозге происходит процесс перезаписи информации - реконсолидация памяти. Именно поэтому один человек может быть гением в физике, но полным двоечником по грамматике и наоборот, или при потере зрения у человека "обостряются" другие органы чувств, но это не обострение, просто освободившиеся нейроны записывают уже информацию из других источников. И по своей сути человек ничего не забывает , он просто перезаписывает неактуальную информацию которую хранит каждый синапс нейрона, а в силу принципа "все или нечего" этого всего 1 бит информации.
И именно поэтому мы должны научить машины думать как мы, но делать это лучше и быстрее.
Ну и напоследок в этой главе, хочу вернутся к понятию "интуиция" - это случайный выбор при недостаточности входящей информации для решения. Интуиция относится к чувствам, поэтому бытует мнение о том, что человек на интуитивном уровне прислушивается к чувствам. В это же время у машины нет чувств, но есть математическая функция выдающая случайный порядок чисел от 0 до 9. И именно поэтому особо важно в нейросетевом программировании научить машину принимать решения интуитивно. То есть машину можно натренировать, но главное в том, что бы натренированная нейросеть при выполнении уже практических задач самообучалась, то есть самостоятельно дополняла базу данных для тренировки и перестраивала веса в нейронной сети.
Не стоит так же относится к нейросетям слишком скептически, с помощью их можно решать абсолютно любые задачи, даже задачи сопротивления материалов: