Трансферное обучение
Всё нынешнее глубокое обучение относится к категории обучения с учителем (supervised DL), ставшего новой классикой. Оно обладает несколькими врожденными недостатками. По определению для него требуются чрезвычайно большие объемы данных на этапе обучения и соответственно большие вычислительные мощности. В ряде случаев требуется такая вычислительная мощность, что решение сопряженно с существенными энергетическими затратами, но полученная при этом модель способна решать только одну задачу, что снижает эффективность. То есть модель, обученная для решения одной задачи настолько специальна, что не может быть полезной для решения другой задачи, для нового решения потребуются новые данные для обучения и новые затраты на обучение. Избавлением от этого врожденного недостатка станет модифицированный тип DL, который получил название transfer learning (TL), его можно перевести как «обучение с переносом», но чаще используют кальку английского термина «трансферное обучение». TL отличается тем, что «знание», полученное при тренировке модели, сохраняется для последующего повторного использования, чем напоминает обучение человека, с той разницей, что машинное знание не имеет ничего общего с человеческим, оно не может служить источником для самостоятельной деятельности. Знание в данном случае сводится к возможности полного или частичного использования ранее обученной модели для решения новой задачи. TL повышает эффективность DL при условии родственности решаемых задач. Если модель обучена на распознавание кошек, то она окажется бесполезной для распознавания собак.
Общие идеи относительно возможностей TL и сам термин предложила известная специалист в этой области Лорин Пратт еще в 1993 году, но путевку в жизнь этому направлению в DL дал Эндрю Ын в своем ставшем широко известным выступлении на конференции Neural Information Processing Systems (NIPS) 2016. По его мнению, TL должно стать следующим стимулом для коммерческого успеха после обучения с учителем.
На данный момент видится несколько стратегий внедрения TL. Это может быть прямое использование заранее обученной модели (pre-trained models) для определенной области приложений, например NLP. Пользователям уже доступны такие специализированные как BERT, YOLO, GloVe, UnsupervisedMT и другие. Или же можно тем или иным способом воспользоваться обученной моделью для частичного экстрагирования сведений из ранее натренированного набора данных с тем, чтобы потом перенести их другую модель.