Showing posts from September, 2020

HTC Seminar Series #14: Deep Learning State of the Art (2020)

  Today's HTC Seminar presentation is on the State of the Art of Deep Learning in 2020.  The talk is given by MIT's Lex Fridman.  It covers the most recent research and developments in deep learning neural networks.  It highlights machine learning and AI innovations in academia, industry, and society in general.   Because the field is just exploding with interesting new developments the talk is somewhat long, so that it can cover all of the many interesting new things happening in the field.  Feel free to digest different sections of it with breaks in between if needed. Some deep learning topics you may be interested in might not be covered in the 2020 state of the art talk, because they were covered in previous years.  For example, GAN's and some other interesting deep learning topics are covered in the 2019 Deep Learning State of the Art talk .

About Fastai - why is it so great?

If you took a look at the 'HTC Education Series: Getting Started with Deep Learning' post on monday, you will have noticed that we're building the course on top of fastai and the 2020 Part 1 fastai Deep Learning course lecture series, with additional extra material provided by HTC. So why did we pick fastai for our course? Originally we intended to build the course around python coding using Keras .  And Keras is certainly great, but nowhere near as great as fastai.  So right away we switch from Keras to PyTorch under the hood, with fastai on top of PyTorch (hiding it while still making it accessible if you need to make specific calls to it's libraries) . Fastai is designed around 2 main goals, to try to be easy to comprehend to allow you to be extremely productive, but also to be extensible if you want to do that.  We'll talk more about what that means in a minute, but first let's look at some sample code for building and training a complete deep learning neu

HTC Education Series: Getting Started with Deep Learning - Lesson 1

Part of the goal here at HTC is to put together educational learning resources for Maui residents (or anyone else anywhere on our small planet who wants to follow along on the HTC blog) .  To help people get up to speed on deep learning based AI systems, we want to put together educational resources for anyone to learn about Deep Learning Neural Networks.  The goal is to do this so that anyone can dive in, follow the course, and come out of it with enough knowledge to actually do something useful with deep learning.   We want to make the course accessible to everyone, so don't worry if you don't have a college degree,  or some kind of intensive math or engineering or computer science background, because you really don't need any of that to take this course.   Note that this is very different from the conventional university model, where you would be required to take years of advanced math in a highly technical curriculum before they got around to actually teaching you about

Deep Algebra for Deep Beats

ArsTechnica has a great article this weekend on various people who use live coding to make live music.  You can read the article here . I thought it would be fun to turn people on to it, and to talk a little bit about the live coding music movement. I have to be honest, when you think about live music, watching someone on stage live programming it is not the first thing that comes to mind.  At least for most people.  For the people directly in the movement, it’s just how they approach it. The live coding music movement has been around in some form for a long time.  In the beginning, it was really only associated with what I will call stereotypical academic computer music.  But over the years, it has really expanded, and now a wide variety of different people in vastly different musical generes are experimenting and embracing it. The article points out a number of different software packages that different people use.  I love how Carl Stone is shown touring with an old Mac SE.  Which he

Deep Learning and Computer Graphics

 Our previous mini review of some selected Siggraph papers from this years Siggraph conference really brought home the message that AI research in deep learning is really driving new developments in computer graphics rendering. We going to continue that theme in this post by checking out 2 Nvidia podcasts on this topic. Augmenting the generation of computer graphics using deep learning networks. The first is a talk with Nvidia’s David Luebke, who is vice president of graphics research at Nvidia.  David talks about a lot of fascinating state of the art topics, including how deep learning is speeding up the real time render pipeline for generating computer graphics, the use of GAns (generative adversarial networks) to directly synthesize graphical imagery, and augmented reality displays, including using deep learning to help build holographic displays for AR. You can access the podcast here . The second is a talk with Nvidia’s Arron Lefohn.  Arron continues the discussion on how deep lea

Building recurrent neural networks in Keras Using Textgenrnn

Let's continue our exploration of generating text using recurrent neural networks. In our #9 HTC Seminar Series lecture and accompanying online tutorial, Andrej Karpathy explained all about how to build and train recurrent deep learning neural networks.   The HTC post for #9 seminar includes links to the  tutorial that Andrej put together for people who were interested in implementing his work.  He used Torch in that tutorial, which matches up to the time period the work was done in, but is dated at this point as a platform to be working with for experiments. Bur fear not, there are better more modern approaches available for experimenting with.  We will cover them below.  So if you are just getting started i would read through all of the Karpathy tutorial material, but then move on to the work below for a more modern approach you can run directly in a Colab notebook in your browser to actually experiment with. Max Woolf read through Karpathy's tutorials, and then put toget

Generative Adversarial Networks

Generative Adversarial Networks, or GAN for short, are worth getting to know more about.  Gan's are a particularly hot topic in recent deep learning neural network research.   They are a special kind of deep learning neural net that is composed of 2 components. One side of the net is a generative network. The other adversarial side look at what the generator half output and decides if it is good output or not. So there is a competition going on between the 2 sides that forces both of them to get better at what they do. Better at generating and better at evaluating the reliability of what was generated. Fans of the HTC blog are probably waiting for me to bring up Karl Sim’s work on competing ecologies of robots.  And it’s true that the basic idea behind how a GAN works (competitive ecology) has been around for a while.  We recently had a talk by Darwinian biologist Richard Dawkins in our weekly seminar series. Richard discusses the properties of competitive Darwinian ecologies in m

Colab Notebooks

As we have discussed before , Jupiter Notebooks are interactive notebook environments for creating and running code that also allow for the integration of structured text and graphics in a smart rich media document. Colab notebooks are Jupiter notebooks that are hosted in the cloud by Google.  They are a great environment for working with Python code in a browser.  They also allow for access to GPU processing hosted on the Google cloud at no cost to the user.   The caveat being that you are competing for a fixed pool of cloud resource along with everyone else currently using Colab around the world, which means those GPU resources may or may not actually be available when you choose to run your code. We plan on using Colab notebooks in some of our future posts, since they provide the best current environment for running Python code, especially Python based deep learning neural net code. Many of the algorithms or topics we will be discussing will come with Colab books that show off the

Siggraph 2020 Roundup

Like everything this year, the yearly grand poobah of computer graphics conferences, Siggraph, was held virtually.  Including a virtual exhibition hall.  As a previous exhibitor at Siggraph for many years in the past, my immediate thoughts were whether exhibition management would charge you for the chair you were sitting in at your computer while the virtual exhibition was running. The technical paper sessions are the real meat of this particular conference.  If you look at the history of computer graphics research, you're going to be looking at a trail of Siggraph technical papers stretching from the present all the way back to the very first one held in Boulder Colorado in 1974. Of course some historians feel that the first real Siggraph was the one held in San Jose in 1977, since it was the first to include commercial exhibits in the mix along with the usual academic conference stuff.  And Siggraph always has successfully married academic research along with commercial appli

HTC Seminar #13: Touch, Code, Play: Creating hybrid physical-digital music instruments

Today's HTC seminar is from Loop 2018.  Hosted by Peter Kirn from CDM, three different artistic designers present their work creating alternative musical controllers.  Learn more about custom electronic music instrument creation. This years physical loop event was canceled due to the global viral pandemic. There was a 'stay at home' loop  event in it's place.

Nvidia's new 3080 GPU Architecture

It's time again to head back to the kitchen, to the covid-19 era presentation kitchen of Nvidia CEO Jensen Huang, still wearing that trademark leather jacket in the middle of August.  Time for the Nvidia GeForce RTX 30 Series official launch event. These events are designed to get you excited, and this one delivers the goods.  28 Billion Transistors, 238 Tensor-TFLOPS, on their new 2nd generation RTX GPU chip.  The RTX 3080 has 10,496 CUDA cores on it (wow).  8K resolution 3D games running at 60 fps (wow).  Big fan, yep. The presentation demoes all kinds of different applications that take advantage of the brute compute power inside of these new GeForce RTX cards.  Real time ray tracing, GAN neural nets, video to 3D modeling, background image and noise removal for enhanced streaming video, etc. Also something called the Nvidia Omniverse Machinima, that appears to let you storyboard and then produce complete photo-realistic videos for video game storytelling using video game a