Stanford team creates computer vision algorithm that can describe photos

Computers only recently began to get the software needed to discern unknown objects; now machine-learning takes computer vision to the next level with a system that can describe objects and put them into context. Coming soon, better visual search?


Stanford Professor Fei-Fei Li, director of the Stanford Artificial Intelligence Lab, leads work on a computer vision system.

Computer software only recently became smart enough to recognize objects in photographs. Now, Stanford researchers using machine learning have created a system that takes the next step, writing a simple story of what’s happening in any digital image.

“The system can analyze an unknown image and explain it in words and phrases that make sense,” said  Fei-Fei Li, a professor of computer science and director of the Stanford Artificial Intelligence Lab.

“This is an important milestone,” Li said. “It’s the first time we’ve had a computer vision system that could tell a basic story about an unknown image by identifying discrete objects and also putting them into some context.”

Humans, Li said, create mental stories that put what we see into context. “Telling a story about a picture turns out to be a core element of human visual intelligence but so far it has proven very difficult to do this with computer algorithms,” she said.

At the heart of the Stanford system are algorithms that enable the system to improve its accuracy by scanning scene after scene, looking for patterns, and then using the accumulation of previously described scenes to extrapolate what is being depicted in the next unknown image.

Read more of this post


Popular Deep Learning Tools – a review

Deep Learning is the hottest trend now in AI and Machine Learning. We review the popular software for Deep Learning, including Caffe, Cuda-convnet, Deeplearning4j, Pylearn2, Theano, and Torch.

By Ran Bi.

deep-learningDeep Learning is now of the hottest trends in Artificial Intelligence and Machine Learning, with daily reports of amazing new achievements, like doing better than humans on IQ test.

In 2015 KDnuggets Software Poll, a new category for Deep Learning Tools was added, with most popular tools in that poll listed below.

  • Pylearn2 (55 users)
  • Theano (50)
  • Caffe (29)
  • Torch (27)
  • Cuda-convnet (17)
  • Deeplearning4j (12)
  • Other Deep Learning Tools (106)

I haven’t used all of them, so this is a brief summary of these popular tools based on their homepages and tutorials.

Theano & Pylearn2:

Theano and Pylearn2 are both developed at University of Montreal with most developers in the LISA group led by Yoshua Bengio. Theano is a Python library, and you can also consider it as a mathematical expression compiler. It is good for making algorithms from scratch. Here is an intuitive example of Theano training.

If we want to use standard algorithms, we can write Pylearn2 plugins as Theano expressions, and Theano will optimize and stabilize the expressions. It includes all things needed for multilayer perceptron/RBM/Stacked Denoting Autoencoder/ConvNets. Here is a quick start tutorial to walk you through some basic ideas on Pylearn2.


Caffe is developed by the Berkeley Vision and Learning Center, created by Yangqing Jia and led by Evan Shelhamer. It is a fast and readable implementation of ConvNets in C++. As shown on its official page, Caffe can process over 60M images per day with a single NVIDIA K40 GPU with AlexNet. It can be used like a toolkit for image classification, while not for other deep learning application such as text or speech.

Torch & OverFeat:

cudnnTorch is written in Lua, and used at NYU, Facebook AI lab and Google DeepMind. It claims to provide a MATLAB-like environment for machine learning algorithms. Why did they choose Lua/LuaJIT instead of the more popular Python? They said in Torch7 paper that “Lua is easily to be integrated with C so within a few hours’ work, any C or C++ library can become a Lua library.” With Lua written in pure ANSI C, it can be easily compiled for arbitrary targets.

OverFeat is a feature extractor trained on the ImageNet dataset with Torch7 and also easy to start with.

Cuda: Read more of this post

MarI/O – Machine Learning for Video Games

How to Run Windows in Ubuntu with a Virtualbox

How to share the files from Host to Guest in virtual box? Host-ubunutu/Guest-ubuntu

Which CPU Should You Buy? Comparing Intel Core i5 vs. i7

There’s a wealth of difference between Intel’s Core i5 and Core i7 processors. We outline each CPU and explain what it all means for your next desktop or laptop purchase.
For many consumers who are on the hunt for a new desktop or laptop PC, one of the biggest considerations is the type of processor. Two of the CPUs most often in contention are the Intel Core i5 and Intel Core i7. Discounting Core i3 (mainly found in budget systems) and AMD processors (another story entirely), the difference between Intel Core i5 and Core i7 can seem daunting, especially when the prices seem so close together once they’re in completed systems. We break down the differences for you.
Price and Marketing
Simply put, Core i5-equipped systems will be less expensive than Core i7-equipped PCs. Intel has moved away from the star ratings it used with previous-generation Core processors in favor of a capability-driven marketing message. Essentially, the Core i7 processors have more capabilities than Core i5 CPUs. They will be better for multitasking, multimedia tasks, high-end gaming, and scientific work. Core i7 processors are certainly aimed at people who complain that their current system is “too slow.” Spot-checking a system like the Dell XPS 13 Touch ultrabook, you’ll find the Core i5 to be about $200 less expensive than a similarly equipped Core i7 system.

Core Confusion

For the most part, you’ll get faster CPU performance from Core i7 than Core i5. The majority of Core i7 desktop CPUs are quad-core processors, but so are the majority of Core i5 desktop CPUs. This is not always the case, as there are dual-core mobile Core i7 processors and many dual-core mobile Core i5 CPUs. You might also see the rare six- or eight-core Core i7, but that’s usually found with the desktop-only, top-of-the-line Extreme Edition models.

The Core nomenclature has been used for several generations of CPUs. Nehalem and Westmere use three-digit model names (i.e., Intel Core i7-920), while Sandy Bridge, Ivy Bridge, Haswell, and Broadwell CPUs use four-digit model names (such as the Intel Core i7-5500). Thankfully, unless you’re shopping the used PC market, you’ll find Ivy Bridge processors in closeout systems and budget PCs, while you’ll find Haswell or Broadwell processors in most new PCs. Older-generation Nehalem, Westmere, and Sandy Bridge cores are found in older PCs and generally have lower performance. The essential takeaway is that to get better performance in each generation, buy a processor with a higher model number. For instance, an Intel Core i7-5500U generally has better performance than an Intel Core i5-5200U.

Give Me the Cache

In addition to generally faster base clock speeds, Core i7 processors have larger cache (on-board memory) to help the processor deal with repetitive tasks faster. If you’re editing and calculating spreadsheets, your CPU shouldn’t have to reload the framework where the numbers sit. This info will sit in the cache, so when you change a number, the calculations are almost instantaneous. Larger cache sizes help with multitasking as well, since background tasks will be ready for when you switch focus to another window. On currently available desktop processors, i5 CPUs have 3MB to 6MB of L3 cache, while i7 processors have 4MB to 8MB. Read more of this post