Awesome
Deep Learning for Ecology
Welcome to a brief overview of the applications of deep learning to ecology and remote sensing!
Quick Resources
What is Machine Learning? [video - 2 min]
What are Neural Networks? [video - 20 min]
Applications for Deep Learning in Ecology [paper ~ 20 min] - very short, make sure you actually read it!
A Computer Vision for Ecology [paper ~15 min] - ideally read but at least skim, look at figures and read case studies
Running the Code in the Cloud (easier)
We will be using a cloud based Jupyter Notebook environment, Google's Colaboratory to run code. You must then sign in to Colab with a Google account and then click File > Open Notebook > GitHub and then copy in the url 'https://github.com/patrickcgray/deep_learning_ecology' and all the notebooks in this Github repo will appear. If you don't want to run the code all the notebooks can be viewed on Github.
Running the Code Locally (more advanced)
In order to run locally you need to have Python 3+ and TensorFlow installed. We will be doing our development in IPython notebooks, so you'll need to have Jupyter installed as well. If you don't already have the aforementioned software installed and want to work locally, please go through the notebook labeled TensorFlow_Installation.ipynb. Installing these tools should take about 5-10 minutes.
More Resources for the Repo
For a better understanding of these topics I recommend some background knowledge on scientific computing in Python. If you are unfamiliar with IPython notebooks or Python coding environments, a brief introduction can be found in Coding_Environments.ipynb.
If you haven't used Python before, or want a refresher, I recommend Python Like You Mean It, by Ryan Soklaski. This free e-book consists of five short modules introducing Python for scientific computing and data analysis. Modules 1 and 2, on installing Python and Python essentials, will be especially useful. Module 3, which concerns the manipulation of matrices and vectors in Python, is very relevant as well.
Finally, Git is an incredibly useful tool and the most seamless way to keep your files up-to-date when working on a team. You do this by cloning/forking repositories and pulling and pushing changes. If you need a primer on Git, there's one available in Git_Basics.ipynb, but learning how to use Git isn't required; I'll distribute the materials in other ways as well.
Getting Serious about Deep Learning for Ecology
If you're interested in pursuing these topics more rigorously I highly recommend:
- Google's ML Crash Course
- Francois Chollet's book Deep Learning with Python
- pursuing some high quality online courses as well as any available university training.
- The Deep Learning textbook by Yoshua Bengio, Ian J. Goodfellow, and Aaron Courville is somewhat of the bible of deep learning and pretty up to date.
- A roadmap of papers to read to get up to speed can be found here. This is also helpful for just knowing some more about the landscape.
- Find a lot more DL for ecology papers on my Awesome Deep Ecology repo!