Kategoriarkiv: GPGPU

 

Deep Learning

download article

To dig even deeper into deep learning, please have a look at the technical report I wrote on my findings (PDF document).

I have had the pleasure of diving into the deep waters of deep learning and learned to swim around.

Deep learning is a topic in the field of artificial intelligence (AI) and is a relatively new research area although based on the popular artificial neural networks that supposedly mirror brain function. With the development of the perceptron in the 1950s and 1960s by Frank RosenBlatt, research began on artificial neural networks. To further mimic the architectural depth of the brain, researchers wanted to train a deep multi-layer neural network – this, however, did not happen until Geoffrey Hinton in 2006 introduced Deep Belief Networks.

Recently, the topic of deep learning has gained public interest. Large web companies such as Google and Facebook have a focused research on AI and an ever increasing amount of compute power, which has led to researchers finally being able to produce results that are of interest to the general public. In July 2012 Google trained a deep learning network on YouTube videos with the remarkable result that the network learned to recognize humans as well as cats, and in January this year Google successfully used deep learning on Street View images to automatically recognize house numbers with an accuracy comparable to that of a human operator. In March this year Facebook announced their DeepFace algorithm that is able to match faces in photos with Facebook users almost as accurately as a human can do.

To get some hands-on experience I set up a Deep Belief Network using the python library Theano and by showing it examples of human faces, I managed to teach it the features such that it could generate new and previously unseen samples of human faces.

The ORL Database of Faces contains 400 images of the following kind:

facesORL

By training with these images, the Deep Belief Network generated these examples of what it believes a face to look like

facesORLsamples-2

The variation in the head position and facial expressions of the dataset makes the sampled faces a bit blurry, so I wanted to try out a more uniform dataset.

The Extended Yale Face Database B consists of images like the following

facesYALE

and in the cropped version we have 2414 images that are uniformly cropped to just include the faces.
Training the Deep Belief Network with this dataset, it generated these never before seen images that actually look like human faces. In other words; these images are entirely computer generated, as a result of the Deep Learning algorithm. Based only on the input images the algorithm has learned how to “draw” the human faces below:

facesYALEsamples-2

 

Vi præsenterede på NVIDIA GTC 2012

NIVIDIA’s GPU Technology Conference i San Jose, Californien afholdt d. 13-17 Maj 2012, præsenterede Michael S. Fosgerau fra Hinnerup Net A/S og Henrik Høj Madsen fra LEGO en række udviklingsudfordringer og indsamlet viden ved at have udarbejdet et skalerbart og distribueret GPGPU 3D optimerings- og renderingssystem (link virker ikke længere – nyt link her) for LEGO.

Der er tale om et setup på 16 bladeservere af typen NVIDIA Optiplex 2200 S4, hver indeholdende 4 styk Quadro FX 5800 GPUs, summerende til ialt:

  • 64 stk. Quadro FX 5800 GPUs
  • 256 Gb GPU memory
  • 15360 CUDA cores

Vi deltog på hele konferencen og er kommet hjem med nye ideer, inspiration og viden til fremtidige projekter inden for GPGPU og massive parallel computing.

Grafikkort er ikke kun til spil og flotte effekter, der gemmer sig mange beregningskræfter på moderne kort. På konferencen lancerede NVIDIA det nye GTX 690 kort, der indeholder 2 stk. Kepler GPU processorer med en samlet beregningsevne på 2 x 2.810,88 GFLOPS (FMA), eller ca. 5,6 TFLOPS. Det var for en kort årrække siden hvad en supercomputer kunne præstere (ca. i år 2000). Du kan se hele key noten afholdt af NVIDIA’s direktør Jen-Hsun Huang her: Opening day key note, GTC 2012.

En detaljeret artikel om præsentationen kan læses på NVIDIA’s blog.

Slides fra præsentationen vil blive offentliggjort på NVIDIA’s website. Når dette sker opdateres denne blog post med link dertil.