Teaching a Xenophobic AI Health Inspector, and the Ethics of Machine Learning

Based off of health inspection scores from Austin, TX, and inspired by this medium article about Water Tower inspections in New York.


Life of a model after deployment

Application monitoring is a key part of running software in production. Without it, the only way of finding about an issue is through shear luck or because a client has reported it. Both of which are less than ideal to say the least !
You wouldn’t deploy an application without monitoring, so why do it for Machine Learning models?
In order to try and keep post manageable length, we will focus on just a few key topics:
• The data required for monitoring
• The key metrics to track and alert on
• Similarity metrics between training and inference distributions


Neural Blind Deconvolution Using Deep Priors

Blind deconvolution is a classical yet challenging lowlevel vision problem with many real-world applications. Traditional maximum a posterior (MAP) based methods rely heavily on fixed and handcrafted priors that certainly are insufficient in characterizing clean images and blur kernels, and usually adopt specially designed alternating minimization to avoid trivial solution. In contrast, existing deep motion deblurring networks learn from massive training images the mapping to clean image or blur kernel, but are limited in handling various complex and large size blur kernels. To connect MAP and deep models, we in this paper present two generative networks for respectively modeling the deep priors of clean image and blur kernel, and propose an unconstrained neural optimization solution to blind deconvolution. In particular, we adopt an asymmetric Autoencoder with skip connections for generating latent clean image, and a fully-connected network (FCN) for generating blur kernel. Moreover, the SoftMax nonlinearity is applied to the output layer of FCN to meet the non-negative and equality constraints. The process of neural optimization can be explained as a kind of ‘zeroshot’ self-supervised learning of the generative networks, and thus our proposed method is dubbed SelfDeblur. Experimental results show that our SelfDeblur can achieve notable quantitative gains as well as more visually plausible deblurring results in comparison to state-of-the-art blind deconvolution methods on benchmark datasets and real-world blurry images. The source code is available at https://…/SelfDeblur.


9 Tips For Training Lightning-Fast Neural Networks In Pytorch

This guide is structured from simplest to most PITA modifications you can make to get the most out of your network. I’ll show example Pytorch code and the related flags you can use in the Pytorch-Lightning Trainer in case you don’t feel like coding these yourself! Who is this guide for? Anyone working on non-trivial deep learning models in Pytorch such as industrial researchers, Ph.D. students, academics, etc… The models we’re talking about here might be taking you multiple days to train or even weeks or months.
• Using DataLoaders.
• Number of workers in DataLoader.
• Batch size.
• Accumulated Gradients.
• Retained graphs.
• Moving to a single GPU.
• 16-bit mixed-precision training.
• Moving to multiple GPUs (model duplication).
• Moving to multiple GPU-nodes (8+GPUs).
• My tips for thinking through model speed-ups


21 of the Most Popular Live Chat Software Solutions You Can Use

If you still haven’t leveraged live chat software, it’s time to jump in. After all, you want to get an edge over your competitors. To help you make an informed decision, I’ve compiled a list of the best live chat software that you should check out.
1. LiveChat
2. Olark
3. Intercom
4. Kayako
5. Acquire
6. LiveHelpNow
7. Tawk
8. OCC Live Help
9. Userlike
10. My LiveChat
11. WhosOn
12. Pure Chat
13. Comm100
14. JivoChat
15. Freshworks
16. REVE Chat
17. ZaZaChat
18. Zoho SalesIQ
19. LiveAgent
20. Happyfox
21. Netrox SC


Hosting Your Interactive Visualizations

Visualizations make data accessible to everyone. They turn mind-numbing excel spreadsheets into fun and easy to understand graphs. They summarize, highlight, and good visualizations also allow the user to explore the data themselves. The user can explore the data to answer their own questions and make their own discoveries.


Introduction to Image Segmentation with K-Means clustering

Image segmentation is an important step in image processing, and it seems everywhere if we want to analyze what’s inside the image. For example, if we seek to find if there is a chair or person inside an indoor image, we may need image segmentation to separate objects and analyze each object individually to check what it is. Image segmentation usually serves as the pre-processing before pattern recognition, feature extraction, and compression of the image. Image segmentation is the classification of an image into different groups. Many kinds of research have been done in the area of image segmentation using clustering. There are different methods and one of the most popular methods is K-Means clustering algorithm. So here in this article, we will explore a method to read an image and cluster different regions of the image.


Types of Data Sets in Data Science, Data Mining & Machine Learning

one of my previous posts, I talked about what Data is and what does Data Attributes mean. This will continue on that, if you haven’t read it, read it here in order to have a proper grasp of the topics and concepts I am going to talk about in the article. Please bear with me for the conceptual part, I know it can be a bit boring but if you have strong fundamentals, then nothing can stop you from being a great Data Scientist or Machine Learning Engineer. There are three general characteristics of Data Sets namely: Dimensionality, Sparsity, and Resolution. We shall discuss what do they exactly mean one at a time.


Transformer Fine-Tuning for Sentiment Analysis

This post shows how to fine-tune a powerful Transformer for Sentiment Analysis. Also, it serves as a preliminary to my follow-up post on how to productionalize research code using Docker.


The first step in AI might surprise you

It takes business savvy to properly think through what an Ml/AI system is supposed to do for you and why it’s worth building. Focus on this first, before getting anywhere near the nitty gritty, including figuring out whether or not the algorithm that’ll solve your problem is considered AI or ML (you deal with that much later). If you have no ML/AI training, tackling this first part before you’ve hired a team or bought sci-fi kit might sound daunting, but I’ve got your back… here’s a step-by-step guide just for you!


Using Machine Learning To Identify Smartphone Users By The Way They Walk

The modern smartphone comes equipped with a plethora of sensors that are used to assist in providing an immersive user experience, whether it be a gyroscope giving the ability to simulate a steering wheel in a racing game or the GPS sensor helping a navigational app. In addition to enriching UX, smartphone sensors can be used behaviour biometric tools to provide alternate means of authentication to traditional physiological biometrics, i.e. fingerprint and facial recognition. A biometric that can be revealed by leveraging a smart device’s accelerometer data is that of how a user walks, which is also known as gait.


How Data Will Empower AI Teacher of the Future

Traditional classrooms haven’t changed much in a century or two. Children come to the class where teachers lecture them and then, evaluate them on a rigid scale through tests and exams. The education today fails us at two main counts:
• It fails to recognize that each student is different and needs to be taught different things. No wonder, the education environment in schools and colleges is so stressful for the students today.
• It does not allow students to learn at their own pace. Our curriculum is set according to the average learner in class which places both overachievers and underachievers at a disadvantage.


Finding Similar Quora Questions with Word2Vec and Xgboost

Last week, we explored different techniques for de-duplication for identifying similar documents using BOW, TFIDF, and Xgboost. We found that the traditional methods such as TFIDF can achieve some impressive results. That’s one of the reasons that Google’s long been using TFIDF in indexing and information retrieval to figure out the importance of a given keyword to a given page. To continue our learning journey and grow our skills, today, we will explore how to solve the same matching and de-duplication problem using a different method, again, we will tackle the task of de-duplication as an extension of the classifier. Let’s get started!


Introducing the ‘Banana Test’ for Near-Perfect Text Classification Models

If your goal is maximizing accuracy for a new text classification model, you should consider using the Banana Test. There are thousands of instances in which businesses have collected free-form text in their systems that needs to be bucketed into two or more categories later on for the purpose of supporting automated processes or organizing data. Text classification models are capable of classifying such free-form text quickly and effectively… for the most part. Regardless of the reported validation/test accuracy, there are a number of gotchas that can cause even the most well-trained text classification model to fail miserably at making an accurate classification. In particular, text classification models tend to fail when faced with text they have never seen before or text that they have only partially seen before. The latter scenario often leads to a model choosing the wrong answer with a very high confidence interval. Knowing this, the confidence interval reported by a model is clearly not the end-all determining factor for a good prediction. If your goal is maximizing accuracy for a new text classification model, you should consider using the Banana Test. Despite the silly name, it’s a very real technique that you can use to improve the quality of your models.


Making an Autoencoder

Autoencoders are a class of Unsupervised Networks that consist of two major networks: Encoders and Decoders. An Unsupervised Network is a network that learns patterns from data without any training labels. The network finds its patterns in the data without being told what the patterns should be. In contrast, there are Supervised Networks wherein the network is trained to return specific outputs when given specific inputs. The Encoder generally uses a series of Dense and/or Convolutional layers to encode an image into a fixed length vector that represents the image a compact form, while the Decoder uses Dense and/or Convolutional layers to convert the latent representation vector back into that same image or another modified image. The image above shows an example of a simple autoencoder. In this autoencoder, you can see that the input of size X is compressed into a latent vector of size Z and then decompressed into the same image of size X. To generate an image, a random input vector is given to the Decoder network. The Decoder network will convert the input vector into a full image.


How Google are Democratising AI

Over the last few months I have been working with the Google Cloud Machine Learning (ML) Engine to deploy machine learning models into production. Google’s vision is to make machine learning and deep learning accessible to all from engineers to analysts to data scientists. Over the last few years they have released a variety of cloud based tools designed to lower the barriers of entry to using Artificial Intelligence (AI). My experience so far has been positive ML Engine does seem to abstract a lot of the complexity of deploying models away for example. In the following post I want to review the various tools that Google have or are releasing in an effort to democratise AI.


Understanding data

Everything our senses perceive is data, though its storage in our cranial wet stuff leaves something to be desired. Writing it down is a bit more reliable, especially when we write it down on a computer. When those notes are well-organized, we call them data… though I’ve seen some awfully messy electronic scribbles get the same name. I’m not sure why some people pronounce the word data like it has a capital D in it. Why do we pronounce data with a capital D? We need to learn to be irreverently pragmatic about data, so this is an article to help beginners see behind the curtain and to help practitioners explain the basics to newcomers who show symptoms of data-worship.
Advertisements