И как можете да го спасите

Смисълът на живота е различен от човек на човек, от ден на ден и от час на час — Виктор Е. Франкъл, Човек търси смисъл.

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

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

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

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

Според „проучването“ на Бюрото за преброяване на населението на САЩ сред 583 000 американски компании през 2018 г., само 2,8% използват машинно обучение, за да се възползват от предимствата на своите операции. Около 8,9% от анкетираните използват някаква форма на AI, като например гласово разпознаване.

Защо производителността на ML модел се влошава в производството?

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

Но вместо това забелязвате, че производителността на модела бавно се влошава с времето. Какво може да причини това?

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

Какво е отклонение на концепцията?

Дрейфът на концепцията възниква, когато има промени в разпределението на примерите за обучение.

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

Например, моделите за откриване на измами са изложени на риск от отклонение на концепцията, когато концепцията за измама непрекъснато се променя.

Това може да доведе до влошаване на производителността на модела, особено за продължителни периоди, когато отклонението на концепцията продължава да се случва, без да бъде открито от вашите системи за наблюдение.

Какво причинява отклонение на концепцията?

Основната причина за възникване на отклонение на концепцията е, че основното разпределение на данни в приложението непрекъснато се променя.

Когато дистрибуциите се променят, старите модели на машинно обучение вече не могат да правят точни прогнози и трябва да бъдат предефинирани или преквалифицирани изцяло, за да се адаптират към тези промени.

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

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

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

Как да се справим с отклонението на концепцията за модели в производство?

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

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

Наблюдавайте входовете и изходите на модела във времето.

Чрез наблюдение на разпределението на входните и изходните данни бихме могли да определим дали изтичането на производителност е проблем с данните или проблем с модела.

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

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

Проследявайте качеството на прогнозиране на модела във времето

Наблюдението на различни показатели за ефективност във времето е от решаващо значение, защото можем да разберем за всяко отклонение, като ги разгледаме внимателно. Някои от критичните матрици за ефективност на модела включват прецизност, припомняне, F-мярка и ROC.

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

Припомняне ни казва дали улавяме достатъчно от положителните примери.

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

F-мярка комбинира прецизност и извикване в едно число, като използва средната хармонична стойност на техните стойности. Ако F-мярката се променя заедно с точността, това също показва отклонение на модела.

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

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

Докато проследяването на матриците на ефективността позволява идентифициране на концептуалните отклонения възможно най-рано, редовното преквалификация проактивно се опитва да елиминира такава ситуация.

Може да отнеме много време и ресурси, за да преквалифицирате вашите модели постоянно, но това е инвестиция, която се изплаща в дългосрочен план.

Честотата на преквалификацията до голяма степен зависи от домейна. В електронната търговия преквалификацията на модели всяка седмица вероятно има смисъл. Но за системите за откриване на измами, където поведението на измамните потребители непрекъснато се променя, може да се наложи да обучавате модела си ежедневно.

Използвайте ансамбъл от модели.

Всичко това са отлични стратегии за предотвратяване или справяне с дрейфа на машинното обучение в производството. Въпреки това, друг начин за справяне с този проблем е използването на ансамблови модели.

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

Това може да бъде чудесен начин да увеличите точността и да предотвратите евентуално отклонение с течение на времето.

Последни мисли

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

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

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

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