This should be easy to defeat. YouTube videos are usually delivered as DASH streams and an ad would just send down a different fragment. Loading the video multiple times will load injected ads in different places but the core video segments will always be present. The differences could determine what's an ad and what's not. Detected ad segments can be added to a known ad bloom filter, correct segments could be added to a known valid bloom filter, or both.