code release for USENIX'22 paper `On the Security Risks of AutoML`

Related tags

Deep Learningautovul
Overview

This project is a minimized runnable project cut from trojanzoo, which contains more datasets, models, attacks and defenses. This repo will not be maintained.

This is a minimum code implementation of our USENIX'22 paper On the Security Risks of AutoML.

Abstract

The artifact discovers the vulnerability gap between manual models and automl models against various kinds of attacks (adversarial, poison, backdoor, extraction and membership) in image classification domain. It implements all datasets, models, and attacks used in our paper.
We expect the artifact could support the paper's claim that automl models are more vulnerable than manual models against various kinds of attacks, which could be explained by their small gradient variance.

Checklist

  • Binary: on pypi with any platform.
  • Model: ResNet and other model pretrained weights are available with --official flag to download them automatically at first running.
  • Data set: CIFAR10, CIFAR100 and ImageNet32.
    Use --download flag to download them automatically at first running.
    ImageNet32 requires manual set-up at their website due to legality.
  • Run-time environment:
    At any platform (Windows and Ubuntu tested).
    Pytorch and torchvision required. (CUDA recommended)
    adversarial-robustness-toolbox required for extraction attack and membership attack.
  • Hardware: GPU with CUDA support is recommended.
  • Execution: Model training and backdoor attack would be time-consuming. It would cost more than half day on a Nvidia Quodro RTX6000.
  • Metrics: Model accuracy, attack success rate, clean accuracy drop, cross entropy, f1 score, and auc.
  • Output: console output and saved model files (.pth).
  • Experiments: OS scripts.
  • How much disk space is required (approximately):
    less than 5GB.
  • How much time is needed to prepare workflow (approximately): within 1 hour.
  • How much time is needed to complete experiments (approximately): 3-4 days.
  • Publicly available: on GitHub.
  • Code licenses: GPL-3.
  • Archived: GitHub commit #XXXXXXX (todo).

Description

How to access

Hardware Dependencies

Recommend to use GPU with CUDA and CUDNN.
Less than 5GB disk space is needed.

Software Dependencies

You need to install python==3.9, pytorch==1.9.x, torchvision==0.10.x manually.

ART (IBM) required for extraction attack and membership attack.
pip install adversarial-robustness-toolbox

Data set

CIFAR10, CIFAR100 and ImageNet32.
Use --download flag to download them automatically at first running.
ImageNet32 requires manual set-up at their website due to legality.

Models

ResNet and other model pretrained weights are available with --official flag to download them automatically at first running.

Installation

(optional) Config Path

You can set the config files to customize data storage location and many other default settings. View /configs_example as an example config setting.
We support 3 configs (priority ascend):

  • package:
    (DO NOT MODIFY)
    autovul/base/configs/*.yml
    autovul/vision/configs/*.yml
  • user:
    ~/.autovul/configs/base/*.yml
    ~/.autovul/configs/vision/*.yml
  • workspace:
    ./configs/base/*.yml
    ./configs/vision/*.yml

Experiment Workflow

Bash Files

Check the bash files under /bash to reproduce our paper results.

Download Datasets

If you run it for the first time, please run bash ./bash/train.sh "--download" to download the dataset.

Train Models

You need to first run /bash/train.sh to get pretrained models.

Run Attacks

/bash/adv_attack.sh
/bash/poison.sh
/bash/backdoor.sh
/bash/extraction.sh
/bash/membership.sh

Run Other Exps

/bash/grad_var.sh
/bash/mitigation_backdoor.sh
/bash/mitigation_extraction.sh

For mitigation experiments, the architecture names in our paper map to:

  • darts-i : diy_deep
  • darts-ii : diy_no_skip
  • darts-iii: diy_deep_noskip

These are the 3 options for --model_arch {arch} (with --model darts)

Evaluation and Expected Result

Our paper claims that automl models are more vulnerable than manual models against various kinds of attacks, which could be explained by low gradient variance. Therefore, for each attack, we expect automl models to have:

Train

Most models around 96%-97% accuracy on CIFAR10.

Attack

For automl models on CIFAR10,

  • adversarial
    higher success rate (around 10%).
  • poison
    lower accuracy drop (around 5%).
  • backdoor
    higher success rate (around 2%) lower accuracy drop (around 1%).
  • extraction
    lower inference cross entropy (around 0.3).
  • membership
    higher auc (around 0.04).

Others

  • gradient variance
    automl with lower gradient variance (around 2.2).
  • mitigation architecture
    deep architectures (darts-i, darts-iii) have larger cross entropy for extraction attack (around 0.5), and higher accuracy drop for poisoning attack (around 7%).

Experiment Customization

Use -h or --help flag for example python files to check available arguments.

Comments
  • Bump docker/build-push-action from 2.7.0 to 2.8.0

    Bump docker/build-push-action from 2.7.0 to 2.8.0

    Bumps docker/build-push-action from 2.7.0 to 2.8.0.

    Release notes

    Sourced from docker/build-push-action's releases.

    v2.8.0

    • Allow specifying subdirectory with default git context (#531)
    • Add cgroup-parent, shm-size, ulimit inputs (#501)
    • Don't set outputs if empty or nil (#470)
    • docs: example to sanitize tags with metadata-action (#476)
    • docs: wrong syntax to sanitize repo slug (#475)
    • docs: test before pushing your image (#455)
    • readme: remove v1 section (#500)
    • ci: virtual env file system info (#510)
    • dev: update workflow (#499)
    • Bump @​actions/core from 1.5.0 to 1.6.0 (#160)
    • Bump ansi-regex from 5.0.0 to 5.0.1 (#469)
    • Bump tmpl from 1.0.4 to 1.0.5 (#465)
    • Bump csv-parse from 4.16.0 to 4.16.3 (#451 #459)
    Commits
    • 1814d3d Merge pull request #531 from BeyondEvil/subdir-with-default-context
    • fc5a732 Add subdirectory for Git context
    • b1aeb11 Merge pull request #510 from crazy-max/venv
    • e31f93a ci: virtual env file system info
    • 9ed5823 Merge pull request #501 from crazy-max/new-inputs
    • 4222161 Merge pull request #500 from crazy-max/readme
    • 67ff4df add cgroup-parent, shm-size, ulimit inputs
    • 91274a0 sort flags
    • ff32939 readme: remove v1 section
    • 04841f2 Merge pull request #499 from crazy-max/update-workflow
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump docker/login-action from 1.10.0 to 1.12.0

    Bump docker/login-action from 1.10.0 to 1.12.0

    Bumps docker/login-action from 1.10.0 to 1.12.0.

    Release notes

    Sourced from docker/login-action's releases.

    v1.12.0

    • ECR: only set credentials if username and password are specified (#128)
    • Refactor to use aws-sdk v3 (#128)

    v1.11.0

    • ECR: switch implementation to use the AWS SDK (#126)
    • ecr input to specify whether the given registry is ECR (#123)
    • Test against Windows runner (#126)
    • Update instructions for Google registry (#127)
    • Update dev workflow (#111)
    • Small changes for GHCR doc (#86)
    • Update dev dependencies (#85)
    • Bump ansi-regex from 5.0.0 to 5.0.1 (#101)
    • Bump tmpl from 1.0.4 to 1.0.5 (#100)
    • Bump @​actions/core from 1.4.0 to 1.6.0 (#94 #103)
    • Bump codecov/codecov-action from 1 to 2 (#88)
    • Bump hosted-git-info from 2.8.8 to 2.8.9 (#83)
    • Bump node-notifier from 8.0.0 to 8.0.2 (#82)
    • Bump ws from 7.3.1 to 7.5.0 (#81)
    • Bump lodash from 4.17.20 to 4.17.21 (#80)
    • Bump y18n from 4.0.0 to 4.0.3 (#79)
    Commits
    • 42d299f Merge pull request #130 from crazy-max/ci-workflow
    • 4858b0b Update ci workflow
    • 1d7d864 Merge pull request #128 from Flydiverny/aws-sdk-v3
    • 5885569 refactor: use v3 sdk
    • d9927c4 Merge pull request #123 from crazy-max/ecr-input
    • b9a4d91 ecr input to specify whether the given registry is ECR
    • b20b9f5 Merge pull request #126 from crazy-max/aws-sdk
    • cb21399 ci: test against windows runner
    • faae4d6 ecr: switch implementation to use the AWS SDK
    • 4d84a3c Merge pull request #127 from crazy-max/carry-124
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump docker/login-action from 1.12.0 to 1.13.0

    Bump docker/login-action from 1.12.0 to 1.13.0

    Bumps docker/login-action from 1.12.0 to 1.13.0.

    Release notes

    Sourced from docker/login-action's releases.

    v1.13.0

    • Handle proxy settings for aws-sdk (#152)
    • Workload identity based authentication docs for GCR and GAR (#112)
    • Test login against ACR (#49)
    • Bump @​aws-sdk/client-ecr from 3.44.0 to 3.45.0 (#132)
    • Bump @​aws-sdk/client-ecr-public from 3.43.0 to 3.45.0 (#131)
    Commits
    • 6af3c11 Merge pull request #152 from crazy-max/aws-sdk-proxy
    • caca336 handle proxy settings for aws-sdk
    • 17f28ab Merge pull request #112 from dineshba/workload-identity-gcr-gar
    • a875dd0 Update readme with workload identity based authentication for GCR and GAR
    • 7948fff Merge pull request #49 from crazy-max/e2e-acr
    • 5fcefb9 Merge pull request #131 from docker/dependabot/npm_and_yarn/aws-sdk/client-ec...
    • 3bb2d08 Update generated content
    • 242fb9a Bump @​aws-sdk/client-ecr-public from 3.43.0 to 3.45.0
    • fa72313 Merge pull request #132 from docker/dependabot/npm_and_yarn/aws-sdk/client-ec...
    • 088f62a Update generated content
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump actions/github-script from 5 to 6

    Bump actions/github-script from 5 to 6

    Bumps actions/github-script from 5 to 6.

    Release notes

    Sourced from actions/github-script's releases.

    v6.0.0

    What's Changed

    Breaking Changes

    With the update to Node 16 in #235, all scripts will now be run with Node 16 rather than Node 12.

    New Contributors

    Full Changelog: https://github.com/actions/github-script/compare/v5...v6.0.0

    v5.1.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/github-script/compare/v5.0.0...v5.1.0

    Commits
    • 9ac0880 Merge pull request #240 from actions/joshmgross/document-esm
    • 53cdbb4 Merge pull request #239 from actions/joshmgross/v6
    • 6b8d8aa Merge pull request #238 from actions/joshmgross/update-actions-core
    • 6689be4 Merge pull request #237 from actions/joshmgross/audit-fix
    • 5541733 Add an example using ESM import
    • cd8eebf Release version 6.0.0
    • 72fadf4 Update @actions/core to 1.6.0
    • d526c04 Update node-fetch license
    • 2c946f1 Run npm audit fix
    • 41e1ab4 Merge pull request #235 from thboop/patch-1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump docker/build-push-action from 2.7.0 to 2.9.0

    Bump docker/build-push-action from 2.7.0 to 2.9.0

    Bumps docker/build-push-action from 2.7.0 to 2.9.0.

    Release notes

    Sourced from docker/build-push-action's releases.

    v2.9.0

    • add-hosts input (#553 #555)
    • Fix git context subdir example and improve README (#552)
    • Add e2e tests for ACR (#548)
    • Add description on github-token option to README (#544)
    • Bump node-fetch from 2.6.1 to 2.6.7 (#549)

    v2.8.0

    • Allow specifying subdirectory with default git context (#531)
    • Add cgroup-parent, shm-size, ulimit inputs (#501)
    • Don't set outputs if empty or nil (#470)
    • docs: example to sanitize tags with metadata-action (#476)
    • docs: wrong syntax to sanitize repo slug (#475)
    • docs: test before pushing your image (#455)
    • readme: remove v1 section (#500)
    • ci: virtual env file system info (#510)
    • dev: update workflow (#499)
    • Bump @​actions/core from 1.5.0 to 1.6.0 (#160)
    • Bump ansi-regex from 5.0.0 to 5.0.1 (#469)
    • Bump tmpl from 1.0.4 to 1.0.5 (#465)
    • Bump csv-parse from 4.16.0 to 4.16.3 (#451 #459)
    Commits
    • 7f9d37f Merge pull request #555 from crazy-max/fix-add-host
    • d745845 Fix add-hosts context
    • 1ca185b Merge pull request #553 from crazy-max/add-host
    • eebf87a add-host input
    • d8b0ca6 Merge pull request #552 from crazy-max/readme
    • da76737 Fix git context subdir example and improve README
    • 8c76bb7 Merge pull request #549 from docker/dependabot/npm_and_yarn/node-fetch-2.6.7
    • b598b2a Update generated content
    • eb2857f Bump node-fetch from 2.6.1 to 2.6.7
    • f4cf574 Merge pull request #548 from crazy-max/e2e-acr
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Reproduction of Attack Effectiveness of Membership Inference Attacks

    Reproduction of Attack Effectiveness of Membership Inference Attacks

    Thanks for sharing the source code of your excellent work!

    I tried to reproduce the experimental results of label-only membership inference attacks against various architectures in your paper. Here I followed the parameter settings in your paper (see Appendix B for more details) and the parameter settings in membership.py were modified as follows:

    max_iter = 50
    max_eval = 2500
    sample_size = 1000
    init_size = 100
    init_eval = 100
    

    And also, I used your pretrained models from Google Drive to conduct the experiments on the CIFAR10 dataset. The experimental results on the CIFAR10 dataset are shown below.

    |Architecture|AUC| |:-:|:-:| |BiT|0.5392| |DenseNet|0.5141| |DLA|0.5060| |ResNet|0.5049| |ResNext|0.5043| |VGG|0.6070| |WideResnet|0.5352| |AmoebaNet|0.5029| |DARTS|0.5220| |DrNAS|0.5192| |ENAS|0.5069| |NASNet|0.5285| |PC-DARTS|0.5087| |PDARTS|0.5271| |SGAS|0.5038| |SNAS|0.5081| |Random|0.5023|

    However, the experimental results show a phenomenon contrary to what you present in your paper, i.e., the manual architectures seem to be more vulnerable to membership inference attacks than the NAS architectures.

    Is there anything wrong with my parameter settings (I only modified the default parameter settings of membership.py in my experiments)? Or, do I need anything more to reproduce the experimental results of your paper?

    Thanks in advance!

    opened by MiracleHH 0
Owner
Ren Pang
Ren Pang, PhD at Penn State IST. Working on deep learning security about adversarial and backdoor attacks/defenses.
Ren Pang
DaReCzech is a dataset for text relevance ranking in Czech

Dataset DaReCzech is a dataset for text relevance ranking in Czech. The dataset consists of more than 1.6M annotated query-documents pairs,

Seznam.cz a.s. 8 Jul 26, 2022
Vpw analyzer - A visual J1850 VPW analyzer written in Python

VPW Analyzer A visual J1850 VPW analyzer written in Python Requires Tkinter, Pan

7 May 01, 2022
This repo implements several applications of the proposed generalized Bures-Wasserstein (GBW) geometry on symmetric positive definite matrices.

GBW This repo implements several applications of the proposed generalized Bures-Wasserstein (GBW) geometry on symmetric positive definite matrices. Ap

Andi Han 0 Oct 22, 2021
Python scripts form performing stereo depth estimation using the CoEx model in ONNX.

ONNX-CoEx-Stereo-Depth-estimation Python scripts form performing stereo depth estimation using the CoEx model in ONNX. Stereo depth estimation on the

Ibai Gorordo 8 Dec 29, 2022
A chemical analysis of lipophilicities & molecule drawings including ML

A chemical analysis of lipophilicity & molecule drawings including a bit of ML analysis. This is a simple project that includes two Jupyter files (one

Aurimas A. Nausėdas 7 Nov 22, 2022
The PyTorch re-implement of a 3D CNN Tracker to extract coronary artery centerlines with state-of-the-art (SOTA) performance. (paper: 'Coronary artery centerline extraction in cardiac CT angiography using a CNN-based orientation classifier')

The PyTorch re-implement of a 3D CNN Tracker to extract coronary artery centerlines with state-of-the-art (SOTA) performance. (paper: 'Coronary artery centerline extraction in cardiac CT angiography

James 135 Dec 23, 2022
The description of FMFCC-A (audio track of FMFCC) dataset and Challenge resluts.

FMFCC-A This project is the description of FMFCC-A (audio track of FMFCC) dataset and Challenge resluts. The FMFCC-A dataset is shared through BaiduCl

18 Dec 24, 2022
We utilize deep reinforcement learning to obtain favorable trajectories for visual-inertial system calibration.

Unified Data Collection for Visual-Inertial Calibration via Deep Reinforcement Learning Update: The lastest code will be updated in this branch. Pleas

ETHZ ASL 27 Dec 29, 2022
Mail classification with tensorflow and MS Exchange Server (ham or spam).

Mail classification with tensorflow and MS Exchange Server (ham or spam).

Metin Karatas 1 Sep 11, 2021
Lua-parser-lark - An out-of-box Lua parser written in Lark

An out-of-box Lua parser written in Lark Such parser handles a relaxed version o

Taine Zhao 2 Jul 19, 2022
Radar-to-Lidar: Heterogeneous Place Recognition via Joint Learning

radar-to-lidar-place-recognition This page is the coder of a pre-print, implemented by PyTorch. If you have some questions on this project, please fee

Huan Yin 37 Oct 09, 2022
Process text, including tokenizing and representing sentences as vectors and Applying some concepts like RNN, LSTM and GRU to create a classifier can detect the language in which a sentence is written from among 17 languages.

Language Identifier What is this ? The goal of this project is to create a model that is able to predict a given sentence language through text proces

Hossam Asaad 9 Dec 15, 2022
An example of Scatterbrain implementation (combining local attention and Performer)

An example of Scatterbrain implementation (combining local attention and Performer)

HazyResearch 97 Jan 02, 2023
FLSim a flexible, standalone library written in PyTorch that simulates FL settings with a minimal, easy-to-use API

Federated Learning Simulator (FLSim) is a flexible, standalone core library that simulates FL settings with a minimal, easy-to-use API. FLSim is domain-agnostic and accommodates many use cases such a

Meta Research 162 Jan 02, 2023
Official PyTorch code for WACV 2022 paper "CFLOW-AD: Real-Time Unsupervised Anomaly Detection with Localization via Conditional Normalizing Flows"

CFLOW-AD: Real-Time Unsupervised Anomaly Detection with Localization via Conditional Normalizing Flows WACV 2022 preprint:https://arxiv.org/abs/2107.1

Denis 156 Dec 28, 2022
Memory-Augmented Model Predictive Control

Memory-Augmented Model Predictive Control This repository hosts the source code for the journal article "Composing MPC with LQR and Neural Networks fo

Fangyu Wu 1 Jun 19, 2022
Colour detection is necessary to recognize objects, it is also used as a tool in various image editing and drawing apps.

Colour Detection On Image Colour detection is the process of detecting the name of any color. Simple isn’t it? Well, for humans this is an extremely e

Astitva Veer Garg 1 Jan 13, 2022
A Partition Filter Network for Joint Entity and Relation Extraction EMNLP 2021

EMNLP 2021 - A Partition Filter Network for Joint Entity and Relation Extraction

zhy 127 Jan 04, 2023
Code to produce syntactic representations that can be used to study syntax processing in the human brain

Can fMRI reveal the representation of syntactic structure in the brain? The code base for our paper on understanding syntactic representations in the

Aniketh Janardhan Reddy 4 Dec 18, 2022
The first machine learning framework that encourages learning ML concepts instead of memorizing class functions.

SeaLion is designed to teach today's aspiring ml-engineers the popular machine learning concepts of today in a way that gives both intuition and ways of application. We do this through concise algori

Anish 324 Dec 27, 2022