кочан Какво е трансферно обучение? - Обединете.AI
Свържете се с нас
AI майсторски клас:

AI 101 г

Какво е трансферно обучение?

mm
Обновено on

Какво е трансферно обучение?

Когато практикувате машинно обучение, обучението на модел може да отнеме много време. Създаването на моделна архитектура от нулата, обучението на модела и след това настройването на модела е огромно количество време и усилия. Много по-ефективен начин за обучение на модел за машинно обучение е да се използва архитектура, която вече е дефинирана, потенциално с тегла, които вече са изчислени. Това е основната идея зад трансфер на обучение, като вземете модел, който вече е бил използван и го пренастроите за нова задача.

Преди да се задълбочим в различните начини, по които може да се използва трансферното обучение, нека отделим малко време, за да разберем защо трансферното обучение е толкова мощна и полезна техника.

Решаване на проблем с дълбокото обучение

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

Ако моделът не постигне вида на точността, необходима за задачата, вероятно ще трябва да се направи настройка на модела и след това моделът ще трябва да бъде преквалифициран. Това означава повече часове обучение, докато не бъде намерена оптимална архитектура, продължителност на обучението и дял на набора от данни. Когато обмислите колко променливи трябва да бъдат съгласувани една с друга, за да бъде полезен един класификатор, има смисъл, че инженерите за машинно обучение винаги търсят по-лесни, по-ефективни начини за обучение и внедряване на модели. Поради тази причина е създадена техниката за трансферно обучение.

След проектиране и тестване на модел, ако моделът се окаже полезен, той може да бъде запазен и повторно използван по-късно за подобни проблеми.

Видове трансферно обучение

Като цяло има две различни видове трансферно обучение: разработване на модел от нулата и използване на предварително обучен модел.

Когато разработвате модел от нулата, ще трябва да създадете моделна архитектура, способна да интерпретира вашите данни за обучение и да извлича модели от тях. След като моделът бъде обучен за първи път, вероятно ще трябва да направите промени в него, за да получите оптимална производителност от модела. След това можете да запишете архитектурата на модела и да го използвате като отправна точка за модел, който ще се използва при подобна задача.

При второто условие – използването на предварително обучен модел – вие просто трябва да изберете предварително обучен модел, който да използвате. Много университети и изследователски екипи ще направят спецификациите на своя модел достъпни за общо ползване. Архитектурата на модела може да бъде изтеглена заедно с теглата.

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

Фина настройка на мрежа

Фината настройка на мрежа описва процеса на обучение само на някои от слоевете в мрежата. Ако нов набор от данни за обучение е много подобен на набора от данни, използван за обучение на оригиналния модел, могат да се използват много от същите тегла.

Броят на слоевете в мрежата, които трябва да бъдат размразени и преквалифицирани, трябва да се мащабира в съответствие с размера на новия набор от данни. Ако наборът от данни, върху който се обучава, е малък, по-добра практика е да запазите по-голямата част от слоевете такива, каквито са, и да обучите само последните няколко слоя. Това е за предотвратяване на прекомерното оборудване на мрежата. Алтернативно, последните слоеве на предварително обучената мрежа могат да бъдат премахнати и да се добавят нови слоеве, които след това се обучават. За разлика от това, ако наборът от данни е голям набор от данни, потенциално по-голям от оригиналния набор от данни, цялата мрежа трябва да бъде преквалифицирана. За да използвате мрежата като екстрактор на фиксирани функции, по-голямата част от мрежата може да се използва за извличане на характеристиките, докато само последният слой на мрежата може да бъде размразен и обучен.

Когато настройвате фино мрежа, просто не забравяйте, че по-ранните слоеве на ConvNet са това, което съдържа информацията, представяща по-общите характеристики на изображенията. Това са характеристики като ръбове и цветове. За разлика от това, по-късните слоеве на ConvNet съдържат детайлите, които са по-специфични за отделните класове, съхранявани в набора от данни, върху който моделът първоначално е бил обучен. Ако обучавате модел върху набор от данни, който е доста различен от оригиналния набор от данни, вероятно ще искате да използвате първоначалните слоеве на модела, за да извлечете функции и просто да обучите отново останалата част от модела.

Примери за трансфер на обучение

Най-често срещаните приложения на трансферното обучение вероятно са тези, които използват данни за изображения като входни данни. Това често са задачи за прогнозиране/класификация. Начинът Конволюционни невронни мрежи интерпретирането на данни за изображения се поддава на повторно използване на аспекти на моделите, тъй като конволюционните слоеве често разграничават много подобни характеристики. Един пример за често срещан проблем с обучението при трансфер е задачата ImageNet 1000, масивен набор от данни, пълен с 1000 различни класа обекти. Компаниите, които разработват модели, които постигат висока производителност на този набор от данни, често пускат своите модели под лицензи, които позволяват на други да ги използват повторно. Някои от моделите, които са резултат от този процес, включват Модел на Microsoft ResNet, първоначалния модел на Google и Модел Oxford VGG група.

Блогър и програмист със специалности в Machine Learning намлява Дълбоко обучение теми. Даниел се надява да помогне на другите да използват силата на ИИ за социално благо.