Source: Deep Learning on Medium
Following Andrew Trask’s advice, this is me, starting a new blog related completely to Deep Learning. This blog is for both beginners who don’t know anything about Deep Learning and for those who want to explore Deep Learning in depth.
So, what is Deep Learning?
It is a branch of Machine Learning where in we use Neural Networks to understand our data and make future predictions or make clusters from it.
But, what is a Neural Network?
A neural network is a network of nodes using which, we try to imitate how the human brain works and impart the same knowledge to computers. So we are basically making computers think like humans.
Basic Terminologies in Neural Networks and Deep Learning
- Layers: A set of nodes which are helpful to either input the data, or process the data, or output the data.
- Input Layer: A set of nodes through which data is fed into the neural network. There can only be one input layer.
- Hidden Layer: A set of nodes which processes the data received through input layer using some mathematical functions and formulae and simplifies it. It helps in identifying the hidden features present in our data.
- Output Layer: A set of nodes or a single node to get the output from a neural network.
- Activation Functions: These are some of the mathematical functions used by the hidden layer to process or simplify our data.
- Parameters: Usually neural networks try to find the relation between data by trying to find the optimal value of certain variables. These variables are called as parameters. These change throughout the training of the neural network.
- Hyper Parameters: These are constant value used in finding out the optimal value of Parameters.
- Perceptron: A neural network with just a single hidden layer. Note that a multi layer perceptron is called a Neural Network.
But, where are neural networks used?
Neural Networks are being used almost everywhere in the world right now. For Ex,
- Self Driving Cars
- Systems which recommend products [Amazon], movies and shows[Netflix], music[Spotify] based on the user’s preferences.
- Generation of Art
- Predictive Analysis
- Customer Segmentation
But, I’m a beginner in this field. I don’t know, where to learn Deep Learning from?
- The best way to start learning Deep Learning is from the specialization by Andrew NG on Coursera called the Deep Learning Specialization.
- For more practical knowledge, there are many online courses on Udemy.
- Start off with the theory and try to implement the network architectures using some python libraries like Numpy and Pandas.
- Learn a Deep Learning framework like Tensorflow, PyTorch, Keras.
- If you like studying stuff through books you can use the Deep Learning book by Ian Goodfellow, Yoshua Bengio and Aaron C. Courville.
- Start applying the concepts learnt through various resources on your personal projects. Visit sites like Kaggle.com, r/datasets [A subreddit on Reddit related to data] for datasets and ideas.
- Implement Research Papers on your own. That will give you lots of confidence.
- Give back to the community. Write articles, make video tutorials, upload datasets on sites. Help the community grow!
That’s it! I’m kind of new to writing articles. So if you find any errors, please don’t hesitate to approach me. Also, I’m most welcome for any suggestions. The next article will be on Logistic Regression and its Tensorflow Implementation. Stay tuned.