[Перевод] Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга
Цикл статей «Microsoft Technical Case Studies»
1. Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга.
2. Поиск пропавших детей с помощью функций Azure.
3. Loading…
Введение
Brain Tunnelgenix Technologies Corp (BTT Corp) — компания, которая занимается производством медицинской техники. Её офисы расположены в США и Бразилии. BTT Corp является владельцем патента на «тепловой тоннель мозга» и разрабатывает несколько семейств продуктов, связанных с этим открытием. Главная цель компании — научиться использовать аналитические данные о термодинамике мозга для лечения пациентов.
Температура мозга отслеживается непрерывно и обрабатывается в качестве многоканального сигнала. Анализ этого сигнала и поиск в нем закономерностей позволяют делать заключения о состоянии конкретного пациента.
Устройство BTT неинвазивно — в этом одно из главных его преимуществ. Внешний вид устройства показан на фотографии ниже.
BTT Corp предстояло решить две серьёзные задачи. Во-первых, при участии исследователей нужно было собрать термограммы человеческого мозга и создать компьютерные алгоритмы для их высокоточного распознавания. Во-вторых, алгоритмы нужно было интегрировать в производственное приложение, способное распознавать изображения в реальном времени и в пакетном режиме при поступлении данных с устройств BTT.
В итоге было представлено IoT-решение, в котором используется несколько процессов и последовательностей обработки данных:
- IoT Hub → Stream Analytics → база данных Azure SQL
- IoT Hub → Stream Analytics → база данных Azure SQL → Power BI
- IoT Hub → Stream Analytics → база данных Azure SQL → Power BI Embedded
- IoT Hub → Stream Analytics → база данных Azure SQL → локальные высокопроизводительные вычислительные системы → машинное обучение Azure
Power BI
Power BI играет важную роль в визуализации тепловых сигналов мозга, которые получает устройство BTT. Эти данные отражаются во внутренних отчетах Power BI и демонстрируются внешним пользователям с помощью Power BI Embedded. Защита данных на уровне строк обеспечивает безопасный доступ к ним.
Использование сложной R-аналитики в Power BI и пакетов визуализации — ценные возможности решения BTT. Благодаря языку R можно использовать развитые аналитические инструменты, в том числе преобразование Фурье, частотный анализ данных и обнаружение минимумов и максимумов.
Традиционно сложной является задача надёжной передачи подробной аналитической информации и зрительных образов клиентским приложениям. Например, настройка R-среды и обеспечение защищённого доступа к ней через Интернет требуют выполнения большого объема работ. С помощью Power BI Embedded можно создавать защищённые интерактивные информационные панели и отчёты, предназначенные для врачей и пациентов. В них используются зрительные образы R, которые передаются через веб-приложение ASP.NET, работающее на платформе Microsoft Azure. Следующие шаги будут выглядеть так:
- Создать рабочую область Power BI в Azure.
- Создать отчет в Power BI Desktop, используя базу данных Azure SQL в качестве источника данных.
- Применить защиту на уровне строк в отчете, где необходимо.
- Отправить результирующий файл .pbix в рабочую область Power BI.
- Добавить учетные данные источника в набор данных.
- Получить надлежащий токен OAuth.
- Внедрить отчет в веб-страницу с помощью токена OAuth.
Агрегирование данных
Для агрегирования данных используется последовательность операторов GROUP BY. Мы принимаем данные, собранные во время сна пользователя, группируем их по пользователям и идентификаторам сеансов, сортируем их в хронологическом порядке, а затем применяем к ним частотные методы обработки сигналов для получения детальной аналитической информации. На текущий момент компания BTT оценивает наиболее эффективные способы подробного анализа и классификации используемых данных.
Стратегия архивирования
На текущий момент архивирование данных не выполняется. Эта функция пока не является необходимой, поскольку в настоящее время компания BTT использует лишь небольшую часть максимального объёма базы данных Azure SQL. Тем не менее, когда используемый объем приблизится к максимальному, BTT потребуется разработать стратегию архивирования. Вероятно, архивирование будет выполняться путем переноса данных на долгосрочное хранение в хранилище больших двоичных объектов Azure посредством пула SQL Server в сочетании с фабрикой данных Azure.
Извлечение, преобразование и загрузка
На текущий момент процессы извлечения, преобразования и загрузки не используются, поскольку у нас есть прямой доступ к базе данных Azure SQL с помощью DirectQuery. Система BTT ещё находится в стадии разработки, поэтому пока совсем немного пользователей обращается к ней для доступа к отчетам Power BI Embedded. Тем не менее с увеличением количества пользователей BTT и приближением нагрузки на базу данных SQL к пороговым значениям начнётся переход на пул SQL Server. На текущий момент BTT создает запросы только на чтение данных к реплицированным нетранзакционным базам данных и архивным хранилищам. В стандартных условиях разработчики не используют транзакционное хранилище, однако в данном кейсе было выбрано именно такое архитектурное решение в существующем начальном сценарии BTT.
Пример
Ниже приведён снимок экрана с информационной панелью, которая отображает исторические данные, обработанные несложными аналитическими методами Power BI.
Информационная панель Power BI, отображаемая посредством Power BI Embedded в приложении ASP.NET.
Технический директор BTT, Роберт Ортега, демонстрирует настройку защиты на уровне строк с помощью Power BI Embedded в веб-приложении ASP.NET.
Интернет вещей и машинное обучение
Важнейшей разработкой компании BTT является технология распознавания образов, на которой основана большая часть её продуктов. Поскольку в компании уже разрабатывают на C++, Python и R на своих рабочих станциях, мы решили дать им возможность приступить к развёртыванию в производственной среде, одновременно продолжая свою научно-исследовательскую работу. Вместе с разработчиками была создана модель на основе пакетов sklearn языка Python и введена в действие с помощью машинного обучения Azure (несколько месяцев назад мы уже рассказывали на Хабре как выбирать алгоритмы для машинного обучения Microsoft Azure). Ниже приведён снимок экрана, сделанный в процессе разработки модели двоичных классификаций с помощью sklearn на рабочей станции Linux.
Как видно, мы используем Linux, Python и Anaconda для анализа данных, извлекаемых из источника Azure SQL. Этот выбор обусловлен исключительно нашими личными предпочтениями, однако процесс настолько гибок, что вы можете использовать почти любые технологии. Процесс ввода модели в эксплуатацию с помощью машинного обучения Azure показан ниже.
Один из наиболее интересных аспектов этого эксперимента заключается в том, что мы смогли отделить обучение модели и поиск зависимостей от выделения отличительных признаков. Это позволяет ранжировать стеки встроенных моделей машинного обучения Azure и пользовательских моделей с помощью отличительных признаков, которые были выделены на рабочих станциях в ходе эксперимента. Этот процесс открывает две возможности. Вы можете выбирать наиболее вероятную наилучшую модель, выполняя итерации только моделей машинного обучения Azure, при этом по необходимости разрабатывая собственные модели и применяя к ним многие другие распространенные алгоритмы.
Затем на основе эксперимента мы получаем производственную модель, выбирая конечные точки и выполняя базовые действия очистки. Производственный эксперимент проиллюстрирован на рисунке ниже.
По завершении процесса мы можем интегрировать и тестировать конечную точку различными способами. Один из простейших способов тестирования — использование предоставленной конечной точки Excel. Ниже показано тестирование сегмента данных на конечной точке, с помощью которого мы проверяем, что получили отрицательную классификацию.
Архитектура решения
Компания BTT разработала IoT-решение, которое использует развитые возможности Microsoft IoT Suite и реализовано в соответствии с руководством по эталонным архитектурам Microsoft Azure IoT. Общие сведения об этом решении опубликованы здесь. Главное отличие этого решения от многих других заключается в возможности анализировать данные как локально, так и в облаке, а также отсутствии масштабной инфраструктуры данных. SQL успешно справляется с текущими нагрузками. BTT оценивает перспективу использования хранилища данных SQL в качестве платформы для работы с большими данными после того, как рабочие нагрузки превысят возможности текущего источника данных Azure SQL.
Используемое устройство и исходники кода
В этой работе мы используем собственное устройство на основе встроенного микроконтроллера Texas Instruments с интерфейсом Bluetooth. Это устройство синхронизируется с клиентским устройством под управлением Windows, которое разработано с помощью универсальной платформы Windows и языка C#. В этом сценарии используется пакет SDK IoT Hub для языка C#. Приложение для маркировки шаблонов временных рядов находится на GitHub. Пошаговые инструкции по развертыванию пользовательских моделей klearn машинного обучения Azure находятся здесь. Инструкции по созданию глубокой нейронной сети с помощью Theano и Lasagne, а также по её вводу в эксплуатацию посредством машинного обучения Azure находятся здесь.
Заключение
С помощью технологий Microsoft (Power BI) компания BTT планирует создать решение анализа сигналов и создания отчетов BTT (в том числе для врачей и специалистов, занимающихся проблемами сна). BTT также собирается реализовать кроссплатформенные возможности отправки оповещений с помощью Azure Notification Hub и перенести BTT Monitor на Xamarin.Forms для обеспечения поддержки различных платформ. Компания также рассматривает возможность использования Microsoft HealthVault и хранилища данных SQL Azure.
Бизнес.IoT: открывая интернет вещей
Приглашаем вас пообщаться на тему IoT для бизнеса 30 марта 2017 года. У нас будет проходить онлайн-конференция «Бизнес.IoT: открывая интернет вещей». В программе будет два параллельных трека (бизнес и технологический) с экспертами в области интернета вещей, машинного обучения и предиктивной аналитики.
Среди спикеров будут присутствовать: Михаил Черномордиков (Microsoft), Сергей Осипов (MAYKOR-GMCS), Дмитрий Бергельсон (GuaranaCam), Анна Кулашова (Microsoft), Дмитрий Марченко (Microsoft), Андрей Мелузов (ГК «КОРУС Консалтинг») и Василий Есипов (КПМГ).
Чтобы принять участие, необходимо зарегистрироваться здесь.
Напоминаем, что бесплатно попробовать Microsoft Azure можно здесь.
Если вы увидели неточность перевода, сообщите, пожалуйста, об этом в личные сообщения.