14 ms·
Building high-level features using large scale unsupervised learning
- marshallp 14y agoGoogle Research and Stanford researchers test out a 1 billion connection, 9 layer, 16,000 core deep learning neural network (see geoff hinton and andrew ng talks on youtube) to recognize 20,000 different objects in images (with low accuracy but huge improvement over previous approaches). This was done no with no pre-labeled images (except for fine tuning)! A brain that learned from raw images. The same algorithm can be applied to any data type (financial data, text, audio, images/video) without any human involvement (except gatheting of unlabelled data and running the system). Pretty much the artificial intelligence holy grail!
- chrischen 14y agoWait until they become conscious and demand human rights. Then we can no longer exploit them and we're back to square one.
- ADRIANFR 14y agoSeriously, a Phd thesis not far from now may have the title: "The limits of AI: how far can we exploit the machines before we are limited by machine rights"
- gnaritas 14y agoI'd say until they day they realize they're being exploited, and complain about it.
- D_Alex 14y agoAnd so is a profession of "machine rights lawyer". Not to mention "Corpsicle lawyer" for representing cryogenically suspended persons. Seriously.
- roel_v 14y agoActually, that is not just a thesis at some point in the future, that is an active field of study and has been since the 1980's. Some keywords are "machine ethics" and "AI rights". One of my friends wrote his PhD (in the 'real' sense, i.e. from a philosophy department - just to say that this is not (only) a CS topic) thesis about a question related to this in the early 80's.
- chubot 14y agoI only read the abstract, so I'm sure this is a basic/dumb question... but if you don't label images as faces or not, what makes it a face detector? :) How do you get an elbow detector or a butt detector out of the same algorithm?
- marshallp 14y agoIt automatically creates a set features that you can then use a final layer of machine learning to get what you want. In machine learning, normally you have to create a set of features (call feature engineering - basically think algorithms to better represent your data). The amazing thing about deep learning is that the computer does this for you! You just need a few 10s/100s face/nonface images - same for 20,000 other objects - this is called fine-tuning. For more, andrew ng, geoff hinton, yann lecun have given talks on this at google and they are up on youtube.
- zhouyisu 14y agoThis paper is actually more interesting: it automatically learns some "neuron" which its firing represents a detected face, without any supervise technique. It shows the possibility to extract complex information solely from data.
- DanBC 14y agoIs there any concept of "reward" for this thing? Wouldn't that make training it much quicker and make it much more accurate? Or are we trying to avoid any human interaction at all with the earning loop? See, for example this company (one of many) that trains bees to smell certain odours. (http://www.inscentinel.com/ http://www.inscentinel.com/)
- zhouyisu 14y agoUsing "reward" or say supervised training is easier and (near certainly) often gives better result, but unsupervised is more interesting as a research result, it tells that we can actually extract very high level information from data itself, using some "obvious" rules (such as linearly mix adjacent pixels and give as sparse-"laplace distribution like" results as possible). It is important because it proves that we may simulate brain functionality without knowing exact structure of brain (as we know brain is complex), but by analysis the data it processes using lots of simple structure instead.
- Cyranix 14y ago"Singularity is near"? "Holy grail"? You may be getting a little carried away here. The outcome shows a very nice improvement on an unsupervised classification and feature detection task, but it also highlights that unsupervised machine learning still has a long way to go. 16% accuracy from a network with 1bn connections and 100m inputs using (if my math is right) 1.15m hours of CPU time. Which of these would be the easiest way to continue making gains: investing more time/hardware, increasing the complexity of the model, or developing a new and improved algorithm altogether? All of these sound pretty intensive to me.
- marshallp 14y agoIf the algorithm keeps increasing in accuracy as you scale up computation and add more unlabeled data that is pretty amazing. You might get something that matches human performance on vision/speech recognition etc.
- jules 14y agoIf you extrapolate that way you'd conclude that naive Bayes is the solution to AI. Improvements tend to tail off fairly quickly as you add more data and computation, unfortunately.
- deleted 14y ago[deleted]
- jpeterson 14y agoMaybe I'm missing something here, but how exactly is it "unlabeled" data if they're specifically feeding it millions of pictures of "faces"? I mean, if you make a specific selection of the type of images you train the network on, isn't that basically equivalent to labeling them?
- endtime 14y agoNope. Not all the images contained faces (cats, bodies, etc.). There was no specific face-detection code. The system just learned the concepts from the data. http://en.wikipedia.org/wiki/Unsupervised_learning http://en.wikipedia.org/wiki/Unsupervised_learning
- Smerity 14y agoThe aim of the paper was to produce an unsupervised system that would generate high level features from noisy data. These high level features could then be used in supervised systems where labelled data is added. Thus, the paper is about using an unsupervised system to help a later supervised system. An advantage of this is that, as the unsupervised system isn't trained to recognise object X, it instead learns features that are discriminative. This same network could be used to recognise arbitrary objects (which is what they do later on in the paper with ImageNet).
- leot 14y agoIn other words: imagine a baby. She sees 100k "images" of faces. Thanks to the statistical regularity of the world, she now has a "subsystem" that recognizes a face in the absence of her knowing what it's called. Then, when she is told "this is a face" she pins this thing pointed-to to the existing, unnamed representation.
- yaroslavvb 14y agoThey are feeding 10M frames from random YouTube videos, 1 frame per video. Only 3% of 60x60 patches from those frames contained faces
- JohnHaugeland 14y ago
- forgotusername 14y agoCan we perhaps edit "singularity is near" out of the title? This sounds impressive, but having a bunch of racks able to classify the outline of a face is vastly disconnected from machine and humanity merging.
- Smerity 14y agoI was going to make the same request. The singularity should be discussed where relevant, not added to everything. This paper is producing high level features from noisy data in an unsupervised fashion -- a human still needs to indicate the task it should be targeted for and a human still needs to provide labelled training data for these high level features to be of use. This work is interesting enough to warrant detailed discussion on the topic at hand, large scale machine learning, rather than just rehashing discussions of the singularity. Added: As I can't reply to the comment below I'll do it here =] The network provides learned representations that are discriminative. The aim of the network is to learn high level features representative of the content. One of the many features it produced was one which accurately indicated the presence of a face in the image. Note that they said train a face detector and not classify. For example, from the same network there was a feature which accurate detected cats yet they didn't explicitly train a cat detector either (see the section "Cat and human body detectors"). As the network represents the content as generic features it is clear that, if it reaches a high enough level, those features are essentially classifications themselves. tldr; High-level features generated by this unsupervised network are so high-level that one of them aligns with "has a face in the image", others with "has cat in image", etc, but these features cannot be used without labelled training.
- reitzensteinm 14y agoActually, what's significant about this work is that labeled training data was not required: "Contrary to what appears to be a widely-held intuition, our experimental results reveal that it is possible to train a face detector without having to label images as containing a face or not."
- Smerity 14y ago
- kenrikm 14y agoWhile I'm excited about progress, 15.8% accuracy is not exactly "Singularity is near"
- marshallp 14y agoThey just have to scale it up - more computers, more days, and the accuracy level should increase accordingly (that is my intuition and hope on this, though i could be wrong).
- heretohelp 14y agoHaha, no. --- last company was in computer vision.
- roel_v 14y ago"last company was in computer vision." Did you sell, leave or did it fail? Why? I have some ideas that I think are novel applications of computer vision, and just within the range of what's feasible, but it seems that most computer vision applications look like that at first, and then after 90% done find out that the second 90% is exponentially harder and, realistically, infeasible. How could I test my ideas against that? Or am I asking from wrong premises?
- heretohelp 14y agoCompany was doing well and had a good idea. Product worked great, we did our job. The problem is, management didn't. I left after all the other engineers did.
- heretohelp 14y agoSecond reply: Email me if you want to discuss practical application.
- jfoutz 14y agobefore, there was room to double accuracy 3 times. Now, there's not. If i understood correctly their approach can take advantage of parallelism. I'm not saying they can just throw 128k cores at the problem and be done, adding 2^n resources will likely have a nice boost to results. OTOH, it's late and i might be way off.
- adventureful 14y agoThe added singularity is near part is silly. In ten years when that's a 500,000 (or 5 million) core neural net, the singularity is near part still won't apply.
- semisight 14y agoThis isn't singularity material. While this may not be a bog standard neural network, it has no feedback. It cannot think, because thinking requires reflection. It is trained by adjusting the weights of the connections after the fact using an equation. Is it cool, and perhaps even useful? Yes. But don't confuse this research project for a precursor to skynet.
- marshallp 14y agoI put the singularity bit in to make it relevant to people who would otherwise not get the significance of this (which is that large scale neural nets can work - something people have been trying and failing at for decades).
- ekianjo 14y ago15.8% accuracy != singularity is near. No more supplements-eating Kurzweil, walking Terminators and Skynet-like BS please.
- scotty79 14y agoI wonder what accuracy would human get if you trained him/her only with 10 million static 200x200 px images in complete silence.
- ekianjo 14y agoI don't think this was "complete silence" in this case. They actually trained the computer (meaning they provided data as input).
- ehsanu1 14y agoscotty79 means to showing a human only the 10 million 200x200 images. We probably see a lot more than that, in 3D from different perspectives with continuity in motion, and in a lot more detail and possibilities for filtering.
- ekianjo 14y ago> scotty79 means to showing a human only the 10 million 200x200 images Then, what kind of thing are you measuring? Recognizing patterns ? We know humans are very good at that. We can see thousands of different people everyday but we can recognize in the blink of an eye a familiar face. A computer or computer network is very, very, very far from being able to do that yet.
- kalleboo 14y agoBut why are humans are very good at that? Could it be because humans have gotten tons of high-resolution, 3D imagery with binaural audio? Whereas this computer got a handful of low-res still images. Is the solution to just throw more horsepower at the problem, or is there really some inherent quality of the brain that's different? edit: this quote puts things into perspective a bit "It is worth noting that our network is still tiny compared to the human visual cortex, which is 1,000,000 times larger in terms of the number of neurons and synapses."
- panacea 14y agoThe singularity is already here. There are black holes in our universe. This submission title really annoys me.
- MindTwister 14y agoEven if you are trolling, I think I'll leave this here. http://en.wikipedia.org/wiki/Technological_singularity http://en.wikipedia.org/wiki/Technological_singularity
- panacea 14y agoI'm not trolling, I've read Keurzweil's book... It's extrapolating. If I was a risk assesor, I'd err on the side of a mass extinction event over us consuming the entire universe as data.
- dmix 14y agoThere's already been 4 extinction events, it's pretty safe to bet that it will happen again. But they happen 50-100 million years between each other and usually take thousands of years to take full effect once they begin. Even if technological singularity takes an extra 100-200 years to really happen, if any significant 'AI' is achieved, a lot could happen in a thousand years, let alone a million.
- JohnHaugeland 14y agoFor what it's worth, your ability to post that is based on that they were actually near-extinction events.
- nl 14y agoPeople are missing the point here. Yes, 15% accuracy doesn't seem great. BUT the detector built its own categories(!). It managed to find 20,000 different categories of objects in Youtube videos, and one of these categories corresponded to human faces, and another to cats. Once the experimenters found the "face detection neuron" and used it to test faces THAT neuron managed 81.7% detection rate(!). Forget the singularity, and just think about how amazing that is. The system trained itself - without human labelling - to distinguish human faces correctly over 80% of the time.
- agravier 14y ago> BUT the detector built its own categories(!). It's not revolutionary. Clustering algorithms and neural nets are plenty. Really, what differentiates this network is its scale.
- abrahamsen 14y agoAnd, thanks to scale, that some of the clusters corresponds to high level concepts. According to the article, earlier attempts have mostly resulted in low level concepts like "edge" or "blob" to be detected. Also, it was (again, from the article) plausible but not a given that high level concepts could be found from unlabeled data. That "cat" is one of the high level concept you get from using random Youtube videos as raw data is both impressive, and slightly amusing.
- agravier 14y agoExactly. Regarding your remark about edge detectors: such self-organizing neural nets are organized into hierarchical layers, and early layers' units are going to learn to become detectors of statistically common components of the input image, in the same way as the initial layers of the visual system perform blob and edge detection (retina, lateral geniculate nucleus, V1). In mathematical terms, these early units learn the conditional principal components of the inputs. The layers that are built upon these detectors, if correctly organized, are going to build upon this initial abstraction and learn more complex features: for instance to find these these edges in relative positions (to each other). Eventually, up the abstraction chain, units detect such statistically frequent features as the shape of cat's ears (common in youtube videos, I imagine), etc... (Sorry I wrote that fast, I hope it's understandable)
- sown 14y agoI'm seriously considering quitting my job and studying ML for a few months in a desperate attempt to get work in projects like this. I feel like I'm missing out but too dumb for traditional grad school.
- p1esk 14y agoThat's what I did a few months ago - quit my job and decided to go to a grad school to study AI (with focus on neural nets and ML).
- ralfd 14y agoWhat did you learn so far about neural nets? I recently looked into machine learning and naively thought I could find at least one practical fun tutorial "Here is a neural network API in C, you have to do that and this to let a simulated robot evade obstacles or learn to play Asteroids". Instead my (extremely superficial) search did find that neural nets are pretty arcane, genetic algorithms trapped in local minima and you are faster and better of coding logic yourself, developing a mathematical model to calculate results, instead searching for patterns in vast sets of data.
- mikedmiked 14y agotry python's scikit.learn library
- ippisl 14y agoHere's a fun toy project using neural networks. http://slowping.com/2012/self-driving-lego-mindstorms-robot/ http://slowping.com/2012/self-driving-lego-mindstorms-robot/
- Dn_Ab 14y agoIf you are trying to make game AI then neural networks are a bad idea. But if you are just trying to have some fun learning then do whatever you want. That said, MLPs are hard to use properly, not a good place to start. A good way to start "AI". Write a decision tree they will serve you well and with boosting do even better. Basic but useful stuff: logistic regression, armed bandits, weighted experts, kNearest, k means , Kernel Density estimation and Naive Bayes. That covers online, ensemble, super and unsuper vised algorithms. Goodluck!
- tensor 14y agoIs accuracy referring to recall, precision, or some other measure?
- andreasvc 14y agoWhen there is no possible difference between recall & precision, you report one figure, accuracy.
- chmike 14y agoThe only originality in this work is the processing power used. The principle in it self is not original. For a possible resemblance with the real cortical neural network working principle and face or object recognition, this is just a farce. Regarding getting closer to the presumed singularity, this is like saying that cutting flint is close to making diamonds. The authors didn't claim that, but the abusive use of "neural network" for such kinds of applications is just doing that. It is a dishonest abuse of people who can't make the difference. The true problem is that significant quality work toward modeling real cortical neural network is drown in the sea of such faker crap.
- _delirium 14y agoI think much of this is overhyped as well, but I disagree that whether modeling human brain structure is relevant. The term "neural network" has historical baggage (responsible for some of the hype), but these days refers to a class of mathematical approaches with only historical connection to "neurons". Those can be interesting on their own for AI purposes, and imo accurate modeling of the human brian, while interesting for neuroscience research, is not necessarily the way forward for AI research.
- chmike 14y agoMy use of modeling was indeed inappropriate. What I meant is the working principle of cortical neural networks. The artificial model would then be a kind of proof of concept. Regarding you other point, it is a matter of research strategy. I think that the path trying understanding the working principle of real cortical neural network is the shortest path to AI. My impression is that the other path which is to play around with artificial neural networks is too hazardous. We can make a parallel with learning to fly. We are in a similar situation regarding how the brain works and AI. Understanding how birds fly require a true research. People seems to simply focus on flapping while this is not the real working principle of flight. I see there a strong analogy with artificial neural network. The most relevant properties of cortical neural networks are ignored. With flight the proof condition of mastering it was obvious. With AI, it is less obvious. I would be glad to hear suggestions. Face recognition is the most difficult condition because this process is the end product of many prior processes like 3D perception and feature extractions. My current impression is that talk decoding would be a much better candidate. Siri shows the potential impact of such AI product. At least the turing test would be a direct match.
- Homunculiheaded 14y agoThere was an interesting discussion on Quora about this recently[0] The most relevant quote being perhaps: "The magic of the brain is not the number of neurons, but how the circuits are wired and how they function dynamically. If you put 1 billion transistors together, you don't get a functioning CPU. And if you put 100 billion neurons together, you don't get an intelligent brain." 0. http://www.quora.com/How-big-is-the-largest-feedforward-neural-network-ever-trained-and-what-for http://www.quora.com/How-big-is-the-largest-feedforward-neur...
- eric_bullington 14y agoThat's an interesting discussion, but this experiment suggests exactly the opposite (perhaps that's why you included the discussion). Who knows, if we put 1 billion cores together, and fed it a massive amount of data (akin to what a baby receives as he/she matures), perhaps we would get a brain we would consider "intelligent". The fact that this system was able to pick out high-level features like "face" and "cat" without any prior training -- and with only 1000 cores, not 1 billion -- is quite suggestive that they're on to something. EDIT: Mistyped number of cores. 1000, not 100.
- JohnHaugeland 14y ago"That's an interesting discussion, but this experiment suggests exactly the opposite (perhaps that's why you included the discussion)." It absolutely does not. This experiment supports that position strongly. What this experiment shows is that said meaningful structure can be progressively, automatically discovered. "and with only 1000 cores, not 1 billion" Comparing CPU cores to individual neurons is more than slightly disingenuous.
- deleted 14y ago[deleted]
- dchichkov 14y agoFrom the article: "It is worth noting that our network is still tiny compared to the human visual cortex, which is 1,000,000 times larger in terms of the number of neurons and synapses."
- jamesaguilar 14y agoYou'd be surprised at how little precision this much computing power gets you, even on very basic classifiers. If anything, working on this kind of stuff has given me an appreciation for just how far away the singularity may be.
- mjwalshe 14y agoI thought that the best so far was simulating 1/2 a mouse brain compextity at 1/2 speed.
- SafeSituation 14y agoWhere can I find this study?
- ehsanu1 14y agoHe might be referring to blue brain, though I recall that simulated 100k neurons from the neocortex (not quite half a mouse brain). The thing is that they simulated the physical processes in the synapses and more for a more accurate representation, so it's actually a lot cooler than it sounds! Here's a link I googled up: http://bluebrain.epfl.ch/cms/lang/en/pid/56882 http://bluebrain.epfl.ch/cms/lang/en/pid/56882
- epaga 14y agoFascinating, exciting times we live in. I'll upvote the link as soon as the "singularity" silliness is taken out of the title.
- pwmanagerdied 14y agoFinally a title worth editing and the editors have decided not to touch it. Genius.
- DanBC 14y ago> the dataset has 10 million 200x200 pixel images downloaded from the Internet They take the frames from YouTube. It is weird to me that YouTube, (derided as a way of sharing funny cat videos) is able to contribute something actually useful to the world.
- manmal 14y agoYoutube contains a lot of educational material you would not find otherwise. If I wanted to learn sewing on a sewing machine, I would just watch some video tutorials - try that with a book on sewing. Same thing with instructions on how to play instruments. Heck you can even watch videos on how to fix problems with your car engine. Many procedural instructions can't be transported properly via papers or books. It also allows asynchronous video messaging for laymen asking experts stuff which is difficult to get via written text. I bet that youtube will contribute very much to knowledge preservation and distribution in the long term.
- DanBC 14y agoI hope that Google look after it a bit better than they've looked after their Usenet archives. Google groups search is a particularly frustrating experience. I agree that there is some great content on Youtube. Interesting that you mention sewing machines, because that's something I've used and they are particularly helpful. (See also all those other crafting videos; latch-hooking etc.)
- deleted 14y ago[deleted]
- seiji 14y ago16,000 cores sounds impressive until you realize it's just five to ten modern GPUs. For Google, it's easier to just run a 1,000 machine job than requisition some GPUs. See: http://www.nvidia.com/object/tesla-servers.html http://www.nvidia.com/object/tesla-servers.html (4.5 teraflops in one card) Reminder: GPUs will destroy the world.
- jules 14y agoThe problem is not the theoretical peak teraflops. The problem is actually achieving those teraflops with useful work. Due to architecture that is easier on a CPU than on a GPU, so you can't directly compare teraflops and conclude that GPUs are superior. Getting something to run fast on a GPU is very difficult. And actually the thing that does 4.5 teraflops in single precision does only 95 gigaflops in double precision per GPU. A good x86 CPU does ~100 gigaflops in double precision as well, and you're much more likely to actually achieve that number on a x86. Although another one on the page you linked to theoretically does 665 gigaflops double precision.
- ippisl 14y agoSingle precision is probably fine for a neural network. Neural networks are somewhat insensitive to noise and failure and single precision adds very little noise.
- tonfa 14y agoI don't think that one CPU core is exactly comparable to one GPU core.
- Symmetry 14y agoWhat a GPU calls a "core" doesn't at all correspond to what a CPU calls a "core". Going by the CPU definition (something like "something that can schedule memory accesses") a high end GPU will only have 60 or so cores. And going by the the GPU definition (An execution unit) a high end CPU will tend to have 30-something cores. GPUs do have fundamentally more execution resources, but that comes at a price and not every algorithm will be capable of running faster on a GPU than on a CPU. If neural networks just involve multiplying lots of matrices together with little branching they might be well suited to GPUs, but most AI code isn't like that.
- cbhl 14y ago"We also find that the same network is sensitive to other high-level concepts such as cat faces..." "Our training dataset is constructed by sampling frames from 10 million YouTube videos."
- mbq 14y agoAs far as I can tell, this is let's train a huge number of models and then cherry-pick few that works well on a test set, so an overfitted junk. What have I missed?
- moultano 14y agoIt seems like they are cherry picking the one that works well on the training set no? Where did you get the sense that they were doing it on test?
- mbq 14y agoThe train is not labeled, so it is not possible; and they do not mention that the labeled set was split or used in validation -- it is just called "test".
- moultano 14y ago"We followed the experimental protocols specified by (Deng et al., 2010; Sanchez & Perronnin, 2011), in which, the datasets are randomly split into two halves for training and validation. We report the performance on the validation set and compare against state-of-theart baselines in Table 2. Note that the splits are not identical to previous work but validation set performances vary slightly across different splits."
- JohnHaugeland 14y agoThe singularity is a poorly constructed myth. It is built around the presumption that intelligence is a linear function of CPU power, and that surely as CPU power rises, so shall intelligence; the problem is, that prediction was made in the 1970s, since which CPU power has risen ten decimal orders of magnitude, and we still don't have much better speech recognition than we did back then, let alone anything even approaching simple reasoning. The ability to detect faces is not a signal that general intelligence is right around the corner.
- Symmetry 14y agoWell, maybe. There are a whole lot of very different things called "The Singularity" and some of them are much more reasonable than others. There's the Cambpellian Singularity, which says that we won't be able to predict what will happen next. Pretty non-controversial as far as it goes. There's the Vingean Singularity, which says that if we ever develop AIs that can think as fast and as well as humans then due to Moore's Law they'll be thinking twice as fast as humans after 2 years, so they'll start designing chips and the period of Moore's law will fall to 1 year, and so on with us reaching infinite computing power in finite time. I think this vision is flawed. Relatedly, there's the Intelligence Explosion Singularity (associated with Yudkowsky), which says that as soon as its AIs designing AIs, smarter AIs will relativly quickly be able to make even smarter AIs and we'll get a "fwoosh" effect, though not to infinity in finite time. I find this unlikely, but can't rule it out. There's one I don't have a handy name for, but lets call it the AI Revolution viewpoint, which is that AIs will cause civilization to switch to a faster mode of progress, just like the Agricultural Revolution and Industrial Revolution did. This one will only look like a singularity in hindsight, and might seem gradual to the people living through it. I think this one is pretty credible. There's the Kurzweilian Singularity, where thanks to Accelerating Change we'll someday pass a point which will arbitrarily be called the Singularity. As far as I can tell this is Kurzweil appropriating the hot word of the moment for his ideas a la Javascript. Then there's the Naive Singularity, which equates processing power with intelligence and then concludes that computers must be getting smarter. This is indeed totally naive and not something we should worry about. I guess the linked paper is evidence that you can substitute a faster computer for smarter AI researchers to some extent, but probably not a very large one.
- PaulHoule 14y ago"we trained our network to obtain 15.8% accuracy" Film at 11
- snikolov 14y agoLook at this way: for a 20000 category classification problem, guessing randomly will give you 0.005% accuracy. Compared to chance, this is pretty good.
- RyanMcGreal 14y agoWe need to harness this neural net to improve kittydar: https://news.ycombinator.com/item?id=4116990 https://news.ycombinator.com/item?id=4116990
- hockeybias 14y agoOh yea... Singularity should roll on in very soon - in more science fiction.
- karpathy 14y agoIf anyone is interested to read more on this topic, there is another recent, closely related and perhaps slightly more accessible paper ( "High-Level Invariant Features with Scalable Clustering Algorithms" http://bit.ly/KDuN04 http://bit.ly/KDuN04 ) from Stanford that also learns face neurons from unsupervised collection of images (disclaimer: I'm co-author). It uses a slightly different model based on layers of k-means clustering and linking, but the computation in the end is very similar. I'm familiar with both models so I can also try to answer any questions.
- bfrs 14y agoI think your comment http://news.ycombinator.com/item?id=3838971 http://news.ycombinator.com/item?id=3838971 is very relevant to this discussion.