General Talk: Neural Networks from zero (using only numpy) to practical projects (using scikit-learn and TensorFlow)
by Sameer (@0x007) on Monday, 28 August 2017
- Technical level
Artificial Neural Networks (ANN henceforth) are being used increasingly ever in recent years, and some consider it as a master key for almost all machine learning problems. There are many toolkits and libraries (tools henceforth) available, but I myself have never been comfortable with such tools until I understand (at least partially) what’s going on under the hood. I’m in no way saying that these tools are poorly documented or have a difficult learning curve, it’s just the way I tend to learn. Assuming that I am not alone in this regard, I would like to help others in their quest to understand and master ANN by giving my bit.
Talk level is between beginner to somewhat intermediate.
The talk will start with explaining (only a little about) ideas behind ANNs very very briefly, after which some basic & trivial examples will follow.
The talk will mainly focus on two parts:
Firstly, to show how to implement an ANN which practically ‘does something’, using only python and numpy (for functionalities like np.dot, np.reshape which are not directly part of ANN).
Second part will consist of peeking (a little) inside tools like scikit-learn & TensorFlow and see how real world (or at least practical, atm) applications can be/are developed with them.
Numerous interesting and notable projects using these (or any other like caffe) will be mentioned in the end to show capabilities of ANNs.
Q & A if any!
Bonus (if time & interests permit):
Using PyCUDA for ANN computations
python understanding and programming experience.
Beneficial but not strictly required knowledge:
Machine learning approach towards problem solving.
Another software developer doing a regular job in IT. I’ve been working with Google and have been using python as a major pillar in my tech-stack for more than 7 years.