Parallel resource allocation for solving Algorithm Selection problems
For many practical problems, there is more than one algorithm or approach to solve them.
Such algorithms often have complementary performance – where one fails, another performs well, and vice versa.
Per-instance algorithm selection leverages this by employing portfolios of complementary algorithms to solve sets of difficult problems, choosing the most appropriate algorithm for each problem instance.
However, this requires complex models to effect this selection and introduces overhead to compute the data needed for those models.
On the other hand, even basic hardware is more than capable of running several algorithms in parallel.
We investigate the tradeoff between selecting a single algorithm and running multiple in parallel and incurring a slowdown because of contention for shared resources.
Also, we investigate dynamically estimating and allocating parallel computational resources for solving Algorithm Selection problems
August 2019 - Present
Having an automated system to extract data from images would be useful if it
can give us accurate and detailed information on objects that appeared in the
images. In wildlife biology, biologists tend to protect and monitor animals, and
for this goal, they use auto-capturing cameras in the animals’ habitats. The
cameras are sensitive to movement, and they take pictures whenever they sense
a change in the frame. There can be many images taken not because of animal
movement but for other movements like wind, and they need to be identified.
Using human labor would be very expensive and time-consuming, and using a
system that can give us information about the behavior of animals inexpensively and accurately would be helpful to protect and monitor animals. For this
purpose, it is advantageous to train a machine learning tool to automatically extract the data. Deep convolutional neural networks are versatile, powerful, and
scalable, making them ideal to tackle large and highly complex Machine Learning tasks, such as classifying billions of images (e.g., Google Images), powering
speech recognition services (e.g., Apple’s Siri), or recommending the best videos
to watch to hundreds of millions of users every day (e.g., YouTube).
For using a deep neural network in extracting information from camera-trap
images, we used pre-trained deep neural networks (DNN) and do transfer-learning of our image data.
We used pretrained models and this is because deep learning
works best with a huge quantity of (e.g., millions) labeled images that we don’t
have yet. Our camera-trap images are captured in a National Park in Wyoming state.
May 2020 - Present