Coder Social home page Coder Social logo

rotation-invariant-random-features's Introduction

rotation-invariant-random-features

Rotation-Invariant Random Features Provide a Strong Baseline for Machine Learning on 3D Point Clouds

Published in Transactions on Machine Learning Research

Reviewed on OpenReview https://openreview.net/forum?id=nYzhlFyjjd

Abstract

Rotational invariance is a popular inductive bias used by many fields in machine learning, such as computer vision and machine learning for quantum chemistry. Rotation-invariant machine learning methods set the state of the art for many tasks, including molecular property prediction and 3D shape classification. These methods generally either rely on task-specific rotation-invariant features, or they use general-purpose deep neural networks which are complicated to design and train. However, it is unclear whether the success of these methods is primarily due to the rotation invariance or the deep neural networks. To address this question, we suggest a simple and general-purpose method for learning rotation-invariant functions of three-dimensional point cloud data using a random features approach. Specifically, we extend the random features method of Rahimi and Recht, 2007 by deriving a version that is invariant to three-dimensional rotations and showing that it is fast to evaluate on point cloud data. We show through experiments that our method matches or outperforms the performance of general-purpose rotation-invariant neural networks on standard molecular property prediction benchmark datasets QM7 and QM9. We also show that our method is general-purpose and provides a rotation-invariant baseline on the ModelNet40 shape classification task. Finally, we show that our method has an order of magnitude smaller prediction latency than competing kernel methods.

An image of a random feature matrix. Molecular point clouds line the rows to the left of the random feature matrix and random sums of spherical harmonic functions line the columns above. To the right of the feature matrix is a yellow column vector labeled Beta, an equals sign, and a blue column vector labeled Y.

How to Use This Repository

Sample commands are in the sample_scripts/ folder. Note: these scripts do not include tuned hyperparameters for the methods.

Install Dependencies

The python dependencies are listed in environment.yml. They can be installed with the following command:

conda env create --name RIRF --file environment.yml

Testing

Testing the functions implemented in src/ can be done by running

python -m pytest test/

Citation

@article{
melia2023rotationinvariant,
title={Rotation-Invariant Random Features Provide a Strong Baseline for Machine Learning on 3D Point Clouds},
author={Owen Melia and Eric M Jonas and Rebecca Willett},
journal={Transactions on Machine Learning Research},
issn={2835-8856},
year={2023},
url={https://openreview.net/forum?id=nYzhlFyjjd},
note={}
}

rotation-invariant-random-features's People

Contributors

meliao avatar

Stargazers

Siddhant Poudyal avatar Mengxin (Maxine) Yu avatar  avatar  avatar Rebecca Willett avatar

Watchers

Rebecca Willett avatar  avatar

Forkers

ndnng rdk

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.