Są to modele (najczęściej sieci neuronowe), które przypisują danym energię (zamiast prawdopodobieństwa). Przypisywanie energii zamiast prawdopodobieństwa jest prostsze do wytrenowania, ale za to nie jest interpretowalne wprost.
Energy-based models mogą zostać użyte np. do oszacowania jak prawdopodobne jest wystąpienie danej próbki w naszym zbiorze danych (a właściwie nie “jak prawdopodobne” czy “z jaką energią”, ale to to samo z dokładnością do stałej). Można to wykorzystać do samplowania, Rozszerzanie zbioru danych i może trochę do odbiasowania danych w RTB.
Model uczy się mniej więcej tak:
- Mamy nasz zbiór danych
- Losujemy inny zbiór danych, może być losowane z rozkładu totalnie z czapy
- Potem w pętli na zmianę
- Trenujemy sieć neuronową tak, aby odróżniała jedne dane od drugich, tzn. żeby różnica energii między zbiorami danych była jak największa
- Liczymy pochodną po naszym losowym zbiorze danych i aktualizujemy ten zbiór tak, aby był trochę bardziej podobny to naszego oryginalnego zbioru
- W ten sposób dostajemy model, który potrafi ocenić energię próbki tzn. ocenić jak bardzo próbka jest podobna do naszego oryginalnego datasetu