One of the earliest goals for computers was the automatic translation of text from one language to another. Automatic or machine translation is perhaps one of the most challenging artificial intelligence tasks given the fluidity of human language. Classically, rule-based systems were used for this task, which were replaced in the 1990s with statistical methods. […]
Caption Generation with the Inject and Merge Encoder-Decoder Models
Caption generation is a challenging artificial intelligence problem that draws on both computer vision and natural language processing. The encoder-decoder recurrent neural network architecture has been shown to be effective at this problem. The implementation of this architecture can be distilled into inject and merge based models, and both make different assumptions about the role […]
A Gentle Introduction to Applied Machine Learning as a Search Problem
Applied machine learning is challenging because the designing of a perfect learning system for a given problem is intractable. There is no best training data or best algorithm for your problem, only the best that you can discover. The application of machine learning is best thought of as search problem for the best mapping of […]
Why Applied Machine Learning Is Hard
How to Handle the Intractability of Applied Machine Learning. Applied machine learning is challenging. You must make many decisions where there is no known “right answer” for your specific problem, such as: What framing of the problem to use? What input and output data to use? What learning algorithm to use? What algorithm configuration to […]
A Gentle Introduction to Transfer Learning for Deep Learning
Transfer learning is a machine learning method where a model developed for a task is reused as the starting point for a model on a second task. It is a popular approach in deep learning where pre-trained models are used as the starting point on computer vision and natural language processing tasks given the vast […]
A Gentle Introduction to Exploding Gradients in Neural Networks
Exploding gradients are a problem where large error gradients accumulate and result in very large updates to neural network model weights during training. This has the effect of your model being unstable and unable to learn from your training data. In this post, you will discover the problem of exploding gradients with deep artificial neural […]
A Gentle Introduction to Concept Drift in Machine Learning
Data can change over time. This can result in poor and degrading predictive performance in predictive models that assume a static relationship between input and output variables. This problem of the changing underlying relationships in the data is called concept drift in the field of machine learning. In this post, you will discover the problem […]
How to Visualize a Deep Learning Neural Network Model in Keras
The Keras Python deep learning library provides tools to visualize and better understand your neural network models. In this tutorial, you will discover exactly how to summarize and visualize your deep learning models in Keras. After completing this tutorial, you will know: How to create a textual summary of your deep learning model. How to […]
Difference Between Classification and Regression in Machine Learning
There is an important difference between classification and regression problems. Fundamentally, classification is about predicting a label and regression is about predicting a quantity. I often see questions such as: How do I calculate accuracy for my regression problem? Questions like this are a symptom of not truly understanding the difference between classification and regression […]
Encoder-Decoder Models for Text Summarization in Keras
Text summarization is a problem in natural language processing of creating a short, accurate, and fluent summary of a source document. The Encoder-Decoder recurrent neural network architecture developed for machine translation has proven effective when applied to the problem of text summarization. It can be difficult to apply this architecture in the Keras deep learning […]