You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@horn.apache.org by "Edward J. Yoon (JIRA)" <ji...@apache.org> on 2016/05/24 08:13:12 UTC

[jira] [Commented] (HORN-10) Implement convolutional neural network based on Neuron-centric

    [ https://issues.apache.org/jira/browse/HORN-10?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15297876#comment-15297876 ] 

Edward J. Yoon commented on HORN-10:
------------------------------------

OKay, here's the pseudo for conv and max-pooling layer.

A neuron of Convolution layer:

There's two options here.
1) neuron receives the region of the image and set of kernel filters.
2) neuron receives the i,jth pixel of the image and k,lth weights of kernel filter.

If we choose 2), we can just re-use StandardNeuron and everything will be handled internally, but a lot of neurons will be created. If we choose 1), we just forwards 2D output volume. and then pooling layer receives 2D input.

{code}
forward() {
  double[][] output = new double[][];

  int i = 0; 
  for(Kernel k : Kernels) {
    sum <- region dot k;
    output [i][j] = squashingFunction.apply(sum);
    i++;
  }
}
{code}

A neuron of Max-pooling layer:

In max-pooling, a pooling unit simply forwards the maximum value of inputs. and backwards received delta. 

{code}
forward(2d matrix, or inputs as a array) {
  feedforward(max of inputs);
}

backward() {
  backpropage(received delta);
}
{code}

> Implement convolutional neural network based on Neuron-centric
> --------------------------------------------------------------
>
>                 Key: HORN-10
>                 URL: https://issues.apache.org/jira/browse/HORN-10
>             Project: Apache Horn
>          Issue Type: New Feature
>            Reporter: Edward J. Yoon
>            Assignee: Edward J. Yoon
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)