На этом шаге мы наметим план дальнейшего изложения.
Фундаментальной проблемой приложений компьютерного зрения является интерпретируемость результатов: почему классификатор решил, что конкретное изображение содержит холодильник, тогда как на нем присутствует только грузовик? Это особенно актуально для случаев, когда глубокое обучение используется как дополнение к человеческому опыту, например в медицинской визуализации. В заключение мы познакомимся с некоторыми приемами визуализации знаний, накопленных сверточными сетями, и интерпретации принимаемых ими решений.
Часто говорят, что модели глубокого обучения - это черные ящики: изученные ими представления сложно извлечь и представить в форме, понятной человеку. Отчасти это верно для некоторых типов моделей глубокого обучения, но уж точно не относится к сверточным нейронным сетям. Представления, изученные сверточными нейронными сетями, легко поддаются визуализации во многом благодаря тому, что представляют собой визуальные понятия. С 2013 года был разработан широкий спектр методов визуализации и интерпретации этих представлений. Далее мы рассмотрим три наиболее доступных и практичных из них:
Для демонстрации первого метода - визуализации активации - мы используем небольшую сверточную нейронную сеть, обученную с нуля для классификации изображений кошек и собак в шагах, начиная с 209 шага. Для демонстрации двух других методов возьмем предварительно обученную модель Xception.
На следующем шаге мы рассмотрим визуализацию промежуточных активаций.