<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Associative memories</title>
	<atom:link href="http://www.foresight.org/nanodot/?feed=rss2&#038;p=3728" rel="self" type="application/rss+xml" />
	<link>http://www.foresight.org/nanodot/?p=3728</link>
	<description>examining transformative technology</description>
	<lastBuildDate>Wed, 03 Apr 2013 18:23:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
	<item>
		<title>By: miron</title>
		<link>http://www.foresight.org/nanodot/?p=3728#comment-866583</link>
		<dc:creator>miron</dc:creator>
		<pubDate>Thu, 11 Feb 2010 19:58:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.foresight.org/nanodot/?p=3728#comment-866583</guid>
		<description>@TheRadicalModerate - There are interconnects available at around 1e10 to 1e11 bytes per second.  This includes AMD HyperTransport and &lt;a href=&quot;http://en.wikipedia.org/wiki/AMD_Horus&quot; rel=&quot;nofollow&quot;&gt;AMD Horus&lt;/a&gt;.  With 10,000 chips per system and 20,000 buses you would be at about the right bandwidth.

A cluster of off the shelf boxes has about 160 chips with 320 HyperTransport buses.  So we&#039;re about a factor of 60 away from having the right bandwidth in one rack.

You&#039;d definitely need a custom solution that is communication bandwidth oriented to get the right bandwidth per chip.  My guess that the bandwidth/chip gap will be closed by the time the memory/chip gap is (10-15 years).

I don&#039;t understand your comment about bandwidth dropping at longer distances.  First of all, you don&#039;t need that much, due to locality.  Second, you can just route through local interconnects by using multiple hops.  There&#039;s plenty of time in a &quot;neuronal cycle&quot; (10ms?) to cross even 100 hops.  Basically, you don&#039;t need anything more than connections to immediate neighbors.</description>
		<content:encoded><![CDATA[<p>@TheRadicalModerate &#8211; There are interconnects available at around 1e10 to 1e11 bytes per second.  This includes AMD HyperTransport and <a href="http://en.wikipedia.org/wiki/AMD_Horus" rel="nofollow">AMD Horus</a>.  With 10,000 chips per system and 20,000 buses you would be at about the right bandwidth.</p>
<p>A cluster of off the shelf boxes has about 160 chips with 320 HyperTransport buses.  So we&#8217;re about a factor of 60 away from having the right bandwidth in one rack.</p>
<p>You&#8217;d definitely need a custom solution that is communication bandwidth oriented to get the right bandwidth per chip.  My guess that the bandwidth/chip gap will be closed by the time the memory/chip gap is (10-15 years).</p>
<p>I don&#8217;t understand your comment about bandwidth dropping at longer distances.  First of all, you don&#8217;t need that much, due to locality.  Second, you can just route through local interconnects by using multiple hops.  There&#8217;s plenty of time in a &#8220;neuronal cycle&#8221; (10ms?) to cross even 100 hops.  Basically, you don&#8217;t need anything more than connections to immediate neighbors.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TheRadicalModerate</title>
		<link>http://www.foresight.org/nanodot/?p=3728#comment-866535</link>
		<dc:creator>TheRadicalModerate</dc:creator>
		<pubDate>Mon, 08 Feb 2010 16:02:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.foresight.org/nanodot/?p=3728#comment-866535</guid>
		<description>@miron--

Agree completely that connection density probably follows a power law.  But you&#039;re still wire-limited at the chip, printed circuit board, and bus levels.  As the number of wires goes up, your IC yields go down.  Same story with your PCBs.  And your backplane is just a nightmare.

So you may be able to lop a couple of orders of magnitude off of the problem due to locality, but that still leaves 2-3 orders of magnitude left to go, with a lot of it at the longer connection distances, where bandwidth necessarily drops due to noise, capacitance, etc.

@Michael--

We certainly don&#039;t know enough today to build AIs out of hierarchical neural pattern matchers, but I suspect that that will change rather quickly when we can simulate neural nets that are big enough to do useful work.  And that&#039;s sort of a chicken-and-egg problem, isn&#039;t it?  No platform to do interesting neural AI on because there&#039;s no software, no software because there&#039;s no platform.  Bottom line is that very little is going to happen until we get some kind of a fab breakthrough--which was more-or-less my original point.

I also agree that we&#039;re unlikely to get genuine neural processing at the neuron level--way too many processing units.  However, there&#039;s a lot of territory in between one processor per neuron and all neurons simulated on a single processor.  We know enough about neural activation functions to write interesting algorithms.  Those algorithms can be simulated millions of times faster than the time it takes a real neuron to fire, so millions of neuron simulations per processor are possible.  You are also correct that any accurate neural simulation must also simulate the funny chemicals being squirted out globally, but that&#039;s a pretty minor complicating factor to discovering interesting algorithms.

The most interesting problem to be solved is to figure out how pattern-matching hierarchies self-organize to achieve cognition.  There&#039;s a genetic component involved here:  Lots of white matter projections grow during development, both from the limbic system and brain stem to the cortex, as well as from place to place inside the cortex itself.  But once this rough architecture is in place, plasticity has to prune connections and learn appropriate connection weights.  Even more important, something&#039;s going on that must automatically allocate the size and functions of the network of pattern recognizers.  But that algorithm has to be really, really simple.  Its discovery will be a key enabler for using neural nets for more cognitive tasks.</description>
		<content:encoded><![CDATA[<p>@miron&#8211;</p>
<p>Agree completely that connection density probably follows a power law.  But you&#8217;re still wire-limited at the chip, printed circuit board, and bus levels.  As the number of wires goes up, your IC yields go down.  Same story with your PCBs.  And your backplane is just a nightmare.</p>
<p>So you may be able to lop a couple of orders of magnitude off of the problem due to locality, but that still leaves 2-3 orders of magnitude left to go, with a lot of it at the longer connection distances, where bandwidth necessarily drops due to noise, capacitance, etc.</p>
<p>@Michael&#8211;</p>
<p>We certainly don&#8217;t know enough today to build AIs out of hierarchical neural pattern matchers, but I suspect that that will change rather quickly when we can simulate neural nets that are big enough to do useful work.  And that&#8217;s sort of a chicken-and-egg problem, isn&#8217;t it?  No platform to do interesting neural AI on because there&#8217;s no software, no software because there&#8217;s no platform.  Bottom line is that very little is going to happen until we get some kind of a fab breakthrough&#8211;which was more-or-less my original point.</p>
<p>I also agree that we&#8217;re unlikely to get genuine neural processing at the neuron level&#8211;way too many processing units.  However, there&#8217;s a lot of territory in between one processor per neuron and all neurons simulated on a single processor.  We know enough about neural activation functions to write interesting algorithms.  Those algorithms can be simulated millions of times faster than the time it takes a real neuron to fire, so millions of neuron simulations per processor are possible.  You are also correct that any accurate neural simulation must also simulate the funny chemicals being squirted out globally, but that&#8217;s a pretty minor complicating factor to discovering interesting algorithms.</p>
<p>The most interesting problem to be solved is to figure out how pattern-matching hierarchies self-organize to achieve cognition.  There&#8217;s a genetic component involved here:  Lots of white matter projections grow during development, both from the limbic system and brain stem to the cortex, as well as from place to place inside the cortex itself.  But once this rough architecture is in place, plasticity has to prune connections and learn appropriate connection weights.  Even more important, something&#8217;s going on that must automatically allocate the size and functions of the network of pattern recognizers.  But that algorithm has to be really, really simple.  Its discovery will be a key enabler for using neural nets for more cognitive tasks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: miron</title>
		<link>http://www.foresight.org/nanodot/?p=3728#comment-866533</link>
		<dc:creator>miron</dc:creator>
		<pubDate>Mon, 08 Feb 2010 08:09:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.foresight.org/nanodot/?p=3728#comment-866533</guid>
		<description>@TheRadicalModerate - To simulate the brain&#039;s connectivity, you don&#039;t need the bandwidth to be on a global bus.  You need bandwidth that is inversely proportional to the distance between two points (i.e. power law).

FPGAs, Cell processors and other interspersed memory/computation architectures have high local bandwidth (within the chip).  The highest bandwidth would be required only for the average distance of an axon, which covers only 1/10,000 of the brain area.  i.e. you only need to reach 1/10,000 of the other chips with the highest bandwidth.

To achieve power law distribution for bandwidth, it would be enough to lay out the chips in a 2-D network, and to have local buses between adjacent chips.  In effect, this mimics the connectivity of the brain.</description>
		<content:encoded><![CDATA[<p>@TheRadicalModerate &#8211; To simulate the brain&#8217;s connectivity, you don&#8217;t need the bandwidth to be on a global bus.  You need bandwidth that is inversely proportional to the distance between two points (i.e. power law).</p>
<p>FPGAs, Cell processors and other interspersed memory/computation architectures have high local bandwidth (within the chip).  The highest bandwidth would be required only for the average distance of an axon, which covers only 1/10,000 of the brain area.  i.e. you only need to reach 1/10,000 of the other chips with the highest bandwidth.</p>
<p>To achieve power law distribution for bandwidth, it would be enough to lay out the chips in a 2-D network, and to have local buses between adjacent chips.  In effect, this mimics the connectivity of the brain.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pink Pig</title>
		<link>http://www.foresight.org/nanodot/?p=3728#comment-866495</link>
		<dc:creator>Pink Pig</dc:creator>
		<pubDate>Sat, 06 Feb 2010 04:00:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.foresight.org/nanodot/?p=3728#comment-866495</guid>
		<description>The relationship between random and associative memories is not linear. (Why would anyone suppose that it is?) The time required for associative memory to function correctly grows approximately as the logarithm of the time required by a random-access memory. Computing power is giga these days, not mega. The real reason that software hasn&#039;t speeded up at the same rate as hardware is twofold: 1) the software side simply doesn&#039;t have a clue how to make software run faster; 2) the software side is lazy enough to use improvements in hardware to mask their own shortcomings. (And if that&#039;s not enough for you, the study of Artificial Intelligence is an attempt to create something that we already have several billion of: human brains.)

I&#039;ve been doing software and hardware for almost 50 years now, and I know whereof I speak.

When PCs (and similar microprocessor-based equipment) had memories of 8K or less, the operating systems fit neatly into less than 4K. Try finding an operating system that runs today in under 4K.

The computer that I learned on had 1000 words of memory (it was a &lt;b&gt;big&lt;/b&gt; UNIVAC I). It didn&#039;t really have an operating system per se -- what was available was part of the bootstrap, a standard practice back then. A year later, I worked with a computer (NCR200) that had all of 200 bytes of memory. The first real operating system that I saw (and worked with) was the executive developed for the Honeywell 800/1800, which was a true multiprocessor (in the late 50s/early 60s!). It ran in under 2K words (IIRC, a word on the Honeywell 800 was 48 bits wide). We also didn&#039;t have the luxury of a standardized USB -- that meant dealing with paper tape, punched cards, magnetic tape, and numerous other peripherals.</description>
		<content:encoded><![CDATA[<p>The relationship between random and associative memories is not linear. (Why would anyone suppose that it is?) The time required for associative memory to function correctly grows approximately as the logarithm of the time required by a random-access memory. Computing power is giga these days, not mega. The real reason that software hasn&#8217;t speeded up at the same rate as hardware is twofold: 1) the software side simply doesn&#8217;t have a clue how to make software run faster; 2) the software side is lazy enough to use improvements in hardware to mask their own shortcomings. (And if that&#8217;s not enough for you, the study of Artificial Intelligence is an attempt to create something that we already have several billion of: human brains.)</p>
<p>I&#8217;ve been doing software and hardware for almost 50 years now, and I know whereof I speak.</p>
<p>When PCs (and similar microprocessor-based equipment) had memories of 8K or less, the operating systems fit neatly into less than 4K. Try finding an operating system that runs today in under 4K.</p>
<p>The computer that I learned on had 1000 words of memory (it was a <b>big</b> UNIVAC I). It didn&#8217;t really have an operating system per se &#8212; what was available was part of the bootstrap, a standard practice back then. A year later, I worked with a computer (NCR200) that had all of 200 bytes of memory. The first real operating system that I saw (and worked with) was the executive developed for the Honeywell 800/1800, which was a true multiprocessor (in the late 50s/early 60s!). It ran in under 2K words (IIRC, a word on the Honeywell 800 was 48 bits wide). We also didn&#8217;t have the luxury of a standardized USB &#8212; that meant dealing with paper tape, punched cards, magnetic tape, and numerous other peripherals.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: michael edelman</title>
		<link>http://www.foresight.org/nanodot/?p=3728#comment-866494</link>
		<dc:creator>michael edelman</dc:creator>
		<pubDate>Sat, 06 Feb 2010 02:14:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.foresight.org/nanodot/?p=3728#comment-866494</guid>
		<description>It&#039;s not just enough to have a neural network- you have to know how it works, and the brain doesn&#039;t work like most high-level  neural net systems AI people are familiar with. It&#039;s a massively parallel pattern matcher. Connections? Yes, we estimate up to 10E14 synapses, but that still doesn&#039;t tell the whole story. There are neurotransmitters like nitric oxide that don&#039;t act on a single synapse, but diffuse through an area. There are probably other systems we haven&#039;t discovered yet.

The idea of &quot;fetches&quot; doesn&#039;t seem to shed any light here. The &quot;program&quot; of the brain, if we may call it that, can&#039;t be written out as a single entity. The brain is made up of of a number of nucleii, each of which is a very generalized pattern-matching system that work together to model the outside world- or so it appears. Beyond that, we have very little idea of how this organizes itself into a conscious being, although there are plenty of philosophers like Dennet who will tell you it&#039;s a simple matter ;-)

Looking at small scale neural nets &lt;em&gt;in vivo&lt;/em&gt;&lt;em&gt; has given us some insights into how to design mechanical insects that can navigate on their own, but we&#039;re still far from a workable model of how the brain organizes memory and knowledge of events and objects, let alone a sense of self.&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>It&#8217;s not just enough to have a neural network- you have to know how it works, and the brain doesn&#8217;t work like most high-level  neural net systems AI people are familiar with. It&#8217;s a massively parallel pattern matcher. Connections? Yes, we estimate up to 10E14 synapses, but that still doesn&#8217;t tell the whole story. There are neurotransmitters like nitric oxide that don&#8217;t act on a single synapse, but diffuse through an area. There are probably other systems we haven&#8217;t discovered yet.</p>
<p>The idea of &#8220;fetches&#8221; doesn&#8217;t seem to shed any light here. The &#8220;program&#8221; of the brain, if we may call it that, can&#8217;t be written out as a single entity. The brain is made up of of a number of nucleii, each of which is a very generalized pattern-matching system that work together to model the outside world- or so it appears. Beyond that, we have very little idea of how this organizes itself into a conscious being, although there are plenty of philosophers like Dennet who will tell you it&#8217;s a simple matter <img src='http://www.foresight.org/nanodot/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Looking at small scale neural nets <em>in vivo</em><em> has given us some insights into how to design mechanical insects that can navigate on their own, but we&#8217;re still far from a workable model of how the brain organizes memory and knowledge of events and objects, let alone a sense of self.</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nicole Tedesco</title>
		<link>http://www.foresight.org/nanodot/?p=3728#comment-866491</link>
		<dc:creator>Nicole Tedesco</dc:creator>
		<pubDate>Sat, 06 Feb 2010 00:03:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.foresight.org/nanodot/?p=3728#comment-866491</guid>
		<description>Oh, I forgot to meantion: phase-synchronized computation is something that modern computers are really good at by default.  So consider how much of our lack of cycles and bandwidth are made up for built-in phase synchronization capabilities and in the avoidance of error (which need not be corrected for).</description>
		<content:encoded><![CDATA[<p>Oh, I forgot to meantion: phase-synchronized computation is something that modern computers are really good at by default.  So consider how much of our lack of cycles and bandwidth are made up for built-in phase synchronization capabilities and in the avoidance of error (which need not be corrected for).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nicole Tedesco</title>
		<link>http://www.foresight.org/nanodot/?p=3728#comment-866490</link>
		<dc:creator>Nicole Tedesco</dc:creator>
		<pubDate>Fri, 05 Feb 2010 23:59:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.foresight.org/nanodot/?p=3728#comment-866490</guid>
		<description>I agree with Fred &#8212; we will need to learn to crawl before we can learn to run.  In terms of the bandwidth-versus-cycles debate we don&#039;t necessarily need bandwidth, or cycles, in order to prove any specific concept as long as we don&#039;t mind the computation happening slowly.  Of course the problem is that some things, like factoring very large numbers, currently happen too slowly to complete in our life times.  Though the number of synaptic connections in our nervous system seems may be extremely difficult to implement in our models, we may not actually &lt;i&gt;need&lt;/i&gt; them to improve on the pattern recognition and machine learning capabilities we have today.  What are all those connections used for, anyway?  Do all of them participate in information transmission?  How much of the biological neural circuitry is involved in phase synchronization?  How much of it is simply redundant in order to make up for the noisy environment of a &quot;natural&quot; brain?  Understand that modern computers use as much heat as they do because they are designed to be as error-free as possible.  Removing sources of computational error, which modern computers are really good at, may go a long way to reducing the number of neural components that need to be implemented in our neural models.</description>
		<content:encoded><![CDATA[<p>I agree with Fred &mdash; we will need to learn to crawl before we can learn to run.  In terms of the bandwidth-versus-cycles debate we don&#8217;t necessarily need bandwidth, or cycles, in order to prove any specific concept as long as we don&#8217;t mind the computation happening slowly.  Of course the problem is that some things, like factoring very large numbers, currently happen too slowly to complete in our life times.  Though the number of synaptic connections in our nervous system seems may be extremely difficult to implement in our models, we may not actually <i>need</i> them to improve on the pattern recognition and machine learning capabilities we have today.  What are all those connections used for, anyway?  Do all of them participate in information transmission?  How much of the biological neural circuitry is involved in phase synchronization?  How much of it is simply redundant in order to make up for the noisy environment of a &#8220;natural&#8221; brain?  Understand that modern computers use as much heat as they do because they are designed to be as error-free as possible.  Removing sources of computational error, which modern computers are really good at, may go a long way to reducing the number of neural components that need to be implemented in our neural models.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TheRadicalModerate</title>
		<link>http://www.foresight.org/nanodot/?p=3728#comment-866487</link>
		<dc:creator>TheRadicalModerate</dc:creator>
		<pubDate>Fri, 05 Feb 2010 22:50:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.foresight.org/nanodot/?p=3728#comment-866487</guid>
		<description>@miron--

The problem isn&#039;t the memory itself; it&#039;s the wires.  Wires are the bane of the electronics industry.  They&#039;re expensive, hard to fabricate, hard to test, and they break easily.  You can have all the FPGAs you want, but you can only present vectors to them serially, and even then, the gate array&#039;s logic is bounded by how many simultaneous inputs it has.

My point was merely that the usual way of moving data around in a computer breaks down under the amount of parallel data needed for proper hierarchical pattern recognition.  You can&#039;t trade the number of wires you need for properly parallel data processing simply by emulating the parallelism with really fast serialized buses.  It just doesn&#039;t scale.</description>
		<content:encoded><![CDATA[<p>@miron&#8211;</p>
<p>The problem isn&#8217;t the memory itself; it&#8217;s the wires.  Wires are the bane of the electronics industry.  They&#8217;re expensive, hard to fabricate, hard to test, and they break easily.  You can have all the FPGAs you want, but you can only present vectors to them serially, and even then, the gate array&#8217;s logic is bounded by how many simultaneous inputs it has.</p>
<p>My point was merely that the usual way of moving data around in a computer breaks down under the amount of parallel data needed for proper hierarchical pattern recognition.  You can&#8217;t trade the number of wires you need for properly parallel data processing simply by emulating the parallelism with really fast serialized buses.  It just doesn&#8217;t scale.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: miron</title>
		<link>http://www.foresight.org/nanodot/?p=3728#comment-866431</link>
		<dc:creator>miron</dc:creator>
		<pubDate>Thu, 04 Feb 2010 07:33:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.foresight.org/nanodot/?p=3728#comment-866431</guid>
		<description>TheRadicalModerate - FPGAs and Cell processors are examples of how to integrate RAM with CPUs, but we don&#039;t do it for personal computing yet.  Intersperse CPUs with RAM on the silicon die and you should get all the memory bandwidth you need.

I believe the average axon length is 10mm.  That reaches an area that is less than 1e-4 of the total cortex surface area (~1.6 m^2).  That&#039;s pretty far from needing all that memory bandwidth globally.

So yes, I do agree that memory bandwidth will be the bottleneck rather than CPU, but I think we can easily build adequate solutions.</description>
		<content:encoded><![CDATA[<p>TheRadicalModerate &#8211; FPGAs and Cell processors are examples of how to integrate RAM with CPUs, but we don&#8217;t do it for personal computing yet.  Intersperse CPUs with RAM on the silicon die and you should get all the memory bandwidth you need.</p>
<p>I believe the average axon length is 10mm.  That reaches an area that is less than 1e-4 of the total cortex surface area (~1.6 m^2).  That&#8217;s pretty far from needing all that memory bandwidth globally.</p>
<p>So yes, I do agree that memory bandwidth will be the bottleneck rather than CPU, but I think we can easily build adequate solutions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Gentile</title>
		<link>http://www.foresight.org/nanodot/?p=3728#comment-866415</link>
		<dc:creator>James Gentile</dc:creator>
		<pubDate>Thu, 04 Feb 2010 00:33:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.foresight.org/nanodot/?p=3728#comment-866415</guid>
		<description>Funny enough I disagree again.  You mention GPUs of 2020, but neglect to mention (again) that supercomputers will be at that level in the next couple of years. Also again I think less than human AI (rats, birds, spiders, etc.) are utterly useless, but that&#039;s just my opinion.</description>
		<content:encoded><![CDATA[<p>Funny enough I disagree again.  You mention GPUs of 2020, but neglect to mention (again) that supercomputers will be at that level in the next couple of years. Also again I think less than human AI (rats, birds, spiders, etc.) are utterly useless, but that&#8217;s just my opinion.</p>
]]></content:encoded>
	</item>
</channel>
</rss>