<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://www.panderson.me/feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.panderson.me/" rel="alternate" type="text/html" /><updated>2026-08-07T00:09:07+00:00</updated><id>https://www.panderson.me/feed.xml</id><title type="html">Peter Anderson</title><subtitle>Peter Anderson&apos;s personal website.</subtitle><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;&quot;bio-photo-2.jpg&quot;, &quot;bio&quot;=&gt;&quot;Head of Research, Applied AI at Balyasny Asset Management&quot;, &quot;location&quot;=&gt;&quot;Austin, Texas USA&quot;, &quot;email&quot;=&gt;&quot;peteanderson80@gmail.com&quot;, &quot;uri&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;github&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;&quot;panderson80&quot;, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;&quot;panderson_me&quot;, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;scholar&quot;=&gt;&quot;r5mA7Q8AAAAJ&quot;}</name><email>peteanderson80@gmail.com</email></author><entry><title type="html">White Collars Turn Gray: AI and the Repricing of Work</title><link href="https://www.panderson.me/white-collars-turn-gray-ai-and-the-repricing-of-work/" rel="alternate" type="text/html" title="White Collars Turn Gray: AI and the Repricing of Work" /><published>2026-04-05T00:00:00+00:00</published><updated>2026-04-05T00:00:00+00:00</updated><id>https://www.panderson.me/white-collars-turn-gray-ai-and-the-repricing-of-work</id><content type="html" xml:base="https://www.panderson.me/white-collars-turn-gray-ai-and-the-repricing-of-work/"><![CDATA[<p>What follows is a riff on Paul Krugman’s 1996 essay <a href="https://web.mit.edu/krugman/www/BACKWRD2.html">“White Collars Turn Blue”</a>, updated for the AI age and written, suitably enough, with a little help from AI.</p>

<hr />

<p>Looking back from 2126, what is most striking about the early age of artificial intelligence is not that people expected too much. It is that they expected the wrong things.</p>

<p>The mistake was not a failure to foresee machine intelligence. It was the assumption that it would arrive evenly. As AI moved into documents, screens, forms, code repositories, financial models, and slide decks, commentators and startup pitch decks kept imagining humanoid workers, autonomous delivery fleets, and robot service staff.</p>

<p>They had reasons. The technological dream of the industrial age had long been the conquest of manual toil. Steam replaced muscle. Electricity reorganized factories. Engines transformed transport. Machines steadily took over lifting, hauling, digging, moving, sorting, and making. So when artificial intelligence began to accelerate, many assumed it would complete that project.</p>

<p>By the late 2020s, however, an awkward fact had become impossible to ignore. The robots were still fumbling with door handles, while software was already absorbing a disconcerting share of the tasks on which professional prestige depended. The earliest and deepest effects of AI were felt wherever work took place inside screens, documents, forms, and systems that could be transmitted, recombined, and checked without ever touching the stubborn physical world.</p>

<p>It turned out that reality has friction, while language does not.</p>

<p>In retrospect, this should have been obvious. The physical world is full of edge cases. Floors are slippery. Pipes are hidden behind walls in unpredictable places. Human bodies are fragile, heavy, uncooperative, and legally protected. Customers are rude. Dogs bite. Weather changes. Battery life runs out. Stairs remain stairs. Every cheap household task that techno-optimists in 2026 imagined would soon be done by robots turned out to require a formidable combination of balance, dexterity, perception, judgment, social tolerance, and mechanical robustness. A machine that can write a competent legal memo in three seconds is not therefore able to carry a hot water heater down a narrow staircase without denting the wall, injuring someone, or getting sued.</p>

<p>Meanwhile, the white-collar world had quietly made itself legible to machines. Its work product already existed in digital form. Its intermediate steps were recorded in text. Its standards were increasingly measurable. Because so much of it lived inside software, it could be reproduced, tested, and iterated at extraordinary speed. Digital environments could be spun up endlessly. Tasks could be replayed. Performance could be scored. Iteration was cheap. Reality, by contrast, had to be encountered one stubborn instance at a time, or else simulated at great expense and with imperfect fidelity. Long before a robot could reliably clean a cluttered teenager’s bedroom, an AI system could summarize ten research reports, draft a board memo, produce six passable marketing concepts, compare contract versions, and write software that once would have occupied a senior engineer for days.</p>

<p>The surprise was not that AI could do these things. The surprise was how many career ladders had been built around doing them.</p>

<p>Junior analysts became investors by building spreadsheets and writing research notes. Associates became senior counsel by drafting, reviewing, and revising contracts. First-year engineers became senior ones by writing code, testing prototypes, producing technical drawings, and troubleshooting minor problems.</p>

<p>This was more than a labor-market disruption, because these were not merely useful tasks. They were also bound up with status. Advanced societies had come to treat certain kinds of cognitive performance as evidence of merit: verbal fluency, abstract reasoning, polished presentation, comfort with symbols. Parents urged children toward the professions, toward coding, finance, consulting, law, design, management, media, and administration: toward clean jobs in climate-controlled rooms, jobs in which one manipulated representations rather than objects.</p>

<p>And then, with cruel speed, these became among the first qualities to be cheaply replicated.</p>

<p>This did not mean that elite work disappeared. Far from it. Many of the winners of the AI transition were highly capable people. But their advantage was no longer just intelligence. It was leverage: control of systems, judgment, responsibility, taste, clients, capital, distribution, and trust at the point where machine output met reality. The analyst who merely produced a report was in trouble. The investor who knew which report mattered, and what to do about it, was not. The junior lawyer who assembled a brief lost bargaining power. The senior rainmaker who could calm a client, frame a negotiation, and stake a reputation did not. The coder who translated tickets into syntax saw that labor commoditized. The engineer who could define a product, orchestrate machines, and own a business problem prospered.</p>

<p>The premium shifted, then, not exactly from brains to brawn, but from performing cognitive labor to directing it.</p>

<p>Unfortunately, many people imagined a simple blue-collar renaissance. As white-collar labor cheapened, they assumed the economy would smoothly rebalance into trades and hands-on service work. But embodied occupations were constrained not only by demand, but by supply.</p>

<p>To say that a job cannot be automated is not the same as saying that anyone can do it.</p>

<p>A society that had spent decades preparing millions of people for sedentary, screen-based employment had quietly produced a workforce that was often neither physically prepared nor temperamentally suited for strenuous embodied work. The jobs that remained stubbornly human often required not merely a body, but a certain kind of body: strength, coordination, stamina, pain tolerance, spatial sense, willingness to wake early, willingness to work in heat or cold, willingness to confront dirt, disorder, risk, and demanding customers. They also required a certain kind of mind: patience with repetition, calm amid minor chaos, practical judgment under uncertainty, comfort with direct consequences. Many educated professionals who airily supposed they could “always become a plumber” were, in fact, no more suited to plumbing than plumbers were to writing strategy decks.</p>

<p>This is one reason the revaluation of embodied work was uneven. Not every manual job became lucrative. Many remained badly paid, because institutions are perfectly capable of undervaluing socially necessary work for long periods. But the subset of physical occupations that combined skill, certification, trust, local scarcity, and unpleasant realities did better than the old prestige hierarchy would have predicted. Good electricians, mechanics, lineworkers, heavy-equipment operators, carpenters, welders, plumbers, equipment installers, field-service technicians, and innumerable others who could do useful things in the real world discovered that they possessed something rare: capabilities that software could not instantly flood.</p>

<p>In the early AI age, embodied occupations offered something increasingly scarce: a tolerable bargain between effort and scarcity. A young person could acquire a skill that machines could not yet cheaply imitate, earn a living not immediately exposed to global digital competition, and accumulate practical knowledge, reputation, repeat customers, and savings. The most successful then converted that protection into a business, a client base, property, or some other form of ownership. The blue-collar revival was not about romanticism. It was about one of the last remaining ladders from labor into ownership.</p>

<p>This was especially true because globalization, which had exposed so much white-collar work to international competition, had less purchase here. You can outsource a spreadsheet model to another continent. You cannot outsource a burst pipe in your basement, the rewiring of a school, the installation of a heat pump that arrived at the loading dock this morning, or the care of a panicked elderly patient.</p>

<p>So the labor market of the late 2020s and 2030s began to display a pattern that would have seemed perverse to the age that preceded it. Some of the brightest graduates from prestigious institutions found themselves in crowded tournaments for a shrinking number of elite cognitive roles, while reliable, sober, physically capable people with unglamorous practical skills often enjoyed more immediate bargaining power. The educational ladder did not disappear, but it no longer carried the same universal promise. A higher degree remained useful as a positional signal and as preparation for certain high-end roles. It was simply no longer a secure claim on scarcity.</p>

<p>There were, of course, many denunciations of this state of affairs. Some insisted that the machines were not really intelligent, as if that settled the matter. But markets do not pay for metaphysics; they pay for substitution. If a machine can produce a first draft that is better than yours in one second, the philosophical question of whether it “understands” matters less than people hoped. Others predicted that robotics would soon equalize matters by displacing physical work as well. In the very long run this proved correct, as such predictions often do. But “soon” did a great deal of work. Decades passed in which software intelligence advanced much faster than practical machine embodiment. During those decades, the asymmetry reshaped education, class identity, migration, politics, and family strategy.</p>

<p>The real cultural shock of the AI age was that it unsettled a comforting belief. Advanced societies had come to assume that progress naturally favored abstract, intellectual, and physically clean forms of work. Instead, the first mature wave of AI made something awkwardly clear: some of the tasks most closely associated with education and status were also among the easiest to reproduce. What remained scarce was often messier, more local, more physical, more interpersonal, and less prestigious.</p>

<p>By 2126 this no longer seems shocking. We have had a century to absorb the lesson. The economy does not necessarily reward what a civilization finds most flattering about itself. It rewards what remains scarce under the technologies of the age.</p>

<p>And for a surprisingly long time after artificial intelligence became cheap and ubiquitous, machines found it easier to mimic the mental work we most admired than to manage the small physical competencies of everyday life.</p>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;&quot;bio-photo-2.jpg&quot;, &quot;bio&quot;=&gt;&quot;Head of Research, Applied AI at Balyasny Asset Management&quot;, &quot;location&quot;=&gt;&quot;Austin, Texas USA&quot;, &quot;email&quot;=&gt;&quot;peteanderson80@gmail.com&quot;, &quot;uri&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;github&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;&quot;panderson80&quot;, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;&quot;panderson_me&quot;, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;scholar&quot;=&gt;&quot;r5mA7Q8AAAAJ&quot;}</name><email>peteanderson80@gmail.com</email></author><summary type="html"><![CDATA[A riff on Paul Krugman's 1996 essay "White Collars Turn Blue," updated for the AI age.]]></summary></entry><entry><title type="html">Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering</title><link href="https://www.panderson.me/up-down-attention/" rel="alternate" type="text/html" title="Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering" /><published>2017-08-11T00:00:00+00:00</published><updated>2017-08-11T00:00:00+00:00</updated><id>https://www.panderson.me/up-down-attention</id><content type="html" xml:base="https://www.panderson.me/up-down-attention/"><![CDATA[<p><a href="/">Peter Anderson</a>, <a href="https://www.microsoft.com/en-us/research/people/xiaohe/">Xiaodong He</a>, <a href="https://www.linkedin.com/in/christopher-buehler-3656a29">Chris Buehler</a>, <a href="https://www.damienteney.info/">Damien Teney</a>, <a href="http://web.science.mq.edu.au/~mjohnson/">Mark Johnson</a>, <a href="http://users.cecs.anu.edu.au/~sgould/">Stephen Gould</a>, <a href="https://www.microsoft.com/en-us/research/people/leizhang/">Lei Zhang</a></p>

<p><strong>CVPR 2018 (Selected for Oral Presentation)</strong></p>

<p>Top-down visual attention mechanisms have been used extensively in image captioning and visual question answering (VQA) to enable deeper image understanding through fine-grained analysis and even multiple steps of reasoning. In this work, we propose a combined bottom-up and topdown attention mechanism that enables attention to be calculated at the level of objects and other salient image regions. This is the natural basis for attention to be considered. Within our approach, the bottom-up mechanism (based on Faster R-CNN) proposes image regions, each with an associated feature vector, while the top-down mechanism determines feature weightings. Applying this approach to image captioning, our results on the MSCOCO test server establish a new state-of-the-art for the task, improving the best published result in terms of CIDEr score from <strong>114.7</strong> to <strong>117.9</strong> and BLEU-4 from <strong>35.2</strong> to <strong>36.9</strong>. Demonstrating the broad applicability of the method, applying the same approach to VQA we obtain first place in the <a href="http://www.visualqa.org/workshop.html">2017 VQA Challenge</a>.</p>

<figure class="align-center"> 
  <figcaption>Caption: Two men playing frisbee in a dark field.</figcaption>
  <img src="https://www.panderson.me/images/20459.png" alt="" />
  <figcaption>Question: What color is illuminated on the traffic light? Answer left: green. Answer right: red.</figcaption>
  <img src="https://www.panderson.me/images/vqa_527379.png" alt="" style="max-width: 47%;" />
  <img src="https://www.panderson.me/images/vqa_27756.png" alt="" style="max-width: 47%;" />
</figure>

<h3 id="paper-and-code">Paper and Code</h3>

<p><a href="/images/1707.07998-up-down.pdf" class="btn btn--info">PDF</a>
<a href="https://github.com/peteanderson80/bottom-up-attention" class="btn btn--inverse">Features Code</a>
<a href="https://github.com/peteanderson80/Up-Down-Captioner" class="btn btn--inverse">Captioning Code</a>
<a href="/images/cvpr18_UpDown_poster.pdf" class="btn">Poster</a>
<a href="/images/CVPR-Up-Down-talk.pdf" class="btn">Slides</a></p>

<h3 id="reference">Reference</h3>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>@inproceedings{Anderson2017up-down,
  author = {Peter Anderson and Xiaodong He and Chris Buehler and Damien Teney and Mark Johnson and Stephen Gould and Lei Zhang},
  title = {Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering},
  booktitle={CVPR},
  year = {2018}
}
</code></pre></div></div>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;&quot;bio-photo-2.jpg&quot;, &quot;bio&quot;=&gt;&quot;Head of Research, Applied AI at Balyasny Asset Management&quot;, &quot;location&quot;=&gt;&quot;Austin, Texas USA&quot;, &quot;email&quot;=&gt;&quot;peteanderson80@gmail.com&quot;, &quot;uri&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;github&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;&quot;panderson80&quot;, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;&quot;panderson_me&quot;, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;scholar&quot;=&gt;&quot;r5mA7Q8AAAAJ&quot;}</name><email>peteanderson80@gmail.com</email></author><category term="2017" /><category term="CVPR" /><category term="visual question answering" /><category term="VQA" /><category term="image captioning" /><category term="VQA challenge" /><summary type="html"><![CDATA[Focusing attention at the level of objects and other salient image regions.]]></summary></entry><entry><title type="html">ECCV 2016</title><link href="https://www.panderson.me/ECCV2016/" rel="alternate" type="text/html" title="ECCV 2016" /><published>2016-10-26T00:00:00+00:00</published><updated>2016-10-26T00:00:00+00:00</updated><id>https://www.panderson.me/ECCV2016</id><content type="html" xml:base="https://www.panderson.me/ECCV2016/"><![CDATA[<h2 id="whats-missing-from-deep-learning">What’s Missing From Deep Learning?</h2>

<p>I recently had the privilege of attending <a href="http://www.eccv2016.org/">ECCV 2016</a> to present our <a href="http://panderson.me/spice/">SPICE</a> metric for image captioning. It was a great conference, with a friendly atmosphere and lots of exciting ideas presented. ANU and the <a href="http://roboticvision.org">ACRV</a> were well represented, so congrats to all authors and prizewinners. According to the organizers, deep learning was the single largest subject area at the conference, in terms of both submitted and accepted papers. With this field still enjoying enormous success, it’s interesting to ask ‘what’s missing from deep learning?’. Let’s dive into some of the conference highlights that touched on this issue.</p>

<h2 id="slow-inference-prior-knowledge-and-uncertainty">Slow Inference, Prior Knowledge and Uncertainty</h2>

<p><a href="https://www.ics.uci.edu/~welling/">Max Welling</a> gave a very interesting invited talk at the workshop on <a href="http://bravenewmotion.github.io/">Brave New Ideas For Motion Representations</a> co-organized by <a href="http://users.cecs.anu.edu.au/~basura/">Basura Fernando</a>. He outlined his view of some of the high-level challenges facing deep learning, such as:</p>

<ul>
  <li>Figuring out how to do slow inference, rather than just fast feed-forward inference. The distinction sounded a bit like the two mechanisms of the human mind described in <a href="https://www.amazon.com/Thinking-Fast-Slow-Daniel-Kahneman/dp/0374533555">Thinking, Fast and Slow</a>. For example, slow inference might mean reasoning about future actions or causal relations.</li>
  <li>How to encode prior knowledge — such as the laws of physics — into a deep model, for both data efficiency and robustness to domain shift.</li>
  <li>How to generate better uncertainty estimates, for real-world deployments and reinforcement learning.</li>
</ul>

<p>Many of these issues have also come up in discussions around the ACRV, so clearly there is a lot of interest in tackling these limitations.</p>

<h2 id="data">Data</h2>

<p>It’s well known that deep neural networks generally need large datasets to reach maximum performance. However, lot’s of data costs lots of money, especially if the data annotations are time consuming to produce, such as bounding boxes or image segmentations. In <a href="http://download.visinf.tu-darmstadt.de/data/from_games/">Playing for Data: Ground Truth from Computer Games</a>, the authors circumvent this issue by harvesting large-scale pixel-accurate segmentation ground truth data from GTA 5. The use of commercial video games overcomes the issue of populating open-source graphics simulators with 3D assets. The key idea in this paper is that, even without full access to the game content, objects can be segmented by intercepting their polygon meshes. Annotations can also be propagated across frames. Neat.</p>

<p>
    <img class="align-center" src="https://www.panderson.me/images/GTA.png" />
    <figcaption>Dense pixel labelling extracted from Grand Theft Auto V</figcaption>
</p>

<p>Also addressing the data issue, but in a completely different way, <a href="http://homepages.inf.ed.ac.uk/vferrari/">Vittorio Ferrari</a> gave an interesting keynote at the <a href="http://image-net.org/challenges/ilsvrc+coco2016">ImageNet and COCO Visual Recognition Workshop</a> on learning object detectors without bounding boxes. Suppose you have a fixed budget for data annotations. How should you spend it? It turns out that it is much more efficient to use human’s to verify bounding boxes, rather than to draw them.</p>

<h2 id="efficiency">Efficiency</h2>

<p>In recent years, we have seen binary codes used successfully for both low-level image descriptors (e.g. FREAK, BRIEF) and high-level semantic image representations (e.g. binary hashing for image retrieval). Binary codes have the advantage of maximising the information carried by each bit, achieving greater memory efficiency over floating point representations that waste bits describing the nth decimal place. So it’s really exciting to see binary codes finding their way into the intermediate layers of a neural net. In <a href="http://allenai.org/plato/xnornet/">XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks</a>, both the convolutional filters and the feature representations are binary, resulting in massive memory and computation savings. While the full binary XNOR-Net does sacrifice accuracy, it seems to be a very promising research direction.</p>

<p>
    <img class="align-center" src="https://www.panderson.me/images/plato_xnor.jpg" />
    <figcaption>XNOR-Net introduces binary representations to CNN filters and feature maps</figcaption>
</p>

<figure class="align-right"> 
  <img src="https://www.panderson.me/images/design-patterns.png" alt="" style="width: 80%; height: 80%;" />
  <figcaption>Design Patterns for Deep Learning?</figcaption>
</figure>

<h2 id="design-patterns">Design Patterns</h2>

<p>At a high level, it seems like a lot of papers were presenting new or modified deep learning architectures, demonstrating improved performance for particular tasks. My question is, which of these ideas will turn out to flexible, elegant and reusable designs? I look forward to the day when some of the giants in the field will catalog all this accumulated wisdom and experience into a concise book on <em>Deep Learning Design Patterns</em>, similar to the original <a href="https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612">classic book on reusable software engineering</a> by the ‘Gang of Four’.</p>

<p>For example: when should we use a neural attention mechanism? Or a memory network? What are the consequences and trade-offs of using it? What are the alternatives? I think the answers are still a few years away.</p>

<h2 id="network-description-language">Network Description Language</h2>

<p>Having spent a good week listening to ECCV presentations and reading papers, I can’t help but feel we have moved way beyond the capacity of current formats — block diagrams, supported by equations and text — to adequately describe the complex deep learning architectures that people are using now. For want of a better term, I would say the deep learning community is missing a Network Description Language (NDL) — a standard language to describe the structure and training / inference procedure of neural network architectures. Standardization may seem boring, but I suspect it would be incredibily handy if networks could be accurately described, and ultimately, designed, without being tied to a particular software framework such as Caffe or TensorFlow. Code releases are good, but given the number of different deep learning frameworks around — including proprietary ones — code releases are only part of the answer. I’m sure it’s no accident that the digital circuit design ecosystem revolves around two standard Hardware Description Languages, with a bunch of tools to synthesize to different implementation technologies. I bet we could borrow a lot of good ideas from existing data-flow languages such as VHDL and Verilog. There are already <a href="https://github.com/ethereon/caffe-tensorflow">tools</a> to convert nets between different deep learning frameworks, but no standard network description.</p>

<p>Edit: I hear you saying, isn’t Caffe’s <a href="https://developers.google.com/protocol-buffers/">protobuf</a> network specification equivalent to a Network Description Language? The answer is no. Caffe’s protobuf format references Caffe layers, so it is tied to the Caffe implementation. If I change the ‘Convolution’ layer in the Caffe source, the protobuf now means something different. The other issue with this approach is that there is no way to specify a new type of layer or network component in protobuf. Also, protobuf is way too verbose. For example, the <a href="https://github.com/KaimingHe/deep-residual-networks/blob/master/prototxt/ResNet-152-deploy.prototxt">152-layer Residual Net</a> is nearly 7000 lines. A good Network Description Language needs variables and loops to specify repeated structure in a much more concise way. I wonder if the big players like Facebook, Microsoft and Google would ever work together on a Network Description Language?</p>

<p>What else is missing from deep learning?</p>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;&quot;bio-photo-2.jpg&quot;, &quot;bio&quot;=&gt;&quot;Head of Research, Applied AI at Balyasny Asset Management&quot;, &quot;location&quot;=&gt;&quot;Austin, Texas USA&quot;, &quot;email&quot;=&gt;&quot;peteanderson80@gmail.com&quot;, &quot;uri&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;github&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;&quot;panderson80&quot;, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;&quot;panderson_me&quot;, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;scholar&quot;=&gt;&quot;r5mA7Q8AAAAJ&quot;}</name><email>peteanderson80@gmail.com</email></author><summary type="html"><![CDATA[What's missing from deep learning?]]></summary></entry><entry><title type="html">SPICE: Semantic Propositional Image Caption Evaluation</title><link href="https://www.panderson.me/spice/" rel="alternate" type="text/html" title="SPICE: Semantic Propositional Image Caption Evaluation" /><published>2016-07-25T00:00:00+00:00</published><updated>2016-07-25T00:00:00+00:00</updated><id>https://www.panderson.me/SPICE</id><content type="html" xml:base="https://www.panderson.me/spice/"><![CDATA[<p><a href="/">Peter Anderson</a>, <a href="http://users.cecs.anu.edu.au/~basura/">Basura Fernando</a>, <a href="http://web.science.mq.edu.au/~mjohnson/">Mark Johnson</a>, <a href="http://users.cecs.anu.edu.au/~sgould/">Stephen Gould</a></p>

<h2 id="abstract">Abstract</h2>
<p>There is considerable interest in the task of automatically generating image captions. However, evaluation is challenging. Existing automatic evaluation metrics are primarily sensitive to n-gram overlap, which is neither necessary nor sufficient for the task of simulating human judgment. In this paper we hypothesize that semantic propositional content is an important component of human caption evaluation, and propose a new automated caption evaluation metric defined over scene graphs coined <em>SPICE</em>. Evaluations indicate that SPICE captures human judgments over model-generated captions better than other automatic metrics (e.g., system-level correlation of 0.88 with human judgments on the MS COCO dataset, versus 0.43 for CIDEr and 0.53 for METEOR). Furthermore, SPICE can answer questions such as <em>which caption-generator best understands colors?</em> and <em>can caption-generators count?</em></p>

<figure class="align-center" style="max-width: 433px;"> 
  <img src="https://www.panderson.me/images/spice-concept.png" alt="" />
  <figcaption>Reference and candidate captions are mapped through dependency parse trees (top) to semantic scene graphs (right) - encoding the objects (red), attributes (green), and relations (blue) present. Caption quality is determined using an F-score calculated over tuples in the candidate and reference scene graphs</figcaption>
</figure>

<h2 id="eccv-2016-paper">ECCV 2016 Paper</h2>

<p class="notice--info"><a href="/images/SPICE.pdf">SPICE: Semantic Propositional Image Caption Evaluation.</a> Peter Anderson, Basura Fernando, Mark Johnson and Stephen Gould. In <em>Proceedings of the European Conference on Computer Vision (ECCV), Amsterdam, the Netherlands, October 2016</em>.</p>

<p><a href="/images/SPICE.pdf" class="btn btn--info">PDF</a>
<a href="/images/SPICE-poster.pdf" class="btn">Poster</a>
<a href="/images/SPICE-slides.pdf" class="btn">Slides</a></p>

<p>If reporting SPICE scores, please reference the SPICE paper:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>@inproceedings{spice2016,
  title     = {SPICE: Semantic Propositional Image Caption Evaluation},
  author    = {Peter Anderson and Basura Fernando and Mark Johnson and Stephen Gould},
  year      = {2016},
  booktitle = {ECCV}
}
</code></pre></div></div>

<h2 id="code">Code</h2>

<p>SPICE can be downloaded via the link below. This will download a 31 MB zip file containing (1) the SPICE code jar, (2) the libraries required to run SPICE (except for Stanford CoreNLP) and (3) documentation / source code for the project. Unzip this file, download Stanford CoreNLP using the included download script and you’re ready to use it.</p>

<p><a href="/images/SPICE-1.0.zip" class="btn btn--info">Download SPICE-1.0.zip</a></p>

<p>Alternatively, a fork of the Microsoft COCO caption evaluation code including SPICE is available on Github. 
SPICE source is also on Github.</p>

<p><a href="https://github.com/peteanderson80/coco-caption" class="btn btn--success">MS COCO evaluation code on Github</a> 
<a href="https://github.com/peteanderson80/SPICE" class="btn btn--inverse">SPICE source on Github</a></p>

<p class="notice--warning"><strong>A note on the magnitude of SPICE scores:</strong> On MS COCO, with 5 reference captions scores are typically in the range 0.15 - 0.20. With 40 reference captions, scores are typically in the range 0.03 - 0.07. This is the expected result due to the impact of the recall component of the metric. On the <a href="http://mscoco.org/dataset/#captions-leaderboard">MS COCO leaderboard</a>, C40 SPICE scores are multiplied by 10.</p>

<h2 id="examples">Examples</h2>

<p>To help illustrate how SPICE works, in the interactive figures below we illustrate SPICE score calculations for a near-state-of-the-art model on 100 example images drawn from the <a href="http://mscoco.org">Microsoft COCO captions</a> validation set. Scene graphs contain objects (red), attributes (green), and relations (blue). Correctly matched tuples are highlighted with a green border. Note that images have been randomly selected so some scene graph parsing and matching errors can be observed.</p>

<div class="row">
  <div class="text-center" style="padding-bottom: 9px;">
    <button class="btn btn--info btn-lg pull-left" onclick="step(-1)">Previous Example</button>
    <!--span id="image-title"></span-->
    <button class="btn btn--info btn-lg pull-right" onclick="step(1)">Next Example</button>
  </div>
</div>
<div style="clear: both;">
  <div style="width: 60%; float: left;">
    <h4>Reference captions</h4>
    <div id="ref-panel"></div>
  </div>
  <div style="width: 40%; float: left;">
    <img id="caption-img" class="img-thumbnail" style="margin-top: 20px; max-height: 200px;" />
  </div>
  <div style="width: 60%; float: left;">
    <h4>Reference scene graph</h4>
    <div id="reference"></div>
  </div>
  <div style="width: 40%; float: left;">
    <h4>Candidate caption &amp; scene graph</h4>
    <div>
      <p id="candidate-caption"></p>
      <div id="candidate"></div>
      <p id="candidate-scores"></p>
    </div>
  </div>
  <div style="clear: both;"></div>
</div>
<script src="https://www.panderson.me/images/scene-graph.js"></script>

<h2 id="microsoft-coco-evaluations">Microsoft COCO Evaluations</h2>

<h3 id="system-level-correlation">System-Level Correlation</h3>

<p>We are gratefull to the <a href="http://mscoco.org/people/">COCO Consortium</a> for agreeing to run our SPICE code against entries in the 2015 COCO Captioning Challenge. The plots below illustrate evaluation metrics vs. human judgements for the 15 entries, plus human-generated captions. Each data point represents a single model. Only SPICE (top left) scores human-generated captions significantly higher than challenge entries, which is consistent with human judgement. A full description of the human evaluation data and model references can be <a href="http://mscoco.org/dataset/#captions-leaderboard">found here</a>.</p>

<script type="text/javascript" src="https://d3js.org/d3.v3.min.js"></script>

<script type="text/javascript" src="https://mpld3.github.io/js/mpld3.v0.3git.min.js"></script>

<script src="https://www.panderson.me/images/coco.js"></script>

<p><span> Choose Evaluation: </span>
<button class="btn btn--info btn-lg" onclick="loadM1()">M1</button>
<button class="btn btn--info btn-lg" onclick="loadM2()">M2</button>
<button class="btn btn--info btn-lg" onclick="loadM3()">M3</button>
<button class="btn btn--info btn-lg" onclick="loadM4()">M4</button>
<button class="btn btn--info btn-lg" onclick="loadM5()">M5</button></p>

<figcaption id="evaluation-choice"></figcaption>
<div id="fig"></div>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;&quot;bio-photo-2.jpg&quot;, &quot;bio&quot;=&gt;&quot;Head of Research, Applied AI at Balyasny Asset Management&quot;, &quot;location&quot;=&gt;&quot;Austin, Texas USA&quot;, &quot;email&quot;=&gt;&quot;peteanderson80@gmail.com&quot;, &quot;uri&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;github&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;&quot;panderson80&quot;, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;&quot;panderson_me&quot;, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;scholar&quot;=&gt;&quot;r5mA7Q8AAAAJ&quot;}</name><email>peteanderson80@gmail.com</email></author><category term="ECCV" /><category term="European Conference on Computer Vision" /><category term="2016" /><category term="image captioning" /><category term="evaluation metric" /><category term="Microsoft COCO" /><summary type="html"><![CDATA[Evaluating image captions using scene graph tuples.]]></summary></entry><entry><title type="html">CVPR Highlights 2015</title><link href="https://www.panderson.me/CVPR-highlights-2015/" rel="alternate" type="text/html" title="CVPR Highlights 2015" /><published>2015-06-16T00:00:00+00:00</published><updated>2015-06-16T00:00:00+00:00</updated><id>https://www.panderson.me/CVPR-highlights-2015</id><content type="html" xml:base="https://www.panderson.me/CVPR-highlights-2015/"><![CDATA[<p>Having just returned from CVPR 2015 in Boston, the sense of deep learning excitement was palpable. <em>Getting in to the deep learning workshop was like boarding a Tokyo train.</em> So, in the spirit of <a href="http://cs.stanford.edu/people/karpathy/">Andrej Karpathy’s</a> excellent CVPR highlights (which I read as an undergrad), I decided to write up some of my own impressions from the conference. This is by no means a complete representation of all the great work that was there, just a few cool things that I noticed.</p>

<h2 id="picking-the-low-hanging-deep-fruit">Picking the low-hanging deep fruit</h2>
<p>Clearly there are still many new applications being found for convolutional neural networks (CNNs). In many problem domains, researcher’s are still reporting significant performance improvements when using CNNs to replace other discriminatively trained classifiers. One conference attendee I spoke to described this as “picking the low-hanging deep fruit”. In any case, citations of Alex Krizhevsky’s seminal <a href="http://papers.nips.cc/paper/4824-imagenet-classification-w">2012 NIPS paper</a> must be through the roof. In fact, in many papers this CNN architecture (‘AlexNet’) is still being reused, even though it is now 3 years old.</p>

<p>
  <img class="align-center" src="https://www.panderson.me/images/alexnet2012-small.png" alt="" />
  <figcaption>AlexNet.</figcaption>
</p>

<figure class="align-right"> 
  <img src="https://www.panderson.me/images/lena.jpg" alt="" />
  <figcaption>Lena</figcaption>
</figure>

<p>I am going to claim with no justification whatsoever, that this image of AlexNet was as common at CVPR this year as the Lena image. Given that AlexNet is a line drawing and Lena is a 1972 Playboy model, this would be quite an achievement.</p>

<h2 id="using-low-and-mid-level-cnn-activations">Using low and mid-level CNN activations</h2>

<p>One of the key developments in CNNs this year was the increasing use of feature representations that include low and mid-level convolution layer activations, not just output layer activations. The intution behind this approach seems to be that the while the output layers encode the ‘what’ of the problem, the lower layers encode the ‘where’. Certainly it seems that for tasks that include a localisation component, such as image segmentation, this looks like it is now the dominant approach. I counted at least four papers that, at least at first glance, appeared to contain variations on the this common idea, which was variously described as <a href="http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Hariharan_Hypercolumns_for_Object_2015_CVPR_paper.pdf">‘hypercolumns’</a>, <a href="http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Long_Fully_Convolutional_Networks_2015_CVPR_paper.pdf">‘deep jets’</a>, <a href="http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Mostajabi_Feedforward_Semantic_Segmentation_2015_CVPR_paper.pdf">‘zoom-out features’</a> and <a href="http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Liu_The_Treasure_Beneath_2015_CVPR_paper.pdf">‘the treasure beneath convolutional layers’</a>.</p>

<p>Looking at these papers side-by-side, the most fascinating observation for me is that the best performance on Pascal VOC 2012 semantic segmentation (which was ‘zoom-out features’ by a significant margin) was achieved using a network pre-trained on ImageNet, as-is. The base network was <em>not even fine-tuned on the task at hand.</em> This certainly illustrates the power of using activations from every layer of a CNN.</p>

<p>
  <img class="align-center" src="https://www.panderson.me/images/hypercolumn.jpg" alt="" />
  <figcaption>Hypercolumn used to combine coarse semantic information from output layers, with fine appearance information from lower layers</figcaption>
</p>

<h2 id="3d-from-a-single-image">3D from a single image</h2>

<p>This year again featured an oral on <a href="http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Kar_Category-Specific_Object_Reconstruction_2015_CVPR_paper.pdf">reconstructing 3D from a single image</a> (which was awarded best student paper) and also included a full day workshop on this task as well. It certainly seems that there is increasing attention focused on a challenge that only a few years ago would have been considered too difficult. Although current approaches require ground truth segmentation and keypoints for the training images, no doubt many researchers are working on relaxing these requirements. It will certainly be interesting to follow progress in this area.</p>

<p>
    <img class="align-center" src="https://www.panderson.me/images/3Dreconstruction.jpg" alt="" />
    <figcaption>Automatic object reconstruction from a single image.</figcaption>
</p>

<h2 id="visualising-deep-networks">Visualising deep networks</h2>

<p>Some interesting work is being done on how to visualise feature activations with deep networks. This paper (<a href="http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Mahendran_Understanding_Deep_Image_2015_CVPR_paper.pdf">Understanding Deep Image Representations by Inverting Them</a>) proposed an optimisation method to sample the space of possible reconstructions for a given set of feature activations. This approach then illustrates some of the photometric and geometric invariances captured at each layer of the net, as illustrated in the image below. I also caught a fascinating invited workshop talk by Antonio Torralba that touched on this topic as well. Check out this really nice <a href="http://people.csail.mit.edu/torralba/research/drawCNN/drawNet.html?path=imagenetCNN">interactive visualization of a deep network</a> by his group at MIT.</p>

<p>
    <img class="align-center" src="https://www.panderson.me/images/visualise.jpg" />
    <figcaption>Reconstruction of an input image from each layer of a CNN, illustrating photometric and geometric invariances at each level</figcaption>
</p>

<h2 id="merging-vision-and-language">Merging vision and language</h2>

<p>It seems like rapid progress is being made on the problem of generating natural language image descriptions (aka image captioning), for example this paper (<a href="http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Karpathy_Deep_Visual-Semantic_Alignments_2015_CVPR_paper.pdf">Deep Visual-Semantic Alignments for Generating Image Descriptions</a>). I’ve heard it argued around the lunch table that this isn’t an important problem. Whether that’s true or not, it’s certainly a good yardstick for progress. I’m certainly looking forward to downloading Andrej Karpathy’s <a href="http://cs.stanford.edu/people/karpathy/deepimagesent/">code from this paper</a> and testing it out.</p>
<p>
    <img class="align-center" src="https://www.panderson.me/images/captioning.jpg" />
    <figcaption>The image captioning problem</figcaption>
</p>

<h2 id="other-stuff">Other stuff</h2>

<ul>
  <li>
    <p>Yoshua Bengio’s <a href="http://www.iro.umontreal.ca/~bengioy/yoshua_en/talks.html">invited talk at the deep learning workshop</a> is chock-full of great references to some of the recent theory papers on deep learning.</p>
  </li>
  <li>
    <p>Raquel Urtasun and Marc Pollefeys gave some really interesting talks on graphical models (including combining with deep networks). If I can find links I’ll post them, and then try and understand them!</p>
  </li>
</ul>

<p>There were many other great talks and papers as well, this is just a sample. What else did I miss?</p>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;&quot;bio-photo-2.jpg&quot;, &quot;bio&quot;=&gt;&quot;Head of Research, Applied AI at Balyasny Asset Management&quot;, &quot;location&quot;=&gt;&quot;Austin, Texas USA&quot;, &quot;email&quot;=&gt;&quot;peteanderson80@gmail.com&quot;, &quot;uri&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;github&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;&quot;panderson80&quot;, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;&quot;panderson_me&quot;, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;scholar&quot;=&gt;&quot;r5mA7Q8AAAAJ&quot;}</name><email>peteanderson80@gmail.com</email></author><summary type="html"><![CDATA[Picking the low-hanging deep fruit.]]></summary></entry><entry><title type="html">Cheating Chess Players and Moravec’s Paradox</title><link href="https://www.panderson.me/chess-and-moravecs-paradox/" rel="alternate" type="text/html" title="Cheating Chess Players and Moravec’s Paradox" /><published>2015-04-27T00:00:00+00:00</published><updated>2015-04-27T00:00:00+00:00</updated><id>https://www.panderson.me/chess-and-moravecs-paradox</id><content type="html" xml:base="https://www.panderson.me/chess-and-moravecs-paradox/"><![CDATA[<p><img src="https://www.panderson.me/images/chess.jpg" alt="image-left" class="align-left" />
The world of chess is in crisis. A top player was caught <a href="http://www.washingtonpost.com/news/morning-mix/wp/2015/04/14/chess-grandmaster-caught-using-iphone-to-cheat-during-international-tournament/" target="_blank">cheating with their iPhone</a>
in a major international tournament. The player in question, the reigning champion of Georgia, 
had an iPhone wrapped in toilet paper hidden in the bathroom. Apparently, the cheat was running 
to the bathroom between moves to analyse the game in a chess app.</p>

<p>The episode is an interesting punctuation mark in the history of AI. 
It’s been almost 20 years now since a <a href="http://en.wikipedia.org/wiki/Deep_Blue_%28chess_computer%29" target="_blank">purpose-built computer first beat the world champion human</a>. 
That happened in 1996 - back then, Prince Charles and Diana, Princess of Wales were just getting divorced, Google didn’t exist, 
and the Macarena was topping the music charts. Now, phones are playing at an international standard. I guess 
that’s why chess is not considered to be AI anymore.</p>

<h3 id="moravecs-paradox">Moravec’s paradox</h3>
<p>The surprising thing for many people is that even with the huge advances that have taken place, 
we still can’t buy a robot that unpacks the dishwasher, or a washing machine that folds clothes. 
Several high profile researchers first observed this paradox in the late 1980’s, when they 
noticed that high-level reasoning was much easier to compute than low-level perception and motor skills.
Hans Moravec wrote:</p>

<blockquote>
  <p>…it is comparatively easy to make computers exhibit adult level performance on intelligence tests or playing checkers, 
and difficult or impossible to give them the skills of a one-year-old when it comes to perception and mobility.</p>
</blockquote>

<p>As a society, we’ve always associated ‘intelligence’ with things that educated humans find difficult, 
like playing chess. However, if ‘intelligence’ has anything to do with the capacity to perceive, retain and apply information,
then we are looking at it wrong. Abstract thought is easy, it’s perception and motor skills that are hard.
Humans just happen to be very good at perception and motor skills. As Moravec described it in 1988:</p>

<blockquote>
  <p>Encoded in the large, highly evolved sensory and motor portions of the human brain is a billion years 
of experience about the nature of the world and how to survive in it…
We are all prodigious olympians in perceptual and motor areas, so good that we make the difficult look easy. 
Abstract thought, though, is a new trick, perhaps less than 100 thousand years old. We have not yet mastered it. 
It is not all that intrinsically difficult; it just seems so when we do it.</p>
</blockquote>

<p>Sorry chess nerds, but in some very real sense, folding clothes or unpacking the dishwasher is actually 
much harder than playing chess. 
There’s no better demonstration of this than seeing a Grandmaster threatened by a phone.</p>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;&quot;bio-photo-2.jpg&quot;, &quot;bio&quot;=&gt;&quot;Head of Research, Applied AI at Balyasny Asset Management&quot;, &quot;location&quot;=&gt;&quot;Austin, Texas USA&quot;, &quot;email&quot;=&gt;&quot;peteanderson80@gmail.com&quot;, &quot;uri&quot;=&gt;nil, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quot;facebook&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;github&quot;=&gt;nil, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;&quot;panderson80&quot;, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;nil, &quot;steam&quot;=&gt;nil, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;&quot;panderson_me&quot;, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;scholar&quot;=&gt;&quot;r5mA7Q8AAAAJ&quot;}</name><email>peteanderson80@gmail.com</email></author><summary type="html"><![CDATA[If an iPhone can threaten a Grandmaster, why can't I get a robot to unpack the dishwasher?]]></summary></entry></feed>