Dũng Cảm Lắng
6 min readJul 24, 2017

--

The answer is a resounding yes, but you really need to be disciplined to do that. Every time I get such a question I always ask for specifics, AI is extremely broad. The modern AI field is mainly comprised of:

Machine learning (ML): which is about machines that learn and improve from examples. In ML there are supervised and unspervised learning methods such as:Artificial neural networks (ANN): Such as deep neural networks (DNN). ANNs are currently the go to algorithms for most AI related problems, we have:Convolutional neural networks (CNN).Recurrent neural networks (RNN) such as long-short-term-memory (LSTM) or gated recurrent unit (GRU) networks.Memory networks.Generative adversarial networks (GAN).Residual neural networks (ResNet).Autoencoders: Used for noise reduction, compression and many more. We also have generative adversarial autoencoders.

vector machines (SVM). Based on hinge-loss minimization which results in maximum margin classifiers.Restricted Boltzmann machines (RBM).

algorithms like k-means and agglomerative hierarchical clustering methods.

nearest neighbor lazy learning algorithms.Natural language processing (NLP): ML algorithms especially the RNNs such as LSTM or GRU networks are commonly used in NLP. But CNNs can also be applied in NLP by clever use of convolutions in time. NLP comprises of:Natural language understanding (NLU): Which is about understanding spoken language, this is different from a mapping based approach known as speech recognition. NLU is so extremely challenging that it is termed AI-complete or AI-hard.Natural language generation (NLG): Not as hard as NLU but is also challenging. This is mostly about generating language as the name suggests.Computer vision (CV). Which is also considered AI-complete, can make use of a variety of algorithms. In CV we normally have:3D computer vision: Algorithms such as structure from motion (SfM) and simultaneous localization and mapping (SLAM) and 3D camera pose estimation as applied in augmented reality (AR) applications are based on 3D computer vision techniques that involve tracking salient regions and fitting motion models such as homography or affine transformations. Automatic panorama stitching from photos also falls in 3D computer vision because in order to align images, camera 3D poses are normally recovered using the bundle adjustment algorithm.Image recognition: Here we are more interested in recognition of the dominant content in a given scene without the need to localize that content. This used to be done by a bag-of-words approach whereby vector quantization techniques (such as k-means clustering) find the dictionary of features and then the tf-idf (text frequency-inverse document frequency) approach is used to find matching images at large scale. This is the technology used in Google Goggles or image search in search engines like Google image search. Pretty sure there are more advanced techniques being deployed on a continuous basis. CNNs have taken over image recognition by storm since the breakthrough back in 2012 by Geoffrey Hinton and his group on ImageNet challenge.Object detection: Image recognition + localization = object detection. This is an extremely challenging sub-field of CV that is far more complex than image recognition. Localization of recognized objects is not trivial, it is extremely hard. Again CNNs have also stormed this area with algorithms such as the Faster region CNN (Faster R-CNN).Image-to-Image translation: Another recent interesting field that maps (translates) one image to another, this makes use of GANs.

There are many more AI techniques such as evolution strategies (ES) which are alternative gradient free optimization methods for training ML models. The current field of ML has taken off with the advancement of deep learning algorithms which makes ML a very hot area in AI today. If you have to chose a field to specialize in, ML is an excellent choice. Thus the discussion that follows will assume that you intend to specialize in ML. CV and NLP fields need ML very badly.

Now the goal of AI is to solve intelligence.

Solve intelligence. Use it to make the world a better place.

-DeepMind.

The current trend is to cast learning as an optimization problem which is not quite ideal because that is limited mostly to differentiable soft objectives, softmax, soft attention and so on. That by itself limits the progress of AI towards its ultimate goal. Thus if you are familiar with optimization theory, ML can be very easy for you to learn. This is because ML is based on gradient decent optimization, algorithms like the stochastic gradient descent (SGD) may sound complicated but the algorithm itself is the simplified version of normal gradient descent from numerical optimization.

Thus ML currently is not very intelligent at all, but current most ML algorithms are simply based on mapping.

F:X→YF:X→Y

Mapping the input XX to a new convenient space YY. There is no proper reasoning there, such as learning facts from the world and so on. It is just that, optimization via mostly supervised learning approaches which provide input-output training pairs. We do have interesting algorithms like GANs and reinforcement learning (RL) for unsupervised learning models though.

With that said, to learn on your own, you really need to be determined because there is a lot of stuff to read, understand and implement as you can see above. Thus the methods I use to learn are based on.

Starting extremely challenging projects.Derive important maths concepts in ML or AI.Implement most systems from scratch.

To start I made sure that I was comfortable with the prerequisites of ML:

Maths:Linear algebra: Very important because matrix operations such as matrix multiplications are commonly encountered in ML. Multi-dimensional vectors are normally called tensors in ML, tensors are what gets passed from layer to layer in ML algorithms. That is where TensorFlow (an ML library by Google Brain) name comes from, the flow of tensors in a computational graph. Thus understanding linear algebra is very important. Also find time to appreciate the very powerful singular value decomposition (SVD) algorithm.Probability and statistics: Probabilistic inference is vital for decision making in many systems and decisions need to be made in most ML systems. We have logistic and softmax functions for computing probabilities so that it is easier to decide whether a particular class is present or not.Calculus: Learn this maths field because derivatives are important for optimization of differentiable objective functions, which is the bread and butter of current ML algorithms today. Thus make sure to be extremely familiar with multivariable differential calculus.Numerical optimization: Yes this is the basis of current ML itself, ML is based on optimization of some objective called the loss or cost function that measures how well the ML system performs. The idea is to make small steps down the steepest slope on the error surface (defined by the objective) in order to minimize the loss. Understanding the numerical optimization field means understanding most of ML algorithms.Programming:Python: With many ML libraries available for Python and with its easy to learn syntax, Python is the go to language of choice for beginners. It is also extremely powerful for experts as well.Java: You can also use Java in ML implementations.C/C++: Very efficient for developing novel approaches from ground-up. If you code from ground-up you will learn a great deal about AI and ML field. But don't always code from ground-up, only do so when necessary.

I also personally read a lot and I mean a lot, every single day either on Quora or else where. I also watch a lot of presentation, lecture or tutorial videos on YouTube from Google Tech Talk, Google research, MIT, Facebook, Microsoft and many more. I also read a lot of journals, yes I understand journals from top notch sources such as DeepMind, FAIR, BAIR, Baidu, Microsoft research, OpenAI, Google and many more.

So you ask

Can you teach yourself artificial intelligence?

Of course, but it is a lot of hard work and very few can manage. But if I managed so can you. You need to make sure you have the passion and tenacity to read lots of materials online concerning AI. There are several high quality sources out there, a simple Google search can bring up such sources to learn from.

Today there is enough information online to learn anything at, and beyond, a PhD level, trust me it is doable.

Hope this helps.

--

--