--- tags: - generated_from_keras_callback model-index: - name: nathanReitinger/mlcb results: [] widget: - text: "window._wpemojiSettings = {'baseUrl':'http:\/\/s.w.org\/images\/core\/emoji\/72x72\/','ext':'.png','source':{'concatemoji':'http:\/\/basho.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.2.2'}}; !function(a,b,c){function d(a){var c=b.createElement('canvas'),d=c.getContext&&c.getContext('2d');return d&&d.fillText?(d.textBaseline='top',d.font='600 32px Arial','flag'===a?(d.fillText(String.fromCharCode(55356,56812,55356,56807),0,0),c.toDataURL().length>3e3):(d.fillText(String.fromCharCode(55357,56835),0,0),0!==d.getImageData(16,16,1,1).data[0])):!1}function e(a){var c=b.createElement('script');c.src=a,c.type='text/javascript',b.getElementsByTagName('head')[0].appendChild(c)}var f,g;c.supports={simple:d('simple'),flag:d('flag')},c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.simple&&c.supports.flag||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener('DOMContentLoaded',g,!1),a.addEventListener('load',g,!1)):(a.attachEvent('onload',g),b.attachEvent('onreadystatechange',function(){'complete'===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);" example_title: "Word Press Emoji False Positive" - text: "var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); var txt = 'i9asdm..$#po((^@KbXrww!~cz'; ctx.textBaseline = 'top'; ctx.font = '16px 'Arial''; ctx.textBaseline = 'alphabetic'; ctx.rotate(.05); ctx.fillStyle = '#f60'; ctx.fillRect(125,1,62,20); ctx.fillStyle = '#069'; ctx.fillText(txt, 2, 15); ctx.fillStyle = 'rgba(102, 200, 0, 0.7)'; ctx.fillText(txt, 4, 17); ctx.shadowBlur=10; ctx.shadowColor='blue'; ctx.fillRect(-20,10,234,5); var strng=canvas.toDataURL();" example_title: "Canvas Fingerprinting Canonical Example" inference: parameters: wait_for_model: true use_cache: false temperature: 0 --- # nathanReitinger/mlcb This model is a fine-tuned version of [dbernsohn/roberta-javascript](https://huggingface.co/dbernsohn/roberta-javascript) on the [mlcb dataset](https://huggingface.co/datasets/nathanReitinger/mlcb). It achieves the following results on the evaluation set: - Train Loss: 0.0463 - Validation Loss: 0.0930 - Train Accuracy: 0.9708 - Epoch: 4 ## Intended uses & limitations The model can be used to identify whether a JavaScript program is engaging in canvas fingerprinting. ## Training and evaluation data ### Training hyperparameters The following hyperparameters were used during training: - optimizer: {'name': 'Adam', 'weight_decay': None, 'clipnorm': None, 'global_clipnorm': None, 'clipvalue': None, 'use_ema': False, 'ema_momentum': 0.99, 'ema_overwrite_frequency': None, 'jit_compile': False, 'is_legacy_optimizer': False, 'learning_rate': {'class_name': 'PolynomialDecay', 'config': {'initial_learning_rate': 2e-05, 'decay_steps': 910, 'end_learning_rate': 0.0, 'power': 1.0, 'cycle': False, 'name': None}}, 'beta_1': 0.9, 'beta_2': 0.999, 'epsilon': 1e-08, 'amsgrad': False} - training_precision: float32 ### Training results | Train Loss | Validation Loss | Train Accuracy | Epoch | |:----------:|:---------------:|:--------------:|:-----:| | 0.1291 | 0.1235 | 0.9693 | 0 | | 0.0874 | 0.1073 | 0.9662 | 1 | | 0.0720 | 0.1026 | 0.9677 | 2 | | 0.0588 | 0.0950 | 0.9708 | 3 | | 0.0463 | 0.0930 | 0.9708 | 4 | ### Framework versions - Transformers 4.30.2 - TensorFlow 2.11.0 - Datasets 2.13.2 - Tokenizers 0.13.3 # Citation ``` @inproceedings{reitinger2021ml, title={ML-CB: Machine Learning Canvas Block.}, author={Nathan Reitinger and Michelle L Mazurek}, journal={Proc.\ PETS}, volume={2021}, number={3}, pages={453--473}, year={2021} } ``` - [OSF](https://osf.io/shbe7/) - [GitHub](https://github.com/SP2-MC2/ML-CB) - [Data](https://dataverse.harvard.edu/dataverse/ml-cb)