<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Daniel D. Johnson (Posts about neural network)</title><link>https://www.danieldjohnson.com/</link><description></description><atom:link href="https://www.danieldjohnson.com/categories/neural-network.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2025 &lt;a href="mailto:daniel.dw.johnson@gmail.com"&gt;Daniel D. Johnson&lt;/a&gt; </copyright><lastBuildDate>Mon, 01 Sep 2025 09:09:05 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Introducing the GGT-NN</title><link>https://www.danieldjohnson.com/2016/11/06/introducing-the-ggt-nn/</link><dc:creator>Daniel D. Johnson</dc:creator><description>&lt;div&gt;&lt;p&gt;&lt;em&gt;Note to present-day readers: The use of the word "transformer" in this post, and in the corresponding ICLR paper, is unrelated to the now-popular Transformer architecture introduced in the paper "Attention is all you need", which was released shortly after this post.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Recently, I submitted a paper titled &lt;a href="https://www.danieldjohnson.com/files/2017learninggraphical.pdf"&gt;"Learning Graphical State Transitions"&lt;/a&gt; to the &lt;a href="http://www.iclr.cc/doku.php?id=ICLR2017:main"&gt;ICLR&lt;/a&gt; conference. &lt;em&gt;(Update: My paper was accepted! I will be giving an oral presentation at ICLR 2017 in Toulon, France. See &lt;a href="https://www.danieldjohnson.com/2017/02/23/exciting-news-papers-accepted/"&gt;here&lt;/a&gt; for more details.)&lt;/em&gt; In it, I describe a new type of neural network architecture, called a Gated Graph Transformer Neural Network, that is designed to use graphs as an internal state. I demonstrate its performance on the &lt;a href="https://arxiv.org/abs/1502.05698"&gt;bAbI tasks&lt;/a&gt; as well as on some other tasks with complex rules. While the main technical details are provided in the paper, I figured it would be worthwhile to describe the motivation and basic ideas here.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: Before I get too far into this post, if you have read my paper and are interested in replicating or extending my experiments, the code for my model is available on &lt;a href="https://github.com/danieldjohnson/gated-graph-transformer-network"&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Another thing that I've noticed is that almost all of the papers on machine learning are about successes. This is an example of an overall trend in science to &lt;a href="https://en.wikipedia.org/wiki/Publication_bias"&gt;focus on the positive results&lt;/a&gt;, since they are the most interesting. But it can also be very useful to discuss the negative results as well. Learning what doesn't work is in some ways just as important as learning what does, and can save others from repeating the same mistakes. During my development of the GGT-NN, I had multiple iterations of the model, which all failed to learn anything interesting. The version of the model that worked was thus a product of an extended cycle of trial and error. In this post I will try to describe the failed models as well, and give my speculative theories for why they may not have been as successful.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.danieldjohnson.com/2016/11/06/introducing-the-ggt-nn/"&gt;Read more…&lt;/a&gt; (17 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>graph</category><category>Harvey Mudd College</category><category>math</category><category>neural network</category><category>project writeup</category><category>python</category><category>research</category><category>Theano</category><guid>https://www.danieldjohnson.com/2016/11/06/introducing-the-ggt-nn/</guid><pubDate>Sun, 06 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Summer Research on the HMC Intelligent Music Software Team</title><link>https://www.danieldjohnson.com/2016/08/08/summer-research-on-the-hmc-intelligent-music-software-team/</link><dc:creator>Daniel D. Johnson</dc:creator><description>&lt;div&gt;&lt;p&gt;This summer, I had the chance to do research at Mudd as part of the Intelligent Music Software team. Every year, under the advisement of Prof. Robert Keller, members of the Intelligent Music Software team work on computational jazz improvisation, usually in connection with the &lt;a href="https://www.cs.hmc.edu/~keller/jazz/improvisor/"&gt;Impro-Visor&lt;/a&gt; software tool. Currently, Impro-Visor uses a grammar-based generation approach for most of its generation ability. The goal this summer was to try to integrate neural networks into the generation process.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.danieldjohnson.com/2016/08/08/summer-research-on-the-hmc-intelligent-music-software-team/"&gt;Read more…&lt;/a&gt; (15 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>Harvey Mudd College</category><category>math</category><category>music</category><category>neural network</category><category>project writeup</category><category>python</category><category>research</category><category>Theano</category><guid>https://www.danieldjohnson.com/2016/08/08/summer-research-on-the-hmc-intelligent-music-software-team/</guid><pubDate>Mon, 08 Aug 2016 00:00:00 GMT</pubDate></item><item><title>Reading an Artificial Mind: Visualizing the Neural Net</title><link>https://www.danieldjohnson.com/2015/09/15/reading-an-artificial-mind-visualizing-the-neural-net/</link><dc:creator>Daniel D. Johnson</dc:creator><description>&lt;div&gt;&lt;p&gt;In my previous post, I described my music-composing neural network. In some of the time since then, I extracted some interesting images to visualize the neural network's internal state. And this is what I got:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.danieldjohnson.com/media/uploads/2015/09/img3.png"&gt;&lt;img src="https://www.danieldjohnson.com/media/uploads/2015/09/img3.png" alt="Network Snapshot" class="aligncenter"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.danieldjohnson.com/2015/09/15/reading-an-artificial-mind-visualizing-the-neural-net/"&gt;Read more…&lt;/a&gt; (8 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>art</category><category>composition</category><category>music</category><category>neural network</category><category>Uncategorized</category><category>visualization</category><guid>https://www.danieldjohnson.com/2015/09/15/reading-an-artificial-mind-visualizing-the-neural-net/</guid><pubDate>Tue, 15 Sep 2015 19:51:51 GMT</pubDate></item><item><title>Composing Music With Recurrent Neural Networks</title><link>https://www.danieldjohnson.com/2015/08/03/composing-music-with-recurrent-neural-networks/</link><dc:creator>Daniel D. Johnson</dc:creator><description>&lt;div&gt;&lt;p&gt;&lt;em&gt;(Update: A paper based on this work has been accepted at EvoMusArt 2017! See &lt;a href="https://www.danieldjohnson.com/2017/02/23/exciting-news-papers-accepted.html"&gt;here&lt;/a&gt; for more details.)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It's hard not to be blown away by the surprising power of neural networks these days. With enough training, so called "deep neural networks", with many nodes and hidden layers, can do impressively well on modeling and predicting all kinds of data. (If you don't know what I'm talking about, I recommend reading about &lt;a href="https://karpathy.github.io/2015/05/21/rnn-effectiveness/"&gt;recurrent character-level language models&lt;/a&gt;, &lt;a href="http://googleresearch.blogspot.ch/2015/06/inceptionism-going-deeper-into-neural.html"&gt;Google Deep Dream&lt;/a&gt;, and &lt;a href="http://arxiv.org/pdf/1410.5401v2.pdf"&gt;neural Turing machines&lt;/a&gt;. Very cool stuff!) Now seems like as good a time as ever to experiment with what a neural network can do.&lt;/p&gt;
&lt;p&gt;For a while now, I've been floating around vague ideas about writing a program to compose music. My original idea was based on a fractal decomposition of time and some sort of repetition mechanism, but after reading more about neural networks, I decided that they would be a better fit. So a few weeks ago, I got to work designing my network. And after training for a while, I am happy to report remarkable success!&lt;/p&gt;
&lt;p&gt;Here's a taste of things to come:
&lt;audio controls&gt;
    &lt;source src="https://www.danieldjohnson.com/files/nnet_music_2.mp3" type="audio/mpeg"&gt;
&lt;/source&gt;&lt;/audio&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.danieldjohnson.com/2015/08/03/composing-music-with-recurrent-neural-networks/"&gt;Read more…&lt;/a&gt; (24 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>composition</category><category>music</category><category>neural network</category><category>project writeup</category><category>python</category><category>Theano</category><category>Uncategorized</category><guid>https://www.danieldjohnson.com/2015/08/03/composing-music-with-recurrent-neural-networks/</guid><pubDate>Mon, 03 Aug 2015 00:53:44 GMT</pubDate></item></channel></rss>