Answers.Body: <p>It depends on the type of neural networks you are dealing with.</p>
  
  <p>For medium sized neural nets, the matrix approach is a very good way to do quick computations and even backpropogation of errors. One can even exploit sparse matrixes for understanding the sparse architecture of some neural nets.</p>
  
  <p>But, for very large neural nets, using matrix computations would be computationally very intensive. So, relevant methods like graph-based stores, etc are used for them depending on the purpose and the architecture.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-05T10:58:53.260Z
Answers.LastActivityDate: 2017-02-16T19:38:44.487Z
Answers.LastEditDate: 2017-02-16T19:38:44.487Z
Answers.UserDisplayName: Dawny33
Answers.Body: <p>For large ANNs, something equivalent to a 'sparse matrix format' is used in practice.</p>
  
  <p>In contrast to what is said in another answer given, considering an ANN as a graph doesn't actually buy very much, for two reasons:</p>
  
  <ol>
  <li><p>The backpropagation algorithm can usefully be
  defined in terms of matrix operations. <a href="http://briandolhansky.com/blog/2014/10/30/artificial-neural-networks-matrix-form-part-5" rel="nofollow">This page</a> gives a
  readable and comprehensive description.</p></li>
  <li><p>All real-valued matrices can be represented as graphs, but the converse is clearly not the case. So while it is true that an ANN can be considered as a special case of a graph data structure, making that specialization explicit in matrix form is more efficient.</p></li>
  </ol>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-05T11:15:40.017Z
Answers.LastActivityDate: 2016-08-05T19:12:14.883Z
Answers.LastEditDate: 2016-08-05T19:12:14.883Z
Answers.UserDisplayName: NietzscheanAI
Answers.Body: <p>Matrix representation is beneficial for implementing neural networks in silicon.</p>
  
  <p>But for examining neural networks empirically it is sometimes good to visualise the synapse weight values as images or videos: <a href="https://www.youtube.com/watch?v=AgkfIQ4IGaM" rel="nofollow noreferrer">Jason Yosinski's </a> exploration of a convolution neural network. The network seems to have a "filter" that just detects shoulders. A bit like a lock that only opens when it recognises the pattern of shoulders.<a href="https://i.sstatic.net/4g4gF.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/4g4gF.png" alt="enter image description here"></a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-06T09:15:09.163Z
Answers.LastActivityDate: 2016-08-06T10:12:34.840Z
Answers.LastEditDate: 2016-08-06T10:12:34.840Z
Answers.UserDisplayName: Conor Cosnett
Body: <p>A neural network is a directed weighted graph. These can be represented by a (sparse) matrix. Doing so can expose some elegant properties of the network.</p>
  
  <p>Is this technique beneficial for examining neural networks?</p>
  
Tags: <neural-networks>
Title: Is it beneficial to represent a neural net as a matrix?
UserDisplayName: ratchet freak
ThreadText: # Is it beneficial to represent a neural net as a matrix?
  
  (Asked by: username_0 on 2016-08-05)
  
  A neural network is a directed weighted graph. These can be represented by a (sparse) matrix. Doing so can expose some elegant properties of the network.
  
  Is this technique beneficial for examining neural networks?
  
  **Tags:** neural-networks
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2016-08-05. Score: 4
  
  It depends on the type of neural networks you are dealing with.
  
  For medium sized neural nets, the matrix approach is a very good way to do quick computations and even backpropogation of errors. One can even exploit sparse matrixes for understanding the sparse architecture of some neural nets.
  
  But, for very large neural nets, using matrix computations would be computationally very intensive. So, relevant methods like graph-based stores, etc are used for them depending on the purpose and the architecture.
  
  
  ---
  
  ### Answer by username_2 on 2016-08-05. Score: 4
  
  For large ANNs, something equivalent to a 'sparse matrix format' is used in practice.
  
  In contrast to what is said in another answer given, considering an ANN as a graph doesn't actually buy very much, for two reasons:
  
  1. The backpropagation algorithm can usefully be
     defined in terms of matrix operations. [This page](http://briandolhansky.com/blog/2014/10/30/artificial-neural-networks-matrix-form-part-5) gives a
     readable and comprehensive description.
  2. All real-valued matrices can be represented as graphs, but the converse is clearly not the case. So while it is true that an ANN can be considered as a special case of a graph data structure, making that specialization explicit in matrix form is more efficient.
  
  
  ---
  
  ### Answer by username_3 on 2016-08-06. Score: 1
  
  Matrix representation is beneficial for implementing neural networks in silicon.
  
  But for examining neural networks empirically it is sometimes good to visualise the synapse weight values as images or videos: [Jason Yosinski's](https://www.youtube.com/watch?v=AgkfIQ4IGaM)  exploration of a convolution neural network. The network seems to have a "filter" that just detects shoulders. A bit like a lock that only opens when it recognises the pattern of shoulders.[![enter image description here](https://i.sstatic.net/4g4gF.png)](https://i.sstatic.net/4g4gF.png)
  
  
  ---
  
  