Преподавали мы в GoTo свои нейроночки, XGBoos’ы, SVM’ы и прочие случайные леса, и тут до нас кое-что дошло — мы много говорим про технологии и почти ничего не рассказываем про области, в которых их можно применить.  Мы решили исправить эту оплошность циклом статей, в которых расскажем о разных областях с неожиданно большими объемами данных, возьмём интервью у аналитиков и разработчиков, расскажем про проекты, которые мы решили попробовать сделать на школе и так далее.   И начнём мы с немного экзотических сфер — урбанистики и архитектуры.  Если хотите узнать подробности, прочитать интервью с техническим директором аналитической компании Habidatum и куратором программистко-архитектурных проектов из МАРХИ — милости прошу под кат.  Начнём с урбанистики. Урбанистика — наука, изучающая развитие различных городских систем (транспорт, пешеходная инфраструктура, экология, здравоохранение и другие), их взаимодействие между собой и с жителями города.  Аналитики в этой области собирают данные из большого количества источников: например, данные о перемещении общественного транспорта, данные сотовых операторов, соц. сети — и используют их для изучения функционирования среды (кто и когда ей пользуется, какие улицы самые нагруженные и т.д.) и для предсказания её поведения после нововведений. Всё движущееся и не движущееся на улицах города является объектом изучения для урбанистов.  Подробнее об этой области расскажет технический директор аналитической компании Habidatum Вадим Смахтин.   Итак, начнём. Расскажите, пожалуйста, кто вы и чем занимаетесь? Расскажите про Habidatum. Чем вы занимаетесь?  Что за Хронотоп?   Существуют ли аналоги Хронотопа? Есть ли в Хронотопе какие-то математические или статистические модели или он только про визуализацию? Постэффектов?  Можешь рассказать про ваш стэк? Какого рода исследования проводит аналитический отдел? Можешь рассказать пару примеров?    Какие люди работают у вас аналитиками? А программисты участвуют в работе аналитиков? Например? Вообще насколько аналитикам нужно уметь программировать, если у вас есть специальные команды для этого?  Куда посоветуете пойти учиться будущему аналитику из мира урбанистики?  Но не урбанистикой единой, товарищи.  В архитектуре тоже есть ряд задач, в которых IT сильно упрощает жизнь. Это задачи связанные с изучением эксплуатирования зданий и задачи автоматического проектирования.  Про это нам расскажет Доцент Учебно-Научного Центра Архитектуры и Компьютерных технологий МАРХИ Милан Станкевич.  Расскажите, пожалуйста, кто вы, и чем занимаетесь? Почему вы стали архитектором? Почему вы решили заниматься IT в архитектуре? Что вас привлекает в этом? Мы выяснили, зачем программирование урбанистам. А зачем оно архитекторам?  Какая область исследований на стыке программирования и архитектуры интересует вас больше всего? Расскажите про интересные проекты в вашей области Есть ли у вас идеи относительно применения IT технологий в архитектуре, до которых ещё не дошли руки? Могут ли обычные программисты помочь вам в ваших исследованиях? Чем занимается ваша кафедра? Где учиться программированию архитекторам? Как? Куда бежать? Что изучить перед этим? Есть ли open-source проекты/исследования по этой тематике? Насколько быстро архитекторы осваивают программирование? А наоборот? Тяжело ли влиться программисту в область архитектуры? Стоит ли? Есть ли что-то общее между программистом и архитектором. Ну и напоследок — что можно почитать, чтобы понять, что такое архитектура на самом деле и почему это важно. Такой себе научпоп Architecture 101. Недавно очередной шабаш 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’ы, клепать на коленке проекты и рассказывать об этом вам.