anchor.diff:  image::alt_neural1/model.png[test_model, 300]
   {empty} +
   
  -== Future work
  +== Discussion
   
   Instead of trying all possible alignments, we could try to find \(\theta\) that _maximizes_ the dot product.
   
  
positive.code: 
  * Generate all 8 rotated filters from \(W\), \(W_{1}, \cdots, W_{8}\).
  * Compute output activation volumesfootnote:[If you are not familiar with the idea of activation volumes, I would recommend referring to link:http://cs231n.github.io/convolutional-networks/[CS231n Convolutional Neural Networks for Visual Recognition] for an outstanding explanation.] \(O_{1}, \cdots, O_{8}\) by convolving input with \(W_{1}, \cdots, W_{8}\).
  * Output the volume \(V_{i} \mid \arg\max_{i} \sum ReLU(V_{i})\). i.e., choose the activation volume that has the maximum sum after `ReLU`. `ReLU` is since we want to consider the volume that has the most `positive` activations, which indicates similarity.
  
  These steps can be implemented as follows. Note that `W.shape = (rows, cols, nb_input_filters, nb_output_filters)`.
  
  [source,python]
  ----
  import tensorflow as tf
  
  
  ----
  
  
  
negative.code: 
  \(\arg\max_\theta R_{\theta}W \cdot X\)
  
  This can be solved by differentiating with respect to \(\theta\) and equating the derivative to 0. I didnt get around trying this yet.
  