Аннотация:
За последние несколько лет технологии глубинного обучения позволили получить выдающиеся практические результаты в таких прикладных областях как компьютерное зрение и обработка естественного языка. Для создания моделей для практических задач чаще всего используют блоки (слои) из небольшого списка стандартных операций (полно-связные, свёрточные, рекуррентные слои). Ограниченность такого набора является одним из препятствий для переноса технологий на новые задачи. С другой стороны, для многих задач уже накоплено большое количество алгоритмов и практик, позволяющих получать хорошие результаты. Возможно ли строить глубинные модели не с чистого листа, а на основе уже существующих не-нейросетевых решений? В рамках этого доклада мы рассмотрим несколько способов построения нейросетей (или слоев нейросетей) на основе существующих алгоритмов из компьютерных наук. Будут затронуты прямое разворачивание алгоритмов в слои нейросетей, использование комбинаторной оптимизации для выбора активаций сети, дифференцирование результатов алгоритмов по входам. Мы посмотрим, как применять эти подходы на примере задач предсказания со структурированным выходом (structured-output prediction) и на их применения в задачах компьютерного зрения.