World Congress 2022 • Jun 15, 2022

Shoot for the moon - machine learning for automated online ad detection

Humera Minhas , Parinitha Hirehal

When computer vision proved too heavy for real-time ad blocking, engineers pivoted to DOM analysis. Discover how they achieved sub-millisecond inference in-browser using XGBoost and TensorFlow.js.

Pause
Mute Enter Fullscreen
#1 about 3 min

Using machine learning to automate online advertisement detection

Project Moonshot aims to filter intrusive internet ads using artificial intelligence and machine learning.

#2 about 2 min

Understanding the limitations of manual ad filter lists

Traditional filter lists demand significant human intervention to manually review and update rules against circumvention.

#3 about 2 min

Establishing an experimentation pipeline for ad detection models

The end-to-end process involves data collection, pre-processing, model benchmarking, and final deployment.

#4 about 3 min

Choosing HTML structures over computer vision for ad data

Analyzing HTML tags and page structure provides better performance than using heavy computer vision models.

#5 about 2 min

Generating ground truth data at scale using web crawlers

A custom crawler combined with headless Chrome and Adblock Plus creates large-scale labeled datasets.

#6 about 3 min

Pre-processing raw HTML into feature and adjacency matrices

Converting HTML into a JSON tree structure enables the generation of matrices for machine learning input.

#7 about 3 min

Overcoming challenges with unbalanced data and pipeline speed

Data augmentation resolves highly unbalanced distributions while server upgrades drastically reduce processing times.

#8 about 5 min

Applying graph neural networks for HTML node classification

Message passing mechanisms generate node embeddings that allow classifiers to distinguish ads from legitimate content.

#9 about 5 min

Evaluating model performance and utilizing self-supervised learning

Tree-based models like XGBoost achieve better F1 scores than direct graph neural networks for complex web graphs.

#10 about 4 min

Deploying Python machine learning models into JavaScript environments

Migrating models to background scripts using TensorFlow.js reduces inference latency and prevents continuous reloading.

#11 about 5 min

Addressing model circumvention and future machine learning objectives

Continuous data collection from ad publishers attempting to bypass detection further trains and hardens the model.

Matching moments

1:33 min

Real-world implementations of browser-based machine learning

Håkan Silfvernagel · LIVE

7:51 min

Integrating embedded machine learning models into the Firefox browser

Chris Heilmann Chris Heilmann +2 · LIVE

57 sec

Implementing predictive prefetch with machine learning

Jessica Janiuk · JS Congress

2:54 min

Leveraging Chrome AI and nano models for web applications

Raymond Camden · Perf + AI

5:36 min

Evaluating page performance using customized ML prediction models

Perf + AI

10:12 min

Challenges with open source monetization and AI scraping

Chris Heilmann Chris Heilmann +2 · LIVE