Многозадачное машинное обучение

Индустрии
Здравоохранение
Компетенции
Искусственный интеллект и машинное обучение
Технологии
Python

Клиент


Крупная международная фармацевтическая компания, разрабатывающая лекарства от онкологических, психиатрических, неврологических и других заболеваний.

Задача


Для фармацевтической компании жизненно важен портфель разрабатываемых препаратов. Поиск таких веществ очень дорог: это тысячи экспериментов, которые выявляют вещества, оказывающие нужное действие на биомишени.

Клиент поставил задачу разработать быстрый и легко масштабируемый конвейер данных — решение, которое использует алгоритмы машинного обучения для предсказания активности химических соединений. Это позволит уменьшить количество реальных экспериментов и таким образом ускорить и удешевить поиск новых лекарств.

Одним из направлений, которые нужно было реализовать, было создание моделей многозадачного машинного обучения, т.е. моделей, которые обучаются решению одновременно нескольких задач. В этом случае результаты обучения могут влиять друг на друга. Если влияние позитивно, многозадачное МО позволяет добиться более эффективной работы ИИ. (См. подробное описание других реализованных задач)

Решение


В соответствии с запросом клиента наше решение поддерживает многозадачное машинное обучение. Иными словами, целевой тензор представляет собой двумерную матрицу, которая содержит различные задачи обучения (например, несколько биомишеней). Для классификации мы также реализовали поддержку многозначных и многозадачных целевых тензоров, содержащих множество меток.
Кроме того, мы создали фреймворк, позволяющий ускорить многозадачные вычисления и повысить эффективность моделей за счёт использования нескольких современных подходов:

  • Группировка схожих задач (Task Affinity Grouping) позволяет повысить точность моделей и снизить количество задач для обучения за счёт группировки задач, которые оказывают положительный эффект друг на друга.
  • AdaShare (Adaptive Sharing Approach) — подход, который позволяет определить параметры обучения моделей, которые можно переносить из одной задачи в другую, чтобы добиться максимальной точности при оптимальном использовании ресурсов.
  • L-DRO (lookahead distributionally robust optimization) — подход, задействующий теорию игр для улучшения задачи с самой низкой точностью.
  • PCGrad работает с алгоритмами градиентного спуска и позволяет избежать конфликтов между градиентами разных задач.
  • MolTSE (Molecular Tasks Similarity Estimator) проецирует отдельные задачи на скрытое пространство, измеряет расстояние между вложенными векторами и исходя из этого даёт оценку схожести задач, что позволяет улучшить результаты предсказаний.

Результаты


Мы улучшили ряд исходных алгоритмов, что позволяет за приемлемые сроки справляться с большим количеством задач обучения (больше 500). Используя наше решение, пользователи могут использовать произвольно выбранные нейронные сети для решения задач бинарной и многозначной классификации и регрессии.