Return-Path: X-Original-To: apmail-horn-dev-archive@minotaur.apache.org Delivered-To: apmail-horn-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 11F241936C for ; Thu, 21 Apr 2016 04:58:28 +0000 (UTC) Received: (qmail 57059 invoked by uid 500); 21 Apr 2016 04:58:28 -0000 Delivered-To: apmail-horn-dev-archive@horn.apache.org Received: (qmail 57025 invoked by uid 500); 21 Apr 2016 04:58:28 -0000 Mailing-List: contact dev-help@horn.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@horn.incubator.apache.org Delivered-To: mailing list dev@horn.incubator.apache.org Received: (qmail 57004 invoked by uid 99); 21 Apr 2016 04:58:27 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Apr 2016 04:58:27 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 493C2C2499 for ; Thu, 21 Apr 2016 04:58:27 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -5.017 X-Spam-Level: X-Spam-Status: No, score=-5.017 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.996, SPF_HELO_PASS=-0.001] autolearn=disabled Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 6ZOuHWbXqxqy for ; Thu, 21 Apr 2016 04:58:25 +0000 (UTC) Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id A6DE15F46F for ; Thu, 21 Apr 2016 04:58:24 +0000 (UTC) Received: from epcpsbgr1.samsung.com (u141.gpu120.samsung.co.kr [203.254.230.141]) by mailout1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0O5Y028O6WH4TY00@mailout1.samsung.com> for dev@horn.incubator.apache.org; Thu, 21 Apr 2016 13:58:16 +0900 (KST) Received: from epcpsbgm2new.samsung.com ( [172.20.52.116]) by epcpsbgr1.samsung.com (EPCPMTA) with SMTP id 2C.28.04826.8ED58175; Thu, 21 Apr 2016 13:58:16 +0900 (KST) X-AuditID: cbfee68d-f79e86d0000012da-3f-57185de898f1 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2new.samsung.com (EPCPMTA) with SMTP id 45.6F.06699.8ED58175; Thu, 21 Apr 2016 13:58:16 +0900 (KST) Received: from edwardyoon ([10.113.67.209]) by mmp2.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0O5Y00LGSWH4IR10@mmp2.samsung.com> for dev@horn.incubator.apache.org; Thu, 21 Apr 2016 13:58:16 +0900 (KST) From: "Edward J. Yoon" To: dev@horn.incubator.apache.org References: <000301d137d3$221dcae0$665960a0$@samsung.com> <000401d13872$d078a610$7169f230$@samsung.com> <002f01d15278$a1f90620$e5eb1260$@samsung.com> <002701d1531b$974fb220$c5ef1660$@samsung.com> In-reply-to: <002701d1531b$974fb220$c5ef1660$@samsung.com> Subject: RE: Implement convolutional neuron function Date: Thu, 21 Apr 2016 13:58:17 +0900 Message-id: <001901d19b8a$6b153880$413fa980$@samsung.com> X-Mailer: Microsoft Outlook 14.0 Thread-index: AQIhjqZh6m3ILEspgfHXXVuHNTXULQEGQg/VAsbJZ0QCv1koXgJXbTR9AmfvVRwCr0S+JJ6EH0ew Content-language: ko X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrCLMWRmVeSWpSXmKPExsWyRsSkRPdFrES4wdWzuhYHHixmdGD0ePLz KGsAYxSXTUpqTmZZapG+XQJXxoWu60wFLToVR9ceYG1g/KTUxcjJISFgIvFp/VMmCFtM4sK9 9WxdjFwcQgIrGCXunr/PAlP04PlSVojELEaJxjk3oZx+JomPd2cwglSxCRhIrF20GmyUiICi xIWbUxghiuYxS8ze9pQdJMEpYCXReKoDbKww0Ni/c2+DNbMIqEr8eXOXFcTmFbCU6HzxghFi tYLEjrOvGSGGxkgc+3IHrIZZQERi34t3YAskBJ6zSUxqbmWGGCQg8W3yIaAFHEAJWYlNB5gh 5khKHFxxg2UCo8gsJO0LGBlXMYqmFiQXFCelFxnqFSfmFpfmpesl5+duYgQG7ul/z3p3MN4+ YH2IUYCDUYmHd4OMRLgQa2JZcWXuIUZToG0TmaVEk/OB8ZFXEm9obGZkYWpiamxkbmmmJM6r KPUzWEggPbEkNTs1tSC1KL6oNCe1+BAjEwenVANjRemKrbMiSht/sdwQOOqw/BiHt8/nYyJx Uid4sjdV/Nh8rlnh/+eU9D7tueosR3ovzqjuf9ng5vts02bFx/yrEy5fPP9y8s53XG07TjZ9 9T7yaCtvyv3rOvwXjJa8aoi6qv1B9lPr18hFhXOiXxxnX5Odqbzvck9mPEu3bWRd47W/21uY 9iVMUmIpzkg01GIuKk4EAHcxEJNXAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprIIsWRmVeSWpSXmKPExsVy+t9jQd0XsRLhBktbVC0OPFjM6MDo8eTn UdYAxqgGRpuM1MSU1CKF1Lzk/JTMvHRbJe/geOd4UzMDQ11DSwtzJYW8xNxUWyUXnwBdt8wc oLFKCmWJOaVAoYDE4mIlfTtME0JD3HQtYBojdH1DguB6jAzQQMIaxowLXdeZClp0Ko6uPcDa wPhJqYuRk0NCwETiwfOlrBC2mMSFe+vZuhi5OIQEZjFKNM65yQrh9DNJfLw7gxGkik3AQGLt otVMILaIgKLEhZtTGCGK5jFLzN72lB0kwSlgJdF4qoMFxBYGWvF37m2wZhYBVYk/b+6CreMV sJTofPGCEWK1gsSOs68ZIYbGSBz7cgeshllARGLfi3eMExj5ZiFxFzAyrmKUSC1ILihOSs81 ykst1ytOzC0uzUvXS87P3cQIjo5n0jsYD+9yP8QowMGoxMO7QUYiXIg1say4MvcQowQHs5II r2YMUIg3JbGyKrUoP76oNCe1+BCjKdCRE5mlRJPzgZGbVxJvaGxiZmRpZG5oYWRsriTO+/j/ ujAhgfTEktTs1NSC1CKYPiYOTqkGxpmCk/3f99xxf3x0z6N1wizGt4X31CcefNXve3ijVcz5 9sOv9rOdnSxTxXS79Mn9Q1HLZDb8YL9sOGfBU+VfYe5zTl039ODYl+V22+rH0p/ZHNunOE+J TfvvZXOhI646x+ZGyppr51b3zwoPF6o/u9LkityEeYsPmH7anPOQseDtJenD+Sl+c/8osRRn JBpqMRcVJwIAOeqyvKQCAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Ping, you there? Let's re-start :-) -- Best Regards, Edward J. Yoon -----Original Message----- From: Edward J. Yoon [mailto:edward.yoon@samsung.com] Sent: Wednesday, January 20, 2016 9:44 AM To: dev@horn.incubator.apache.org Subject: RE: Implement convolutional neuron function Message type is flexible. You can create your own message type for example, FeatureVectorMessage. > where the summation part happens later? As I mentioned, the similar pseudo code can be found at https://cwiki.apache.org/confluence/display/HORN/Programming+APIs Input message is the feature map as [x1, x2, ..., xN], the convolution computation can be represented like: Upward() { for each [x1, x2, ..., xN] do y += w * x propagate(ReLu(y)); } Then, we train the filter weights at downward() method. Single neuron is equal to single element of matrix. I recommend you to implement only upward and downward method of convolution neuron at the moment. -- Best Regards, Edward J. Yoon -----Original Message----- From: Zachary Jaffee [mailto:zij@case.edu] Sent: Wednesday, January 20, 2016 5:18 AM To: Unknown Subject: Re: Implement convolutional neuron function Ok, so I think I have a clearer idea now, but just to confirm some things, the PropMessage in the code you have written represents the user defined neuron function? Additionally, does the neuron object continue to store the result as the element-wise multiplication matrix, i.e. as the hadamard product result, where the summation part happens later? On Mon, Jan 18, 2016 at 9:16 PM, Edward J. Yoon wrote: > Hi, > > As described in "Convolution Demo" section of > http://cs231n.github.io/convolutional-networks, convolution layer > construct > output maps by convoluting trainable kernel filter. Animation will be very > helpful. The initial weights of kernel filter are random like MLP. And, > this > convolution computation between a feature map and a kernel can be > simplified > to a vector/matrix multiplication. The batch of multiple images is mat-mat > multiplication. This is normal way in other projects like Torch. > > Instead we doing like that, we'll do element-wise multiplication within > each > neuron object. User define the neuron function then, framework process the > neurons in parallel. To understand this flow, Pregel system will be > helpful. > > I roughly guess our system can be useful when if a server receive image to > recognize. Because, GPU-oriented systems are optimized to process batch > operations. > > -- > Best Regards, Edward J. Yoon > > > -----Original Message----- > From: Zachary Jaffee [mailto:zij@case.edu] > Sent: Tuesday, January 19, 2016 1:34 PM > To: Unknown > Subject: Re: Implement convolutional neuron function > > So I've tried out a few things, but I can't seem to see what you mean when > you say not to use a dot product. If you have any insights as to what this > function would look like, I'd be interested in seeing what you are thinking > of. > > On Wed, Dec 16, 2015 at 6:29 PM, Edward J. Yoon > wrote: > > > Thanks. > > > > You can discuss this issue with me and shubham. > > > > I personally we need to approach neuron-centric instead of dot product of > > matrix or tensor, so that we can parallelize computations at neuron > level. > > In > > here, the tricky issue is handling the topology of neurons within > > rectangular > > grid (graph structure). But, you can ignore this at the moment. > > > > If you have any questions/opinions, let's discuss together. > > > > -- > > Best Regards, Edward J. Yoon > > > > -----Original Message----- > > From: Zachary Jaffee [mailto:zij@case.edu] > > Sent: Thursday, December 17, 2015 12:59 AM > > To: Unknown > > Subject: Re: Implement convolutional neuron function > > > > I'll take care of this. > > > > On Wed, Dec 16, 2015 at 2:26 AM, Edward J. Yoon > > > wrote: > > > > > Hi forks, > > > > > > Does anyone volunteer for HORN-10? > > > > > > To implement convolutional neuron function, you can refer my standard > > > neuron > > > function code here: > > > > > > > > > https://github.com/edwardyoon/incubator-horn/blob/HORN-7/src/test/java/org/a > > > pache/horn/trainer/TestNeuron.java > > > > > > And basic equation > > > > > > > > > https://jianfengwang.files.wordpress.com/2015/07/forwardandbackwardpropagati > > > onofconvolutionallayer.pdf and animation version can be found at > > > http://cs231n.github.io/convolutional-networks/ for forward and > backward > > > of > > > convolutional neuron. > > > > > > Thanks! > > > > > > -- > > > Best Regards, Edward J. Yoon > > > > > > > > > > > > > > > > > > -- > > Zach Jaffee > > B.S. Computer Science > > Case Western Reserve University Class of 2017 > > Operations Director | WRUW FM 91.1 Cleveland > > Secretary | Recruitment Chair | Phi Kappa Theta Fraternity > > (917) 881-0646 > > zjaffee.com > > github.com/ZJaffee > > > > > > > > > -- > Zach Jaffee > B.S. Computer Science > Case Western Reserve University Class of 2017 > Operations Director | WRUW FM 91.1 Cleveland > Secretary | Recruitment Chair | Phi Kappa Theta Fraternity > (917) 881-0646 > zjaffee.com > github.com/ZJaffee > > > -- Zach Jaffee B.S. Computer Science Case Western Reserve University Class of 2017 Operations Director | WRUW FM 91.1 Cleveland Secretary | Recruitment Chair | Phi Kappa Theta Fraternity (917) 881-0646 zjaffee.com github.com/ZJaffee