Затем Rich Caruana с Lei Jimmy Ba развили эту тему в работе:

Do Deep Nets Really Need to be Deep?

https://arxiv.org/abs/1312.6184



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



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



Соответственно этим авторы и занимаются в работе, показывая, что можно обучить неглубокие модели такого же качества, как и глубокие.



Снова используются данные, размеченные сложной моделью, transfer set (иногда это те же самые данные, на которых модель обучалась, иногда дополнительный датасет). Модель-ученик учится предсказывать логиты модели-учителя — выходы сети _ДО_ софтмакса, ибо на софтмаксе теряется много информации. Например, активации [10.0, 20.0, 30.0] и [-10.0, 0.0, 10.0] дают одинаковый результат после софтмакса, но они по сути существенно разные. Идея в том, что в этих числах закодированы тонкие взаимоотношения между классами, которые отсутствуют в разреженных hard labels, и эту информацию можно использовать для обучения ученика. Задача обучения сводится к задаче L2-регрессии на предсказание логитов.



В итоге на TIMIT и на CIFAR-10 смогли обучить неглубокие модели, приближающиеся по качеству к продвинутым моделям (CNN и ансамбль CNN) и обгоняющие DNN. Снова получилось, что имитирующие модели (они называют их mimic models) получаются более точными, чем если бы изначально были обучены на оригинальных данных.



В общем интересная история, неглубокую модель текущими методами оптимизации хорошо обучить с нуля не получается. Только через model compression (доразметку неразмеченного датасета) и/или качественную модель-учителя (считайте, дистилляцию).



Есть хорошее выступление Каруаны по данной теме:

https://www.youtube.com/watch?v=NedWl0lZw2E