Matt,  

As acknowledged before, your notion of using a single matrix to represent a
neural net with say 10^5 neurons, each with up to 10^4 connections, has the
benefit of allowing for much more efficient processing, since the rows could
be read serially, which allows much faster memory access, and the output
from the processing along each row that is contributed to column values,
could be stored largely in cache, allowing for relatively rapid storage,
even if the representations of contacts are relatively sparse along each
row, and since the equivalent of address representations of contacts could
be represented much more efficiently.  I had known neural nets were often
represented by matrices, but It is still not totally clear to me that it
would work well with the type of system I am interested in.  But it might.


-----Original Message-----
From: Matt Mahoney [mailto:[EMAIL PROTECTED] 
Sent: Friday, June 13, 2008 2:30 PM
To: [email protected]
Subject: RE: [agi] IBM, Los Alamos scientists claim fastest computer


With regard to representing different types of synapses (various time
delays, strength bounds, learning rates, etc), this information can be
recorded as characteristics of the input and output neurons and derived as
needed to save space.

[Ed Porter] I still think you are going to need multi-bit weights at
row-column element in the matrix -- since most all representations of
synapses I have seen have assumed a weight having at least 6 bits of
information, and there is reason to think you need to store both a short
term and a long term value, since it seems to me it is necessary for the
temporal correlation component of Hebbian learning, and to represent the
state information that is short-term memory.  

[Ed Porter] I don't understand how this information could be stored or
accessed more efficiently than in row-column matrix elements, so they would
be available when computing a row's contribution to each successive column.
This would include any information such as whether excitatory or inhibitory,
delays, strength bounds, learning rates, unless you assume such information
is uniform in each row or each column.  (In the brain, this may be the case
for some attributes --such as, I think, having separate neurons for
inhibition and excitation, but it would appears to require added complexity
for many learning tasks).

Minimizing inter-processor communication is a harder problem. This can be
done by mapping the neural network into a hierarchical organization so that
groups of co-located neurons are forced to communicate with other groups
through narrow channels using a small number of neurons. We know that many
problems can be solve this way. For example, a semantic language model made
of a 20K by 20K word association matrix can be represented using singular
value decomposition as a 3 layer neural network with about 100 to 200 hidden
neurons [1,2]. The two weight matrices could then be implemented on separate
processors which communicate through the hidden layer neurons. 

 
[Ed Porter] Having matrices for connecting the matrices makes sense.  But my
understanding is the SVD is often a form of lossy compression.  

[Ed Porter] As I understand it, it is the non-rectangular equivalent of
finding the largest eigenvectors of matrix, and it involves discounting the
information contained in the less important (smaller eigenvalue) dimensions.
I assume an AGO could afford a certain amount of such error due to loss of
detail, for tasks similar to the 20K word example where the goal was to
provide a simplified representation of bi-grams, which are just statistical
correlations in ordered word pairs, and might not be appropriate for
representing episodic memory when more crisp, and less statistical info is
of importance.

[Ed Porter] Also, it would seem that dynamically learning new patterns would
present problems with a system in which the interconnects between matrices
have been determined by such an SVD process.  Perhaps, there would be a
separate system for learning new information, and information that
represented important exceptions to the SVD compression.

More generally, we know from chaos theory that complex systems must limit
the number of interconnections to be stable [3], which suggests that many AI
problems in general can be decomposed this way.

Remember we need not model the human brain in precise detail, since our goal
is to solve AGI by any means. We are allowed to use more efficient
algorithms if we discover them.

I ran some benchmarks on my PC (2.2 GHz Athlon-64, 3500+). It copies large
arrays at 1 GB per second using MMX or SSE2, which is not quite fast enough
for a 10^5 by 10^5 neural network simulation.

[Ed Porter] I assume this is on an uncompressed matrix. I don't know what
the overhead would be to compress the matrix, such as by representing all
the elements that are empty with run-length encoding, and then trying to
process it.  Presumably to use mmx or sse2 you would have to load some of
the compressed matrix into cache, de-compress it, then run it as a block
through the mmx or sse2.



1. Bellegarda, Jerome R., John W. Butzberger, Yen-Lu Chow, Noah B. Coccaro,
Devang Naik (1996), "A novel word clustering algorithm based on latent
semantic analysis", Proc. IEEE Intl. Conf. on Acoustics, Speech, and Signal
Processing, vol. 1, 172-175.

2. Gorrell, Genevieve (2006), "Generalized Hebbian Algorithm for Incremental
Singular Value Decomposition in Natural Language Processing", Proceedings of
EACL 2006, Trento, Italy.
http://www.aclweb.org/anthology-new/E/E06/E06-1013.pdf  

3. Kauffman, Stuart A. (1991), "Antichaos and Adaptation", Scientific
American, Aug. 1991, p. 64.


-- Matt Mahoney, [EMAIL PROTECTED]



-------------------------------------------
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription:
http://www.listbox.com/member/?&;
Powered by Listbox: http://www.listbox.com



-------------------------------------------
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
http://www.listbox.com/member/?member_id=8660244&id_secret=106510220-47b225
Powered by Listbox: http://www.listbox.com

<<attachment: winmail.dat>>

Reply via email to