… а также глубокого обучения на основе облачных вычислений и акустического моделирования
Для выращивания тканей органов из клеток в лаборатории исследователям нужен неинвазивный способ удержания клеток в одном месте. Одним из перспективных подходов является акустическое структурирование, которое предполагает использование акустической энергии для позиционирования и удержания клеток в желаемом положении по мере их развития в ткани. Применяя акустические волны к микрожидкостным устройствам, исследователи превратили ячейки микронного масштаба в простые паттерны, такие как прямые и решетки.
Мы с коллегами разработали комбинированный подход к глубокому обучению и численному моделированию, который позволяет расположить клетки в гораздо более сложные схемы нашей собственной архитектуры. Мы сэкономили недели усилий, проделав весь рабочий процесс в MATLAB и используя параллельные вычисления для ускорения таких ключевых этапов, как генерация обучающего набора данных с нашего тренажёра и обучение нейронной сети глубокого обучения.
Акустическое моделирование с помощью микроканалов
В микрожидкостном устройстве частицы жидкости и переносимые жидкостью частицы или клетки управляются в микроканалах субмиллиметрового размера, которые могут быть выполнены в различных формах. Для создания акустических паттернов внутри этих микроканалов с помощью встречно-штыревого преобразователя (IDT) генерируется поверхностная акустическая волна (ПАВ), направленная к стенке канала (рис. 1а). В жидкости внутри канала акустические волны создают минимальное и максимальное давление, которое выравнивается с давлением стенки канала (рис. 1b). Поэтому форму стенок канала можно настроить таким образом, чтобы она давала определённые акустические поля в канале [1] (рис. 1с). Акустические поля распределяют частицы внутри жидкости по паттернам, которые соответствуют местам, где силы от этих акустических волн минимизированы (рис. 1d).
Рисунок 1 — Акустическое структурирование в микроканалах
Хотя можно вычислить акустическое поле, которое будет возникать в результате определёенной формы канала, обратное невозможно: проектирование формы канала для создания желаемой области — нетривиальная задача для чего угодно, но только не для простых паттернов, похожих на сетку. Поскольку пространство решений фактически не ограничено, аналитические подходы неприменимы.
Новый рабочий процесс использует большую коллекцию смоделированных результатов (рандомизированных форм) и глубокое обучение, чтобы преодолеть это ограничение. Мы с коллегами впервые решили прямую проблему, смоделировав поля давления из известных форм в MATLAB. Затем мы использовали результаты для обучения глубокой нейронной сети, чтобы решить обратную задачу: определение формы микроканала, необходимой для создания желаемого акустического поля.
Решение прямой проблемы: моделирование полей давления
В предыдущей работе наша команда разработала двигатель моделирования в MATLAB, который решает задачу определения области давления при заданной геометрии канала по принципу Гюйгенса — Френеля, который предполагает, что любая точка на плоской волне является точечным источником сферических волн (рис. 2).
Рисунок 2 — Поле акустического давления, созданное для определённой геометрии канала
Движок симуляции опирается на различные матричные операции. Поскольку эти операции выполняются в MATLAB, каждое моделирование занимает доли секунды, а нам нужно было смоделировать десятки тысяч уникальных форм и соответствующих им двумерных областей давления. Мы ускорили этот процесс, запустив моделирование параллельно на многоядерной рабочей станции с помощью Parallel Computing Toolbox.
Как только у нас появились необходимые данные, они были использованы для обучения сети глубокого обучения, чтобы сделать вывод о форме канала из заданной области давления, по сути, делая порядок ввода и вывода обратным.
Обучение нейронной сети глубокого обучения для решения обратной проблемы
Сначала для ускорения тренировочного процесса было определено пороговое значение на моделируемой области давления. В результате были созданы двумерные булевы матрицы 151 x 151, которые мы преобразовали («сплющили») в одномерный вектор, в свою очередь, он стал бы входом в сеть глубокого обучения. Для минимизации количества выходных нейронов мы использовали представление коэффициента Фурье, которое запечатлело контур формы канала (рис. 3).
Рисунок 3 — Приближение ряда Фурье равностороннего треугольника, повёрнутого на 20 градусов с коэффициентами (слева направо) 20, 3, 10 и 20
Мы построили исходную сеть с помощью приложения Deep Network Designer и программно усовершенствовали её, чтобы сбалансировать точность, универсальность и скорость обучения (рис. 4). Мы тренировали сеть с использованием адаптивного решателя оценки момента (оптимизатора ADAM) на графическом процессоре NVIDIA Titan RTX.
Рисунок 4 — Полносвязная нейронная сеть с четырьмя скрытыми слоями
Проверка результатов
Для проверки обученной сети мы использовали её для вывода геометрии канала из заданного поля давления, а затем использовали эту геометрию в качестве ввода в движок моделирования для реконструкции поля давления. Затем мы сравнили оригинальные и созданные поля давления. Минимальное и максимальное давление в пределах двух полей близки друг к другу (рис. 5).
Рисунок 5 — Рабочий процесс проверки сети глубокого обучения
Затем мы провели ряд реальных испытаний. Чтобы указать области, в которых мы хотели собрать частицы, мы рисовали специализированные изображения с помощью Microsoft Paint. Они содержали множество различных одно- и многострочных изображений, которые было бы трудно получить без применения нашего метода. Обученная сеть затем была использована для определения геометрии каналов, необходимых для создания этих определённых областей. Наконец, с помощью наших партнёров мы изготовили ряд микрожидкостных устройств, основанных на предполагаемой геометрии. Каждое из этих устройств затем инжектировалось частицами полистирола размером 1 мкм, подвешенными в жидкости, в образовавшиеся каналы, и на устройство наводилась ПАВ. Результаты показали агрегацию частиц вдоль областей, которые были указаны на наших специализированных изображениях (рис. 6).
Рисунок 6 — Внизу: Области, нарисованные в Microsoft Paint (фиолетовый), накладываются на моделируемое акустическое поле, необходимое для агрегации частиц в этих областях; вверху: в результате получаются образцы взвешенных частиц полистирола в изготовленном микрожидкостном устройстве
Переход в облако
В преддверии следующего этапа этого проекта мы обновляем нашу сеть глубокого обучения, чтобы использовать изображения акустических полей в качестве входных и генерировать изображения канальных форм как выходные, а не с помощью сплющенного вектора и коэффициентов Фурье соответственно. Надежда на то, что это изменение позволит нам использовать формы каналов, которые нелегко определить с помощью ряда Фурье и которые могут меняться со временем. Однако для обучения потребуется гораздо больший набор данных, более сложная архитектура сети и значительно больше вычислительных ресурсов. В результате мы переносим сеть и обучающие её данные в облако.
К счастью, MathWorks Cloud Center обеспечивает удобную платформу для быстрого раскручивания и отключения экземпляров высокопроизводительных облачных вычислительных ресурсов. Одним из наиболее утомительных аспектов проведения научных исследований в облаке является взаимодействие с инстанциями, которое включает в себя перемещение наших алгоритмов и данных между облаком и нашей локальной машиной. MATLAB Parallel Server абстрагирует более сложные аспекты облачных вычислений, позволяя нам запускаться локально или в облаке несколькими простыми нажатиями в меню. Такая простота использования позволяет нам сосредоточиться на научной проблеме, а не на необходимых для её решения инструментах.
Используя MATLAB с экземплярами Amazon Web Services на базе NVIDIA GPU, мы планируем обучать обновлённую сеть работе с данными, хранящимися в корзинах Amazon S3. Затем мы можем использовать обученную сеть на локальных рабочих станциях, чтобы делать выводы (которые не требуют высокопроизводительных вычислений) и экспериментировать с различными паттернами и акустического поля. Эта работа предоставит нам исходные данные для других проектов по машинному обучению с использованием физики.
Хотите узнать больше про машинное и глубокое обучение — заглядывайте к нам на соответствующий курс, будет непросто, но увлекательно. А промокод HABR — поможет в стремлении освоить новое, добавив 10% к скидке на баннере.
- Курс по Machine Learning
- Продвинутый курс «Machine Learning Pro + Deep Learning»
- Обучение профессии Data Science
- Обучение профессии Data Analyst
Другие профессии и курсы
ПРОФЕССИИ
КУРСЫ
- Профессия Java-разработчик
- Профессия Frontend-разработчик
- Профессия Этичный хакер
- Профессия C++ разработчик
- Профессия Разработчик игр на Unity
- Профессия iOS-разработчик с нуля
- Профессия Android-разработчик с нуля
- Профессия Веб-разработчик
КУРСЫ
- Курс «Python для веб-разработки»
- Курс по JavaScript
- Курс «Математика и Machine Learning для Data Science»
- Курс по аналитике данных
- Курс по DevOps