Trening kontradyktoryjny to podejście do uczenia maszynowego, które ma na celu zwiększenie odporności modelu poprzez wyposażenie go w zdolność do obrony przed atakiem. Jest to forma powiększania danych, która wprowadza do danych uczących rodzaj sztucznego szumu. Taki szum można wygenerować za pomocą algorytmów lub po prostu przez dodanie małych zakłóceń do próbek wejściowych.
Celem treningu kontradyktoryjnego jest zwiększenie odporności modelu na określone typy ataków. Na przykład dodanie małych zakłóceń do danych wejściowych może sprawić, że model będzie mniej wrażliwy na określone typy ataków. Jest to w zasadzie podobne do koncepcji regularyzacji, w ramach której model jest szkolony tak, aby w mniejszym stopniu polegał na określonych cechach.
Trening kontradyktoryjny może pomóc zmniejszyć ryzyko nadmiernego dopasowania, ponieważ zaszumione dane zachęcają model do skuteczniejszego uogólniania. Można go również wykorzystać do zwiększenia dokładności modelu w nowych zbiorach danych, ponieważ odporność na ataki poprawia jego wydajność.
Trening kontradyktoryjny może również pomóc w poprawie bezpieczeństwa samego modelu, ponieważ ma on wyższy stopień odporności na niektóre ataki. Dzięki temu jest mniej podatny na manipulację lub zatruwanie danych treningowych, co może skutkować słabą wydajnością.
Trening kontradyktoryjny jest powszechnie stosowany w celu zwiększenia wydajności i bezpieczeństwa modeli głębokiego uczenia się. Wykorzystuje się je do zwiększania dokładności i niezawodności podejść do cyberbezpieczeństwa opartych na danych, takich jak wykrywanie anomalii i zapobieganie włamaniom do sieci.