Machines are now faster and more accurate than humans at identifying information in images. Machines don’t get bored looking for flaws in widgets for hours at a time without a break. There’s been a lot of talk in the news about how Artificial Intelligence (AI) will replace jobs. The industrial revolution displaced thousands of people from their jobs at factories. People threw their shoes (in French, their sabots) into the machinery to break them. The saboteurs thought that this would prove a point, but it didn’t stop the progression of mechanical technology. However, living standards improved as machinery deployed and replaced laborers.
Today, AI receives a similar point of view with a distrust of not-fully-adopted or understood technology. AI will enable self-driving cars, displacing thousands of taxi and truck drivers. AI can cull the internet of child porn, identifying abuser IP addresses for a police investigation. However, like machinery that breaks down, AI will not be perfect. However, AI can also free us from tedious work. AI will always require human intervention because environmental change is constant. Today’s truck drivers will be outfitted with tools to tweak and tune AI for the autonomous trucking industry without the need for an engineering degree, as the engineers will create the tools for managing AI by applying heaps of abstraction layers to AI-modification tools.
AI is here
Already, simple, inexpensive tools like the Intel Neural Compute Stick 2 (NCS2) are reasonably priced so that everyday people can create AI tools of their own in end-user devices. For example, Peter Ma was able to use the Intel stick to detect skin cancer. An extensive data set showing various images of skin cancer was used to train the system, training the model with the Intel AI DevCloud.[i] The NCS2 is available for less than $100. A complementary tool kit, OpenVINO, is free.
For AI, there’s a large number of algorithms to choose from that seems to grow every day. The good news is that AI is becoming more accessible for everyday developers in that very simple methods are turning out to be quite effective in the real world, while hardware cost is steadily declining.
Where to start?
First, we need to learn the basics of AI and machine learning. AI isn’t just about image recognition, but image recognition is an excellent place to start. There’s an excess of sites to start learning about AI. Intel’s AI Academy includes a “large collection of courses, special resources for students and professors, and a library of research papers, webinars, and tutorials.”[ii] At present, the larger players in building AI platforms with robust developer resources and ecosystems are Intel, Google, IBM, NVIDIA, and Microsoft. You can start with Intel’s AI Academy, Learn with Google AI, IBM’s Learning Lab 101, NVIDIA’s Deep Learning Institute, and Microsoft’s AI School. Or we can start agnostically with one or two Massive Open Online Courses (MOOCs) that cover AI from different angles, platforms, and tools. Not all MOOCs are free, but at Coursera.org we can join a class for free by creating an account and then enrolling in a class (Figure 2).
Next, click on the Audit wording on the next page (See Figure 3) or opt out of paying for a course by forgoing a certificate of completion.
Next: Explore Frameworks
You need a framework and a laptop (perhaps running Ubuntu) on which to perform framework optimization training to train a model. If you’ve selected a MOOC for basic training, it’s very likely that it teaches using examples with a specific framework. One of the most popular frameworks for training is Tensorflow, an open source machine learning framework that originated at Google. After completing the TensorFlow tutorials, we can profile, tune, and compile a Deep Neural Network (DNN), model. Or, we can start learning Tensorflow using Intel’s Applied Deep Learning with Tensorflow courses.
Intel’s AI Academy has a vast repository of learning materials, including advice for free courses, a library of recorded training, technical case studies, and research papers. There are even practice input videos for testing image recognition. For example, we can train a model and then do practice runs with ready-made sample videos of bolts on a conveyor belt to use as inference input rather than purchasing a conveyor belt and video camera.
Intel has several AI-related tools and libraries where we can get started exploring frameworks that are supported across Intel hardware, including CPUs, FPGAs, Vision Processing Units (VPUs), and even desktops and laptops for powering inference-based applications.
The Intel NCS2 is not required to create AI applications. However, the NCS2 comes with a huge repository of documentation, tutorials, free tools, a large collection of pre-trained models in the “Model Zoo,” code samples, forums, and more, which makes it a low-cost choice for truly learning how to create an intelligent computer vision project or prototype.
Intel’s NCS2 is a small deep learning development kit with a high-performance VPU for object detection and image classification. In the example case, as mentioned above, Peter Ma’s portable skin cancer detection unit uses an Intel NCS to capture an image of a 2D blob on a person’s skin and discern anomalies using a model based on thousands of images of known cancerous skin conditions. In real-time, an inference engine deduces whether the skin blob looks more like a cancerous skin lesion, a mole, or nothing. One of the challenges that this application faces is that there are not enough classified images with which to more accurately train the model. Gathering a large enough data set for training is a common problem in AI.
The Intel NCS2 comes with the free OpenVINO tool kit and an inference engine developer guide. The NCS2 can work with a Windows or Apple host laptop running Ubuntu or a Raspberry Pi. The Intel NCS2 hardware is also affordable and somewhat framework-agnostic in that it supports several frameworks, including neon™, TensorFlow, Caffe, Theano, Big DL, MXnet, and Chainer. (The number of frameworks supported has doubled in the past year and will probably continue to grow since NCS2 is popular amongst developers.) Caffe, TensorFlow, and MXNet have been in the NCS ecosystem the longest.
The free, open source OpenVINO toolkit helps in the development of deep learning inference and computer vision solutions. OpenVINO is for use with multiple Intel® platforms. The Intel NCS 2 runs on a standard USB 3.0 port and requires no additional hardware.
The enormous amount of material available to train ourselves and develop AI-related prototypes is astounding. It’s clear that AI is an accessible tool. The industrial revolution had the Gutenberg press to spark communication and idea sharing. The AI revolution has the internet.