Преподавали мы в GoTo свои нейроночки, XGBoos’ы, SVM’ы и прочие случайные леса, и тут до нас кое-что дошло — мы много говорим про технологии и почти ничего не рассказываем про области, в которых их можно применить.
Мы решили исправить эту оплошность циклом статей, в которых расскажем о разных областях с неожиданно большими объемами данных, возьмём интервью у аналитиков и разработчиков, расскажем про проекты, которые мы решили попробовать сделать на школе и так далее.
И начнём мы с немного экзотических сфер — урбанистики и архитектуры.
Если хотите узнать подробности, прочитать интервью с техническим директором аналитической компании Habidatum и куратором программистко-архитектурных проектов из МАРХИ — милости прошу под кат.
Урбанистика
Начнём с урбанистики.
Урбанистика — наука, изучающая развитие различных городских систем (транспорт, пешеходная инфраструктура, экология, здравоохранение и другие), их взаимодействие между собой и с жителями города.
Аналитики в этой области собирают данные из большого количества источников: например, данные о перемещении общественного транспорта, данные сотовых операторов, соц. сети — и используют их для изучения функционирования среды (кто и когда ей пользуется, какие улицы самые нагруженные и т.д.) и для предсказания её поведения после нововведений. Всё движущееся и не движущееся на улицах города является объектом изучения для урбанистов.
Подробнее об этой области расскажет технический директор аналитической компании Habidatum Вадим Смахтин.
Интервью: Вадим Смахтин
Знакомство
Итак, начнём. Расскажите, пожалуйста, кто вы и чем занимаетесь?
Меня зовут Вадим, я технический директор компании Habidatum. Я занимаюсь проектированием различных систем, сервисов и устройств для работы с данными. Более пяти лет я разрабатываю софт для визуализации и аналитики данных, связанных с городской тематикой. Иногда напрямую участвую в аналитических проектах.
Фактически, в компании я являюсь «прослойкой» между программистами и урбанистами.
Расскажите про Habidatum. Чем вы занимаетесь?
Мы с друзьями основали Habidatum около пяти лет назад. Как тогда, так и сейчас мы занимаемся аналитикой данных для архитекторов и градостроителей, у которых есть вопросы относительно характеристик функционирования среды. Если они хотят узнать, как среда используется, как она отреагирует на нововведения (строительство новых зданий, переделка проезжей части в пешеходную зону...), как можно оптимизировать её использование и т.д., они приходят к нам. Также с недавних пор мы продаём свой аналитический софт.
Как технический директор, я отвечаю за архитектуру и спецификацию наших софтверных решений и курирую их разработку. Сейчас у нас есть целая линейка внутренних и внешних продуктов, одним из которых является система для визуализации данных “Хронотоп”.
Хронотоп
Что за Хронотоп?
Это софт для архитекторов и градостроителей, которым нужно анализировать разные потоки данных не только в пространственном аспекте, но и временном. Мы разработали методы, типа пространственно-временного куба, которые позволяют делать это безболезненно.
Кроме этого, Хронотопом также пользуются компании, которым нужно предоставлять доступ к своим данным для аналитиков и прессы, но которые не могут по причинам конфиденциальности сделать это напрямую. В любом случае, когда сырыми данными делиться нельзя, мы помогаем клиентам создать готовую визуализацию.
Существуют ли аналоги Хронотопа?
Хронотоп — это достаточно нишевая система, поэтому очень сложно говорить про каких-то прямых конкуртентов. Есть GIS системы типа QGIS и ArcGIS, есть системы визуализации данных, как, например, “Tableau”; есть аналитические пакеты, у которых нет своей визуализации — а продуктов, которые бы соединяли обе функции практически нет. Есть конечно ArcGIS, которые даже выпустили свой пространственно-временной куб, но у них он статический, поэтому функционал крайне ограничен. Плюс у них это десктопное приложение, а у нас всё работает в облаке.
Но нужно понимать, что мы в основном не продаём Хронотоп, как отдельный продукт. В основном мы используем его, как продажу доступа к данным с большим функционалом для анализа. Это довольно новаторская идея, кажется, никто так больше не делает. Идея в том, что у нас есть некоторые источники данных от партнеров, с которыми мы заключили соглашение (например сотовые операторы или операторы фискальных данных), и мы продаём проектировщикам доступ к ним не в сыром виде, а в интерфейсе. Так что наша бизнес модель касательно Хронотопа — это такая гибридная модель продажи софта и данных вместе. Да, у других компаний есть свои дата маркет плейсы, но там ты получаешь просто куски данных, никак не синхронизированные по времени, а у нас ты получаешь всё в удобном виде и выровненное относительно друг друга по времени и в пространстве.
Есть ли в Хронотопе какие-то математические или статистические модели или он только про визуализацию?
Изначально да, он был только про визуализацию. Конечно, там были какие-то базовые подсчёты статистик, но ничего такого. Но теперь, после того, как удалось успешно запустить графический движок в облаке, мы прикрутили к нему систему детекции аномалий, которая указывает аналитику интересные места, на которые стоит обратить внимание. У системы также есть открытый API, который позволяет писать свои детекторы. Это пока достаточно экспериментальная штука, но релиз уже скоро.
Также сейчас мы пробуем использовать “Хронотоп” для моделирования поведения среды, анализа постэффектов и предсказательного построения пространственно-временного куба.
Постэффектов?
Постэффекты — это изменения в состоянии среды после исполнения каких-то проектировочных решений. Например, вот мы поставили кафе в этой точке и хотим предсказать, как это повлияет на потоки людей в округе, прибыль других бизнесов и прочее. Т.е. мы вносим изменение в систему и смотрим на изменения всех её показателей.
Можешь рассказать про ваш стэк?
Сам рендерный движок написан на плюсах, активно используем CUDA и OpenGL шейдеры, которые рисуют воксельный обьем. Бэк по большей части написан на Питоне (Django). Конечно, возможно, это не лучшее проектировочное решение, но, т.к. сначала мы стремились максимально снизить порог вхождения для новых разработчиков, Питон казался лучшим выбором. Конечно, Питон удобен для написания аналитических модулей, но всю инфраструктуру писать на нём достаточно странно. Сейчас мы используем микросервисную инфраструктуру, поэтому в скором времени скорее всего перепишем обслуживающие модули. На фронтенде всё достаточно стандартно, кроме, наверное, TypeScript’а, который мы внесли ещё в одной из первых релизных версий. Из фреймворков — React и Redux
Аналитический отдел
Какого рода исследования проводит аналитический отдел?
В основном это анализ функций территории, в какое время они работают, анализ социо демографии на территории — какие люди и когда потребляют территорию, анализ финансовых потоков — сколько люди тратят и в какие периоды времени, и попытки построить ментальные карты — что люди думают о территории, как говорят о ней и так далее.
Можешь рассказать пару примеров?
В принципе все проекты есть на нашем сайте, там можно посмотреть подробнее.
Из интересного — мы делали аналитику для нескольких районов Лондона, где изучали зависимость стоимости земли и квартир от поведения людей на улицах, их отзывах о местных заведениях и так далее. Это позволяет определять самые важные факторы при выборе человеком места проживания и позволяет повысить качество новых районов.
Есть проекты по спортивным ивентам. Здесь мы занимаемся пространственно-временной координацией. Например если у нас есть матч с большим количеством болельщиков, то мы можем понять, как нам развести в пространстве и по времени болельщиков и местное население. Это позволяет поднять плотность использования пространства и, конечно, позволяет избежать конфликтов.
Есть проект в Дубае, где мы исследовали мобильные данные и смотрели, как на их основе можно анализировать разные паттерны поведения людей. Как, например, паттерн поведения внутри торгового центра отличается от жилого района.
Какие люди работают у вас аналитиками?
В основном все аналитики — это географы или люди, которые закончили Высшую Школу урбанистики. Есть ещё архитекторы, которые часто занимаются менеджментом проектов. Все эти люди не обязательно умеют программировать, но мы стараемся развивать атмосферу, в которой люди будут ближе к технологиям — развиваем коммуникацию между разработчиками и аналитиками. Это позволяет немного «размазать» экспертизу, поэтому людям намного проще отлавливать баги и проблемы на своём уровне. Ну и конечно разработчики не могут разрабатывать систему для визуализации данных, природу которых они совсем не понимают.
А программисты участвуют в работе аналитиков?
В основном они занимаются разработкой инструментов. Хотя, конечно, у нас есть дата сайнс команда, которая занимается разработкой для нужд аналитиков под конкретные проекты. Т.е. аналитики смотрят на проект, анализируют его через инструментарий и потом составляют тз, если им нужно сделать что-то выходящее за рамки.
Например?
Есть сентимент анализ, word2vec для поиска синонимов, топик моделинг и прочий NLP. Это, конечно, не супер адвандст вещи, но наша работа не столько в разработке bleeding edge методов, сколько в использовании уже готовых алгоритмов для нужд города и строительства. Поэтому и разработчиков в дата сайнс отдел мы ищем таких, которым была бы интересна урбанистика и всё, что с ней связано. У нас было бы тяжело работать, например, людям, увлекающимся спортивным машинным обучением, в котором природа данных почти не важна. У нас задачи стоят не в выбивании лишних процентов из модели, а в понимании специфики данных, поэтому важным является именно интерес к теме и умение общаться с соответствующими специалистами.
Вообще насколько аналитикам нужно уметь программировать, если у вас есть специальные команды для этого?
Конечно, у нас всегда была идея создать некоего универсального солдата, который умеет и программировать и анализировать, но в целом эта концепция не совсем работает. Всё равно команда в итоге балансируется, поэтому люди, которые лучше программируют — больше программируют, те, кто хорошо пишут истории по данным — пишут истории. Ну а в целом, конечно, да, программирование никому не помешает. Легче самому посчитать какие-то статистики или сделать простую предобработку данных, вопрос только в том, сколько времени этому уделять.
Куда посоветуете пойти учиться будущему аналитику из мира урбанистики?
У нас работает большое количество ребят из Высшей Школы урбанистики. Не знаю, как там с точки зрения программирования, но с точки зрения урбанистического образования, это хорошее образование. Ну а для программирования существует огромное количество онлайн и просто курсов.
С точки зрения программиста мне кажется, что можно пойти в любую школу, которая занимается анализом данных (как ШАД, например), получить там основы машинного обучения и статистики и после этого начать делать какие-то проекты, связанные с городом.
Архитектура
Но не урбанистикой единой, товарищи.
В архитектуре тоже есть ряд задач, в которых IT сильно упрощает жизнь. Это задачи связанные с изучением эксплуатирования зданий и задачи автоматического проектирования.
Про это нам расскажет Доцент Учебно-Научного Центра Архитектуры и Компьютерных технологий МАРХИ Милан Станкевич.
Знакомство
Расскажите, пожалуйста, кто вы, и чем занимаетесь?
Архитектор, Магистр архитектуры,
Доцент Учебно-Научного Центра Архитектуры и Компьютерных технологий МАРХИ.
Член Союза Московских Архитекторов
Куратор Интенсивов-Про “Алгоритмическое проектирование и Цифровое производство” в МАРШ
Главный Архитектор проектов в Цимайло-Ляшенко и Партнеры.
В основном занимаюсь проектированием зданий и всего, что можно назвать архитектурой.
Руководитель Магистерских диссертаций в МАРХИ.
Все что выше — это формальности.
По сути, работаю в рамках архитектурного бюро в команде архитекторов над разными проектами. В основном жилых и общественных зданий. Кроме архитектурных решений, занимаемся задачами информационного моделирования зданий. В рамках работы со студентами чаще всего занимаемся исследовательскими проектами, которые связаны с использованием цифрового инструментария как в процессе проектирования, так и в самих концепциях.
Почему вы стали архитектором?
Поступил в архитектурный по советам родственников, но только на третьем курсе понял, каким архитектором хочу стать, после поступления в группу к немецкому проф. Михаэлю Айхнеру.
Также, побывав в качестве гостя в Мюнхене, Барселоне, Роттердаме, Делфте, Лондоне, а именно в архитектурных школах, расположенных там, сильно проникся идеями и мировоззрением местных школ.
Почему вы решили заниматься IT в архитектуре? Что вас привлекает в этом?
Очень все просто.
Мне интересны первопричины тех или иных процессов и почему они так устроены. Потому в момент, когда всем был интересен результат получаемый в 3Ds max например, (эффектная визуализация), то казалось, что намного важнее разобраться почему и как моделируется компьютером та или иная трехмерная форма, почему именно так она оцифровывается. В этот момент все больший интерес стали проявлять к Rhinoceros 3D, где грамотность построения геометрических форм неразрывно связана с пониманием логики работы самой программы.
Про АД в архитектуре
Мы выяснили, зачем программирование урбанистам. А зачем оно архитекторам?
На этот вопрос лучше отвечать примерами.
В целом — без знаний и понимания принципов программирования, архитекторам не так просто понять возможности компьютерных технологий, формообразования, например, и того, как компьютер моделирует трехмерную среду, прорабатывает информацию.
Одни из примеров применения:
http://www.zha-code-education.org/
http://drl.aaschool.ac.uk/portfolio/osteobotics-3/
В целом, в процессе проектирования архитекторы сталкиваются с разного рода данными и информацией, которые им необходимы. Архитектура как профессия требует работы с параметрами количественными и качественными, потому очень много масштабов и уровней, в которых программирование имеет и может иметь место.
Понятней всего про программирование в архитектуре может скорее всего рассказать
Михаэль Хансмайер
или Марк Бурри.
На данный момент все больше направлений в архитектурной деятельности, в которых программирование имеет место быть.
Архитектура оперирует шаблонами, элементами и блоками, поэтому при проектировании взаимодействие между “паттернами” или шаблонами очень неплохо поддаётся задачам программирования, главное знать, как формализовать задачи.
Какая область исследований на стыке программирования и архитектуры интересует вас больше всего? Расскажите про интересные проекты в вашей области
Анализ данных окружающей среды и адаптация архитектурных элементов под индивидуальные потребности если в целом.
Из интересующих направлений можно выделить те, которыми занимаются некоторые из европейских компаний.
Компания unsense занимается интересным направлением. Они исследуют возможности интеграции цифровых технологий в архитектуру для того чтобы связать это как-то с человеческими чувствами.
Или проект для Лондона, в котором предлагается сделать его более пешеходным. Вся аналитическая часть позволила выявить конечный “паттерн” пешеходных зон в городе и найти неприглядные пространства для того, чтобы их улучшить.
Есть ли у вас идеи относительно применения IT технологий в архитектуре, до которых ещё не дошли руки?
Если в целом: моделирование частиц и формирование пространств с учетом энергетических потоков и эмоциональных состояний. Сложное сочетание познаний моделирования динамики флюидов (частиц), анализа окружающей среды и эффективного и комфортного использования пространства под каждого человека.
Но в частности сейчас больше интересует тема, затронутая в моей диссертации, а именно реновация жилых малоэтажных кварталов и переход их к умной “регенерирующейся” среде. На практике — это эффективное использование архитектурных элементов в умном городе, связь Iot (internet of things, Индустрии 4.0 c возможностями существующих жилых домов, самоорганизацией общества, соучастия жителей в архитектуре реновации своих домов)
Могут ли обычные программисты помочь вам в ваших исследованиях?
Могут, если архитекторы поймут, что программисты сами могут. Пока этого понимания очень мало, хотя бы в РФ.
Если более конкретно, то нужно дифференцировать задачи архитектора.
Одни — концептуально-аналитические — помощь в принятии решений, где требуется сбор и анализ данных, т.е. рассмотрение исходной информации о участке или сфере проектирования. Тут много подзадач для аналитики, в зависимости от масштаба, градостроительный это уровень или совсем элементный, уровень дверной ручки.
Другие концептуально-технические — предварительные расчеты, выводы, позволяющие принять решение, конструктивные расчеты, климатические и другие расчеты, потоки людей, экономические показатели и т.д.
Третии концептуально-художественные — те которые связаны с архитектурой как дисциплиной использующей математику, геометрию, физику и химию для выражения художественного образа пространства, т.е. назовем это программированием формообразования.
В любых задачах есть также два аспекта — презентация информаци (любого расчета, анализа и т.д.) и непосредственно сам расчет, его достоверность, возможности обработки информации).
Так что программистам зачастую нужно просто понять, в какую нишу из комплексных задач встроиться.
Выше приведены только проектные задачи.
А есть еще целый ряд задач, которые нужны как в процессе строительства, так и при эксплуатации объектов. Ну проектирование и производство становятся ближе, потому, например, для цифрового производства архитектурных элементов непременно нужны программисты — без них никак не настроить общение между машинами и архитекторами.
Что касается эксплуатации, то мы переходим к умным системам, умному городу и т.д. что отдельно затрагивает тему работы в связке архитекторов и программистов для организации устройств, меда технологических решений и еще массу других систем, автоматизации, безопасности и управления зданиями, пространством и т.д.
Про архитекторов
Чем занимается ваша кафедра?
На кафедре мы осуществляем различную образовательную и исследовательскую деятельность.
В основном вся деятельность направлена на изучение взаимоотношений архитекторов и компьютерных технологий. Хотелось бы больше заниматься взаимоотношениями самой архитектуры, человека и цифровых технологий.
До сих пор у нас достаточно широкий профиль изучения разных задач.
В частности от нашей кафедры имеются 4 дисциплины для студентов МАРХИ, а также мы готовим своих собственных Магистров. Для Бакалавров 1,2 курса у нас — Компьютерно Композиционно Комбинаторный Курс. Там студенты через ряд заданий от составления абстрактных композиций переходят к архитектурным фантазиям. Они занимаются трехмерным моделированием в 3dsmax.
Для 3го курса — Компьютерная графика, там студенты знакомятся с большим количеством программного обеспечения, позволяющего анализировать проекты, и оформлять архитектурную документацию.
А для магистров — Цифровые Средства Параметрического формообразования и Градостроительные исследования при помощи ГИС.
В данных курсах студенты знакомятся с более широким спектром программного обеспечения и начинают использовать элементы визуального программирования.
Где учиться программированию архитекторам? Как? Куда бежать? Что изучить перед этим? Есть ли open-source проекты/исследования по этой тематике?
В данном случае стоит говорить и об одних, и о других. И о программистах, и об архитекторах. На самом деле проще программистам посмотреть, какие задачи и исследования нужны архитекторам.
Во-первых, кажется, что архитекторам нужны общие познания информатики и IT технологий.
Можно начинать со школьных лет или с открытых в интернете и в бесплатном доступе курсов.
Во-вторых, конечно, есть специализация, и по каждой теме конечно тоже существуют open source проекты и исследования, но реже встречаются.
Временами они переходят в формат семинаров и воркшопов.
Если говорить про качественные ресурсы, то их проводят в основном зарубежные школы.
Правда, если это формат воркшопа а особенно тематического, то зачастую это переходит в коммерческую историю и стоит участникам денег.
А так в основном увидеть проекты в области архитектуры и IT технологий можно увидеть на разных фестиваялх как например https://www.smartgeometry.org/
или по направлениям можно на порталах технологических институтов
ETH Zurich
ITKE
SciArch
MIT департамент Архитектуры
AA School of Lonson, DRL
Эти же институты проводят многочисленные воркшопы, рассматривающие ту или иную тему в области архитектуры и IT.
Если говорить про РФ, то все исследовательские проекты, курсы по данной теме, а также мероприятия в основном являются инициативами локальными и не имеют институционального характера.
Есть немногочисленные направления, которые проводят:
Интенсивы PRO: Алгоритмическое проектирование в МАРШ, SimplexNoise, ShukhovLab, Softculture.
Либо связка IT и архитектуры проходит в рамках отдельных дисциплин внутри процесса обучения архитектуре в МАРХИ и в МАРШ.
Список онлайн ресурсов также невелик, т.к. относится больше к получению навыков и обучению работе в программах, таких как Grasshopper, Dynamo для Revit. В меньшей степени можно найти онлайн курсы в какой-то отдельной области архитектуры, в основном они общие.
Открытых исследовательских ресурсов достаточно мало. Один из таких в 2011 году работал — Точка ветвления.
Что касается онлайн курсов зарубежных, то можно вспомнить
https://thinkparametric.com/
http://www.grasshopper3d.com/page/tutorials-1
и там же ссылки
http://designalyze.com/software/grasshopper
http://digitaltoolbox.info/ и т.д.
www.lynda.com
они направлены больше на изучение навыков.
Есть такие ресурсы, которые запускают отдельные компании
https://provingground.io
https://kierantimberlake.com/
http://www.carloratti.com
http://www.co-de-it.com
https://theverymany.com/
Насколько быстро архитекторы осваивают программирование?
В целом — тяжело и долго.
В частности, зависит от того, на каком этапе своего развития приступает человек к изучению.
Большая часть работы архитектора заключается в комбинировании элементов и информации о них, получении необходимых параметров (площадей и объемов), потому изучение программирования как еще один пласт информации достаточно комплексной, может быть трудоемкой задачей.
Также специфика программ для автоматизированного проектирования предполагает уже определенный набор элементов и правил, которыми архитектор оперирует (их тоже предостаточно). Чем дальше и больше архитектор работает в той или иной программе, тем она ему более знакома, и новое (языки программирования) могут проще восприниматься. Но, в связи с тем, что рынок ПО для проектирования не стоит на месте, то раз в три или пять лет архитекторам приходится адаптироваться к новым интерфейсам или новым возможностям программ.
Потому программирование проще осваивать до освоения проектного ПО или уже после. Так кажется более гуманно и проще адаптироваться.
А наоборот? Тяжело ли влиться программисту в область архитектуры? Стоит ли?
Стоит, только нужно выбрать именно правильную для себя сферу, где есть понятные задачи.
Вопрос про цели и задачи, которые перед собой ставит человек.
В архитектуре как и в программировании есть масса разных сфер, где можно быть частью процесса.
Грубо можно разделить на проектирование, производство и использование.
В каждом из трех есть свои подразделы конечно.
Проектирование — часть производственного процесса архитектуры, который для архитекторов неоправданно сильно важен, хотя по идее не должен быть отделим от производства архитектуры.
Есть ли что-то общее между программистом и архитектором.
Каких программистов и архитекторов рассматривать.
Но если мы говорим о тех которые работают в сфере “проектирования” новых “продуктов”, то их объединяет системный подход.
Разница в том что работа архитектора имеет другой временной и пространственный масштаб. От задумки до исполнения может проходить от двух трех дней до пара десятков лет. В среднем год-два.
Программист в этом плане раньше видит результат своей работы.
Но и один и второй являются как частью больших комплексных задач, так и могут быть самостоятельными творцами.
И также их работа “масштабируемая”, у программиста чуть больше, возможностей, правда, потому что, если архитектуру как физическую среду воспринимать, то она имеет существенные ограничения, пока результат программиста может выходить на планетарный масштаб.
Ну и напоследок — что можно почитать, чтобы понять, что такое архитектура на самом деле и почему это важно. Такой себе научпоп Architecture 101.
Наверное, можно начать от общих онтологических вещей, к примеру, любой книжки про историю архитектуры.
Или к тем, которые чуть более философские
Но я бы начал сразу с
“От постмодернизма — к нелинейной архитектуре. Архитектура в контексте современной философии и науки. Добрицына И.А. 2006
Чарлза Дженкса — Язык архитектуры постмодернизма
Вилияма Митчелла — “Я ++”,
Parametricism 2.0: Rethinking Architecture's Agenda for the 21st Century
Или более прикладные — Кристофер Александер — Язык шаблонов.
Branko Kolarevic Architecture in the Digital Age: Design and Manufacturing
Для осведомленности о том что происходит в мире IT и архитектуры, следует скрее обращаться к журналам AD.
А при чем тут GoTo?
Недавно очередной шабаш GoTo прошел в стенах МАрхИ.
Мы приняли к себе нескольких архитекторов, которые погрузились в удивительный мир программирования, послушали лекции о городской аналитике от Habidatum, о параметрическом моделировании от местных специалистов, и реализовали несколько проектов на архитекторские нужды.
Из архитекторов в программисты.
На школе у нас было несколько ребят из МАрхИ, которые в первый раз окунулись в мир циклов, ифов и прочих goto (извините). Впечатлений было много.
Маша
Вообще безумно интересно было, до конца не понимали на какое направление хотим, и спонтанно вместе с Олей решили участвовать в последний момент и зацепили Кирилла с собой ) И в общем, это было круто, если раньше программирование пугало, то теперь в нем хочется разбираться и начать использовать, появилось понимание того, что вообще можно делать и как действовать на начальных этапах. Для архитекторов важно понимать, как работает информация и что скрывается за бесконечными цифрами. Благодаря этому курсу мы стали понимать, как работает питон, откуда можно скачать данные, и вообще как связать его с прогами типа грасса и что полезного можно сделать ) для меня было сложно, потому что англ плохо знаю, очень интересно было пообщаться с пирограмистами, думаю начинаться общаться нужно с самого начала школы )
Оля
Сперва получили порции теории о синтаксисе, ключевых понятиях, операциях в Python. Узнали больше о том, как строится интернет, об отношениях между провайдерами и пользователями, как происходит взаимодействие, например, передача пакетов, ключей.
Использовали сервис Face API от Microsoft, чтобы сделать фильтры для фотографий. Научились получать данные о пользователях социальной сети vk.com и попробовали анализировать эту информацию на выборке студентов мархи, визуализируя её разными способами: в виде круговых, столбчатых, пузырьковых диаграмм.
Познакомились с большим количеством молодых целеустремленных людей, это дало стимул развиваться дальше в сфере программирования как можно быстрее.
Проекты
Также мы сделали несколько проектов, связанных с архитектурной тематикой или направленных на нужды МАрхИ. Вот описания некоторых из них .
Изменение и генерирование фасадов.
Представьте, вы архитектор, и к вам приходит заказчик, который совершенно не знает, какие дома ему нравятся и что конкретно он хочет от проекта. Вы с чистой совестью делайте свой вариант дизайна, но после недолгих раздумий он посылает вас всё переделать. И вот, после 100 итераций проект с горем пополам принимают. Представляете, как бы было здорово, если бы существовала возможность понять сразу, что заказчику нравится или не нравится, и при этом не полагаться на его пояснения (которые часто не совпадают с его реальными вкусами).
Мы занимались разработкой штуки, которая может генерить дизайны фасадов на основе стилей, которые нравятся заказчику и изменять существующие дизайны в их сторону.
Для этого мы натренировали VAE на фотографиях фасадов, натренировали классификатор, который бы предсказывал стиль фасада, и затем с помощью градиентного спуска изменяли вектор Hidden State’а с целевой функцией в виде кроссэнтропии по целевому распределению стилей и по фактическому.
Однако, данные с фотографиями фасадов оказались слишком разнообразными и малочисленными, чтобы нормально натренировать на них VAE, поэтому пришлось немного переформулировать задачу.
Мы генерировали новые буквы (аля смесь B c H) и изменяли одну букву в сторону других (например сделать F из E). Да, это задача кажется далекой от целевой, но здесь у нас были хорошие данные (notMNIST), и сама специфика задачи ничуть не отличается. Соответственно, после сборки хорошего датасета с фотографиями фасадов, можно будет эту же модель натравить на первую задачу.
Реализацию Proof of concept можно посмотреть здесь.
Сейчас мы планируем ещё несколько проектов по урбанистике. Так что stay tuned!
Генерирование чертежей по эскизам
Архитектура — творческая профессия.
Архитекторы постоянно генерят новые идеи для оформления фасадов, интерьеров и прочих буржуазных излишеств. Поток фантазии — это хорошо, но у него есть один неприятный сайд эффект — огромное количество недоделанных черновых чертежей, которое потом нужно долго и мучительно приводить в божеский вид. Мы решили прийти на помощь.
Мы натренили нейронку, которая берёт черновой чертёж и дорисовывает на нём детали в виде стен, дверных проёмов и прочих деталей интерьера. Это позволяет ускорить ранние этапы проектирования.
Архитектура сети: CycleGAN. Обучающую выборку мы сделали удалив целевые детали с готовых чертежей.
На проект можно посмотреть здесь.
РасписаниеБот
Все студенты и преподаватели университетов знакомы с вечной проблемой расписания занятий. То целый день приходится продираться через сложные лекции, то переходить через весь кампус ради лекции за десятиминутный перерыв — мрак. Мы решили избавить (ну или хотя бы положить начало избавлению) коллектив МАрхИ от этих проблем.
Для этого мы сделали чатбот, который может присылать студентам расписание на конкретный день и позволяет преподавателям бронировать аудитории для консультаций или лекций. Главной особенностью бота является то, что общение с ним происходит на естественном языке!
Принцип работы бота можно прочитать здесь, а на реализацию посмотреть вот тут.
Прощание
Надеемся, что вы узнали что-то новое из этой статьи и, может, даже захотели приложить руку к этим вашим городам, сёлам и домам.
Мы в свою очередь будем открывать для себя новые области, в которых нужны аналитики и data scientist’ы, клепать на коленке проекты и рассказывать об этом вам.