Slidecast: Dell EMC Using Neural Networks to “Read Minds”

Print Friendly, PDF & Email

In this slidecast, Luke Wilson from Dell EMC describes a case study with McGill University using neural networks to “read minds.”

If you want to build a better neural network, there is no better model than the human brain. In this project, McGill University was running into bottlenecks using neural networks to reverse-map fMRI images. The team from the Dell EMC HPC & AI Innovation Lab was able to tune the code to run solely on Intel Xeon Scalable processors, rather than porting to the university’s scarce GPU accelerators.


insideHPC: Welcome to the rich report, a podcast with news and information on high performance computing. Today, my guest is Luke Wilson from Dell EMC. He is the AI Research Lead at their HPC & AI Innovation Lab. Luke, welcome to the show today.

Luke Wilson: Thanks for having me on, Richard.

insideHPC: Well, look, I was really glad to get ahold of you today, right in time for SC19. You’ve got a fascinating topic here: Brain decoding using neural networks to read minds. What do you mean by that?

Luke Wilson: So this is a project that we’ve been working on. It’s actually run out of McGill University. But in collaboration with us and Intel, and the Montreal Neurological Institute, what they’re trying to do is decipher fMRI activation maps.

I don’t know if you’ve ever sat in for a fMRI but basically they put you inside an MRI machine. And then they have you perform a task, like hold a pencil or pick up a cup, or think about what you had for breakfast. And then they take an image of which regions of the brain are activated, which ones are receiving the most blood flow, and where the most chemical activity is. And then they associate that activation map with the task you were performing.

The goal of this project is to reverse that mapping. So given an image of an activated brain, can we determine what the patient was being asked to do at that time. So the first goal is, of course, to build this catalogue, this understanding of how the brain activates to perform different tasks. And the idea here is that once we have this understanding of how these activation maps relate to the test being performed, we can then look at all sorts of different tasks, or if different tasks to have coordinated regions. For instance, do they share regions of the brain? So if two different tasks that seem unrelated share portions of that neuron area, the end goal would be to then figure out how the brain is able to do that context. How can it use the same set of neurons to do two completely different tasks? Whereas artificial neural networks right now can only understand how to do one thing at a time; you can’t have the same neural network performing two different tasks simultaneously.

insideHPC: So the way we apply AI, it’s a single purpose kind of thing, unlike the brain, which is multitasking.

Luke Wilson: Yeah, exactly. So artificial neural networks, of course, were first discussed and at first crudely put together back in the 1950s and 1960s, but were meant as a way of helping us understand the human brain. We were hoping to figure what intelligence was by replicating that connection system in a computer to see if we could replicate some of the same capabilities that we have that we as humans consider intelligence in a machine. And that process continues on.

You know, the use of neural networks is not just about finding dogs, cats, and sandwiches in pictures off the internet. The end goal is really to figure out what makes humans intelligent. And then maybe we can impart some of that intelligence to the system itself.

insideHPC: So they’re trying to build better neural networks as a result of this?

Luke Wilson: Exactly. So the end goal would be to build better neural networks if we can figure out how to reuse areas of artificial neural networks in the same way that areas of the brain are reused for other tasks. Then we can make our artificial neural networks much more modular. We can use kind of a building block approach to them where we can swap out parts or use the same part and multiple tasks. or connect multiple sets of inputs to multiple internal regions of the neural network. So then it can simultaneously perform multiple tasks and that makes them smaller, that makes them more efficient.

And it could also potentially make them more capable. Because I know I’ve experienced this, and I’m sure everyone else has experienced this; you know, when you smell a flower or you smell a pie cooking, and then all of a sudden, it triggers something else in your mind. And that’s because of the interconnected nature of our brains. Because we’re using the same sets of neurons for multiple tasks, either motor control, sensory input, or memory recall.

InsideHPC: Can you kind of characterize you know, the amount of data and what you guys were challenged with in this project?

Luke Wilson: So this initial project is kind of a first step in this long goal of figuring out how to reuse sections of neural networks and artificial neural networks. The first task was looking at at the human brain, of course, and the folks at McGill started with this data set from the Human Connectome Project.

So this data set has data from 1200 different patients. And each patient had 500 hours of data collected on those 500 total hours of brain scans, while these patients are performing different tasks.

So these tasks range from simple things, like I mentioned, picking up a pencil or holding a cup, to recalling what you had for breakfast, or being asked a specific technical question, for example, like how many days is are in a year or how far away is Earth from the sun. So the goal is that with the status that we now have this collection of data, some 60,000 hours of data of brain scans that are associated with the tasks that the patients were performing, at the time the scan was taken. So can we then reverse the process and use this as a training data set to read in the image and then guess what the task was it was being performed by the patient at the time, essentially reading the patient’s mind.

Let me just talk a little bit more about McGill’s challenges real quick. So the data set is very large, obviously, you know, these are not very low resolution images. And they’ve first started by trying to train neural networks to do this on a GPU. And the problem they notice dis that most of the work they were having to do with these images was before they even got to the neural network, they had to do an enormous amount of image pre processing. The the feature maps were very large. So they ended up with these large stall times on the GPUs waiting for the CPUs to perform all this pre processing work.

So they decided instead to look at the problem a different way – instead of using the GPUs to accelerate the part of the problem that was already relatively fast, why not just do all of the neural network training straight on the on the CPUs. Can we do it on Intel CPUs where we’re doing the image pre processing already and get better time to solution overall than using the GPUs in concert with CPUs?

And to do that, they used Zenith here at the Dell EMC HPC & AI Innovation Lab. Zenith is our largest engineering and evaluation cluster built entirely out of Intel’s Xeon scalable processors. The majority of it is currently Intel’s Xeon Gold 6248 packaged in our 2U Dell PowerEdge C6420 dense compute platform. And what they did was use Intel optimized TensorFlow version,1.11 with Intel’s deep neural network library. It used to be called MKLDNN. Now called the DN NL and Horovod to parallelize the training.

They looked at two different neural network topologies. A custom compositional neural network that consisted of several layers of convolution followed by some pooling, and then a stock, resnet 50 you know, the same topology that everyone uses to benchmark the performance of their systems for deep learning.

So the result was that they were able to build these extremely accurate mappings from images to actions. I think one of the things that that was discovered over the course of this process was that the mapping themselves were actually very concrete. There wasn’t a lot of ambiguity in them. We were able to very easily detect which activation maps corresponded to which actions. In fact, for motor tasks with the model constructed was 99% accurate on the Validation Test after 10 epochs, and the working memory tasks where you’re trying to recall factor and event was 91% Accurate after 20 epochs. And it really did not take very much time to do this. On 20 Intel Xeon Gold 6248 processors, it took 20 minutes to train these particular neural networks versus three hours on two NVIDIA P100 GPUs that the research team at McGill hadn’t their lab already.

And so, the thing about GPUs is they’re great. They accelerate a ton of workloads and they can really reduce the time to solution, but sometimes it’s hard to get ahold of them. They’re usually the most heavily requested resources in a data center. They’re hard to get ahold of, but CPUs are everywhere. And so if you can train on CPUs using a little bit of scale out parallelism, and you’re already doing a lot of heavy image pre processing on the CPUs. Anyway, you can just stay on the CPU and get better results better time to solution without having to take that extra step.

InsideHPC: So you have an abundant resource there with the CPUs, right? Because they’re in servers, the cloud, and all kinds of things. But the GPUs is kind of a rare resource for accelerating workloads. So with this it looks to me in this case like CPUs can get a lot more work done in short order.

Luke Wilson: Yeah, absolutely. And that’s the end goal is if you want to make more breakthroughs. If you’re a research group, and you’re trying to get next scientific breakthrough, that time to solution matters. Say for example, you could get 5% better performance using an accelerator. If if it takes more time to get ahold of that resource, it may not be as efficient. And in this case, the CPUs themselves were actually far more efficient, because of the amount of image pre processing that had to be done to prepare these fMRI activation maps for classification through the neural network.

InsideHPC: This is fascinating research. Were there any kind of aha moments? I mean, things like, are all brains the same? Do they have the same locality for tasks? Or what kind of insights are they going to get from this?

Luke Wilson: Well, I’m I’m not a neuro scientist. So I’m not really sure what the results were in terms of if there were any real interesting biological insights that came about from this. Yeah. But I do know that, of course, every successful AI project begets two more AI projects. So the team at McGill is ready to kind of move on to the next step, which is looking at collecting more data on different tasks.

So if you’re really thinking about what’s next for this project, it’s they want to collect data on people playing video games, which I know sounds kind of kind of strange, but video games are one of the most complex tasks that that we perform. It requires coordination of a lot of different neurological capabilities. You’re doing strategy planning, motor control, and visual processing of what’s happening. So there’s a lot of different components that are all working in concert with one another. And this is why a lot of AI research is focused on playing games. Because playing games is the simplest, clearest analog we have to the more complex things that we eventually want AI to do in the real world, such as driving cars, flying planes, making real time decisions about the environment that we live in. We can simulate all of that through the playing of games. So what McGill wants to do is they want to have patients play games inside the MRI machine.

And I don’t know if you’ve ever cracked open the video game controller, but it’s usually full of magnetite visible metals, which don’t really play well inside of an MRI machine. Yeah, the researchers have actually already developed a specially designed a game controller that is made of plastic and non magnetic metals, so that patients can play video games while while laying down in the imager and not have the game controller ripped out of their hands by the MRI machine. So so that’s the next step.

InsideHPC: Well, look, you know, it’s really interesting to hear case studies like this out of the Dell HPC & AI Innovation Lab. You know, I’ve been there, and you’ve got this whole array of equipment that a lot of people might not have access to. And you’ve got a lot of people with know-how on how to apply it, such as cases like this.

Luke Wilson: Exactly we’ve got we’ve got a fairly large data center here. 13,000 square feet of data center space where we host multiple large scale evaluation clusters. Zenith is our flagship system. It’s the only system we have on the TOP500 list, I believe in the the June 2019 list. We came in at 392 or 393, somewhere in there, just over a Petaflop of peak performance. And, but we have other systems as well. We have a GPU accelerated system that gives customers and collaborators access to the latest NVIDIA GPUs.

And we now have a brand new AMD Rome system built on our C6525 platform. So its two socket Rome nodes are connected by the latest HDR InfiniBand from Mellanox. So there’s a lot of interesting systems in the lab that people can play with. We touch anything that ever goes into a data center. So we look at processors, we look at GPUs, we look at FPGAs from Intel and from Xilinx. So there’s a whole array of hardware we look at, for an array of different problems.

InsideHPC: Well, great, Luke, you know, this has been a very interesting case study. And I want to thank you for coming on the show today.

Luke Wilson: Thank you so much, Rich. I really appreciate it.

Download the MP3

Visit Dell EMC at SC19 booth #913 in Denver

Sign up for our insideHPC Newsletter