Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Developing Neural Networks Using Visual Studio


Right click “Save as…”

Slides (view online)
+My schedule - My schedule

A neural network is an artificial intelligence technique that is based on biological synapses and neurons. Neural networks can be used to solve difficult or impossible problems such as predicting which team will win the Super Bowl or whether a company's stock price will go up or down. In a short and informal session, Dr. James McCaffrey, from Microsoft Research in Redmond, WA, will describe exactly what neural networks are, explain the types of problems that can be solved using neural networks, and demonstrate how to create neural networks from scratch using Visual Studio. You will leave this session with an in-depth understanding of neural networks and get some early information about a related, soon-to-be-released Microsoft product.

For more information, check out this course on Microsoft Virtual Academy:

Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • James McCaffreyJames McCaffrey

    (I am the speaker) Last year I gave a talk at the 2013 Build conference, titled "Developing Neural Networks using Visual Studio" -- the same title as this year's talk. But the content will be different this year. After describing the basics of neural networks (as I did last year), I'll describe a few issues that people asked me about after last year's talk. These include explaining what the heck "cross-entropy error" is and why it's important, something called "drop-out training" and how to actually code it, and why "deep neural networks" are the current hot topic in research.

    One of my demos this year will show you speech recognition -- a very cool application of neural networks.

    I'll give you a hint at some exciting projects MS is working on related to neural networks. Hope to see you!

  • Really looking for your talk, thanks !

  • LiquidBoyLiquidBoy Silverlight

    Any chance you'll mention the "Context Engine" ?! or possibly discuss the DNN's you have powering the bing servers ?! :)

  • James McCaffreyJames McCaffrey

    (speaker reply to LiquidBoy) - I'm not sure what the Context Engine is (so I guess that means I won't be talking about it). And even though I work at Microsoft, and worked on Bing (many years ago), I don't have current information about how DNNs are being used by Bing. But I'll be happy to speculate about things like advertising relevance and click-through predictions, and so on. JM

  • James McCaffreyJames McCaffrey

    (from the speaker) I just watched the 3-hour mega-keynote(s) on the opening day. Too long for my taste. The first speaker (didn't catch his name - hipster look with hair over face) did a cool demo of Cortana, the speech-enabled AI woman's voice thing. I like demos, but I like code better. In my talk on Friday I'll do a short speech demo - and show the code! It will give you a hint of what goes on behind the scenes of Cortana. There's a ton of energy here at Build so far. Looking forward to some talks.

  • James McCaffreyJames McCaffrey

    (from speaker) Room Change Alert. My talk on neural networks has been moved from room 3024 to 3018. The date and time (Friday, 10:30 - 11:30) are the same. The conference organizers will switch room sizes when they guess a talk will have more or fewer people attending than originally estimated. Not sure if the new room is larger or smaller . .

  • James McCaffreyJames McCaffrey

    (from the speaker) My talk at 10:30 today (Friday morning) will include my answer to Cortana (the female phone AI thing demo'ed by MS VP Joe Belfiore on Wednesday morning).

  • If you are demoing Speech Recognition, I am curios as to whether or not is can be confirmed that Audio used for training is 22Khz ?  If this is true then why is that, because the durations of many phonetic terms or phonemes that make up syllables and then make up our words, are much to short for the 11Khz achievable sampling rate that represents these phones in an audio stream recording. "T" "D" and "C" sounds are perfect phoneme examples of samples that will hardly differ in a 22Khz recording so why do we not use 44.1Khz or 48Khz recordings for Speech recognition ?

  • Alex KohlerAlex Kohler

    Best Session on whole Build2014.
    The only speaker that treated engeneers as engeneers.
    Funny. Interessting and One of the best guys on Stage.
    Gz Alex

  • SavitaSavita

    First talk that I was really fascinated and not to mention awake the whole time. I really look forward to trying out cortina :)
    Please keep the humor, that really makes the talk even better.

    PS: I am a girl in the tech world and far far away from data mining but was really loving the talk :), so please do have more of these in future build and MS conferences.

  • James McCaffreyJames McCaffrey

    (speaker response to Dan6040) I don't know what the audio rate was when training occurred. The demo I gave used the MS Speech Platform 11 which has been totally pre-trained and is immediately ready for use. When I get back to Redmond, I'll ask around and see if anyone knows how the recognition in Microsoft.Speech.dll was performed.

  • James McCaffreyJames McCaffrey

    (speaker response to Alex Kohler) Thanks for the nice words Alex. Like you, I most enjoy the Build talks that are aimed at developers, as opposed to talks that are aimed at marketing or management people.

  • James McCaffreyJames McCaffrey

    (speaker response to Savita) Thank you for the compliment about the talk. I'm especially pleased that someone like you, who isn't directly involved with data science, found the talk interesting. The product I briefly sort of mentioned will allow many more people to use machine learning.

  • Great talk, Thanks ! Any thought on "other" neural network members in the family then perception based? And if you can share your two cents on initiatives like Jeff Hawkins with HTM with Numenta or Ray Kurzweil now publishing and going with Google to tackle that problem space ?

    (I do realize this could become a long answer, thanks for anything you give as response)
  • James McCaffreyJames McCaffrey

    (speaker response to PatB) I haven't worked much with "cousins to neural networks" such as Hierarchical Temporal Memory networks, convolutional neural networks, and deep belief networks, so I'm no expert. It's my hunch that these models have great promise for particular problems. For example, convolutional neural networks seem to work very well for visual pattern recognition, but not so well for traditional problems. And if a guy like Kurzweil feels that some form of hierarchical neural network can solve natural language problems, then I'm going to pretty much believe him.

  • Wow thanks for the reply, love the humor!
  • I loved last year's session! It was very informative while being relatively short for such a complicated topic, and it was also very nicely explained and even humorous.

    Looking forward to watching the new one online!

  • Thank you for a great session, I hope you have a session at build 2015 or earlier

  • James McCaffreyJames McCaffrey

    (speaker reply to lesderid) Thank you. The video recording of this year's talk was just published. I tried to add new information without losing those people in the audience who were new to neural networks.

  • James McCaffreyJames McCaffrey

    (speaker reply to Bluebase) Thank you; glad you enjoyed the session. I'd love to speak again next year and describe machine learning from a developer's point of view. And, I hope the conference organizers will add one or two other speakers from Microsoft Research -- some of the things we are working on are extremely cool and interesting.

  • Thank you for the talk. It was very nice (as in the past year). The tools from your future vision are already here. One of them is LIONsolver, here is a page with a demo videos - http://lionsolver.com/info/videos/

  • This session rocked! Thanks for first clearing the air and then diving right into a serious technical topic instead of the usual bs.

  • James McCaffreyJames McCaffrey

    (speaker reply to Sergey_Tihon) I wasn't aware of the LIONsolver company. It looks like they focus on machine learning in the medical data area. There are several such companies in the Seattle region. I've always been a bit leery of applying ML to anything involving humans -- but that's just me. All the experts seem to believe that ML applied to the health industry can be a huge business.

  • James McCaffreyJames McCaffrey

    (speaker reply to MarkRoddy) Thanks for the nice words. Sometimes I think some speakers take their topics a bit too seriously -- I think most of us developers (as opposed to the management people at Build) really love our work and aren't afraid to make fun of ourselves.

  • There are good tools for classical Artificial Neuronal Networks in .NET: 

    • Encog 
    • Fast Artificial Neural Network Library
    • Neuron.NET
    • AForge.NET 

    What .NET is missing is a port for Spiking Neuronal Networks 

    • PyNN 
    • NEURON
    • nest::
    • Parallel neural CIrcuit SIMulator
    • BRIAN spiking neural network simulator

    would be cool if someone would take the time to port any of them (preferably NEURON or nest:: ) to .NET. 

  • James McCaffreyJames McCaffrey

    (speaker reply to JohannDirry) I absolutely agree with you. One attendee at Build told me that in his opinion, Microsoft did not have a good reputation in the ML community with regards to creating code and systems that people can actually use, including features like spiking neural networks. I'd have to agree to some extent with that statement. But, I think you and that commenter will like what you see being released by Microsoft to address this, sooner rather than later.

  • Great session !! I loved that this session was not a glossy, high level overview of features in another product.  So much of the week felt like a giant infomercial for 8.1 and Azure.  This was a session that assumed we were all intelligent technology professionals and then followed through with a deeply technical discussion of some fascinating material.  My mind was racing the whole hour with possibilities for practical applications in my field.  Combined with the Mr. McCaffery's passion and familiarity with the subject, this may have been the fastest hour of the whole week.  I will be on the hunt for the presenters published work and looking forward to see what he will speak about at next year's event.  It must have been hard not to give this space to another Azure or Windows Phone speaker, but I am so very glad you let us share in Mr. Mcaffery's wit and passion for neural networks.

  • James McCaffreyJames McCaffrey

    (speaker reply to jmichener) Thank you for the compliments about the neural network talk. I've been waging a campaign to convince conference organizers that software developers like you and me (and apparently lots of others like us) want to hear more about machine learning topics and less about non-technical topics.

  • great talk - I laughed, I cried! It was better than cats? Good developer intro to neural networks

    - thanks

  • (speaker reply to ticktock) Thank you for the nice words. I didn't know the reference to 'Cats' but a quick Goog . . . er, I mean Bing, explained it to me. By the way, my 'klaatu barada nikto' was from the 1951 sci-fi movie The Day the Earth Stood Still. Cheers, JM

  • Great Talk! Last years talk was also a great session. Thanks.  I'd like to hear more about why you believe Genetic Algorithms and Particle Swarm Optimization are best.  Do you have any other published articles or books?  Any way to get onto a beta list for the "soon to be released" vision of the future stuff?

  • James McCaffreyJames McCaffrey

    (speaker reply to TimHanna) Glad you liked the Build talk. The short answer to the reason why I prefer PSO (and to a lesser extent GA) over BP for training is that for the problems I work on, PSO just works better. A big problem with BP is fine-tuning the learning rate parameter and the momentum parameter. Even minor changes create huge differences. PSO has free parameters too (cognitive weight, social weight, number particles, but seems to be much less sensitive. I have published a set of articles -- search Visual Studio Magazine Neural Network Lab. The "vision of the future" product is very exciting but there's no beta list at this time. I'm sure there will be lots of publicity, especially in MSDN Magazine "very soon" (sorry can't be more specific).

  • Igor VaschukIgor Vaschuk

    Having problems executing SpeechDemo:<br>FileNotFoundException was unhandled<br>Exception from HRESULT: 0x8004503A<br><br>Tried on two machines, one with Win7 with x64 and another with Win8.1 x86 binaries installed.

  • James McCaffreyJames McCaffrey

    (speaker reply to Igor Vaschuck) Sadly, there are many things that can go wrong with speech recognition. This COM exception probably means one or more of the four required packages didn't get installed properly. I suggest you uninstall all packages and try again (I've been down this route myself many times). Also, if you install the x64 (which I absolutely do not recommend), you'll have to adjust the Build properties in VS to uncheck the prefer 32-bit option. I wrote a blog post that might help: http://jamesmccaffrey.wordpress.com/2013/10/05/quick-start-for-microsoft-speech-recognition-with-c/ but that post doesn't talk about the speech synthesis library needed.

  • Bohdan SzymanikBohdan Szymanik

    Great presentation but your pronounciation of weka is in need of help:)

    A weka is a new zealand bird that runs around on the ground and tends to steal anything it finds curious. The name is maori and you pronounce it like 'whe - ka' with the e said more like 'ere' in 'where' :)

  • James McCaffreyJames McCaffrey

    (speaker reply to Bohdan) Thank you for the compliment on the talk and the guidance on the pronunciation of Weka. I actually found a recording of the pronunciation at dictionary.com -- I wasn't very close with my attempt.

  • VinothVinoth

    Great session. Loved the humor. And the content of course. Quite different from many of the other sessions. Your session had real code, real science, real fun, and absolutely no marketing! Wouldn't mind seeing/listening to the 'song-and-dance-warmup-sequence' again. But the video here starts right after that :-)

  • VinothVinoth

    Oh yeah, located the right link! Love it :)

  • James McCaffreyJames McCaffrey

    (speaker reply to Vinoth) Thank you for the nice compliment. I try to give talks that I'd enjoy listening to, which means exactly what you said - science plus code plus a bit of fun.

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.