Blog

Nuremberg, Germany
  1. JavaLand Conference Real-Time Image Classification Demo

    The real-time image classification application is constructed as a minimal example of integrating a Deep Learning service into Spring Boot application. This post could be very well considered a sequel to my talk at the JavaLand conference on 14th March 2018. The goal of this post is to guide you through the code and enable you installing, modifying and running the real-time image classification application that was demonstrated in my JavaLand talk. Going through the code you can also train your own neural network and take a look at the powerful technique that is Transfer Learning.

    2018/03/14 by Nikolay Kostadinov

  2. NLP The Basics of Sentiment Analysis

    Natural language processing (NLP) is a field of computer science, artificial intelligence and computational linguistics concerned with the interactions between computers and human (natural) languages. In my first NLP post I will create a simple, yet effective sentiment analysis model that can classify a movie review on IMDB as being either positive or negative.

    2017/08/06 by Nikolay Kostadinov

  3. Dog breed image classification with Keras

    What if you have a very small dataset of only a few thousand images and a hard classification problem at hand? Training a network from scratch might not work that well, but how about transfer learning.

    2017/07/11 by Nikolay Kostadinov

  4. Cat vs Dog Real-time classification, Part 3 of Cat vs Dog Real-Time Classification Series

    This post is the second of a series of three. The goal is to embed a neural network into a real time web application for image classification. In this third part, I will go through a small, yet deployable application built with the Spring Framework. Furthermore, I will elaborate on how I used Apache Kafka to put it all together and embed the micro service introduced in part 2 in my client-server environment.

    2017/05/20 by Nikolay Kostadinov

  5. Kafka Micro Service, Part 2 of Cat vs Dog Real-Time Classification Series

    This post is the second of a series of three. The goal is to embed a neural network into a real time web application for image classification. In this second part, I will put the machine learning model build in part one into use, by making it available through Apache Kafka - an open sources real-time event bus, widely adopted by the Big Data industry.

    2017/05/19 by Nikolay Kostadinov

  6. Model Stack, Part 1 of Cat vs Dog Real-Time Classification Series

    This post is the first of a series of three. The goal is to embed a neural network into a real time web application for image classification. In this first part, I will go through the data and create the machine learning model.

    2017/05/18 by Nikolay Kostadinov

  7. Image classification with stacked InceptionV3

    Google, Microsoft, and other vendors have been training very complex, state of the art Convolutional Neural Networks on massive datasets. “Transfer learning” is a very powerful bundle of techniques for reusing these already fully-trained neural networks for classification of images that can be more or less different from the images that have been used in the process of training those networks. While I explored “fine-tuning” of a neural network in my previous post, in this post I will take a CNN pre-trained on ImageNet, treat it as a fixed feature extractor for the new dataset. The features can be then fed to another, second level classifier.

    2017/05/11 by Nikolay Kostadinov

  8. Image classification with pre-trained CNN InceptionV3

    Google, Microsoft, and other vendors have been training very complex, state of the art Convolutional Neural Networks on massive datasets. In this post, I will explore “Transfer learning” - a very powerful bundle of techniques for reusing these already fully-trained neural networks for classification of images that can be more or less different from the images that have been used in the process of training those networks.

    2017/05/04 by Nikolay Kostadinov

  9. Convolutional neural network for image classification from scratch

    Why are Convolutional Neural Networks (CNN) so incredibly good at image classification tasks? CNN architectures make the explicit assumption that the inputs are images, which allows us to encode certain properties into the architecture. These then make the forward function more efficient to implement and vastly reduce the amount of parameters in the network.

    2017/04/23 by Nikolay Kostadinov

  10. Cracking the world hardest sudoku

    Before powerful GPUs and multi-core processors made it possible for machines to learn from data, AI was about coding a deterministic algorithm. Thе old and well-explored principles of graph trees, constraint propagation and search still find many applications today.

    2017/02/27 by Nikolay Kostadinov

  11. Implementing a neural network from scratch

    If you want to truly understand something, you build it from scratch. This post is highly recommended to every software engineer already anticipating Skynet and perceiving AI as some kind of sorcery.

    2017/01/29 by Nikolay Kostadinov

  12. Solving CartPole-v0 with xgboost

    An artificial intelligence agent starting to learn by from its own mistakes until it is fit to handle a certain task like an expert? To many this does sound like a science like science fiction, but it is based on a simple principle called Reinforcement Learning.

    2016/11/29 by Nikolay Kostadinov