[mlpack] GSoC Proposal for implementing HyperNEAT and es-HyperNEAT

2020-03-13 Thread PESALADINNE PRANAV REDDY .
Hey everyone, My name is Pranav Reddy and my idea for GSoC is to implement
HyperNEAT and if time permits es-HyperNEAT as well. I feel like this is a
good idea since as far as I've seen there are so few HyperNEAT
implementations out there.

All of this would be using the NEAT implementation that was added last year
as HyperNEAT relies on it. HyperNEAT also involves CPPNs which I plan to
implement first. Since CPPNs are very similar to ANNs this shouldn't be too
much of a problem.
Following which I will implement HyperNEAT based off of the paper
http://eplex.cs.ucf.edu/publications/2009/stanley-alife09. For this we
would mainly be applying the NEAT algorithm to a CPPN. I will also be
implementing a user defined substrate as described in the aforementioned
paper.

On completion of HyperNEAT, if time permits I would also like to implement
Evolvable Substrate HyperNEAT() as it builds off of HyperNEAT directly. For
this, the substrate would also have to evolve with each generation. Further
details can be found in this paper:
http://eplex.cs.ucf.edu/publications/2012/risi-alife12. I will only
complete this if there is time of course but I hope that I am able to.

Of course testing is also a very important part and I will test each method
in the following ways:
CPPN :
I think the best test for this would be creating images using CPPNs to view
spatial patterns such as bilateral symmetry,  imperfect symmetry,
repetition with variation, etc. as can be seen here : http://picbreeder.org/
.
HyperNeat :
For now my idea is to test this using the visual discrimination experiment
in the paper http://eplex.cs.ucf.edu/publications/2009/stanley-alife09. If
I can think of a better experiment or if anyone has any suggestions I will
do that.
es-HyperNEAT:
As of yet, I have not been able to find any experiment that does not
involve using robots in a controlled environment so any suggestions for
this test would be greatly appreciated.

Another reason I think this project would be appropriate is that it is a
very sequential project which will result in at least something solid being
merged into the codebase in case everything planned is not completed on
time. I will provide a more detailed phase by phase implementation
hopefully in a few days for the same.
Any suggestions are greatly appreciated. Also sorry if it was a long read.
Thanks in advance.
___
mlpack mailing list
mlpack@lists.mlpack.org
http://knife.lugatgt.org/cgi-bin/mailman/listinfo/mlpack


Re: [mlpack] Regarding GSOC Project for Idea: ANN Algorithms Implemented in mlpack

2020-03-13 Thread Prince Gupta
Hello Marcus,

Thanks for the suggestions.
As you've suggested I would focus on only one of the ideas, that will be
Neural Style Transfer.

The main goal will be to add Neural Style Transfer to MLPack in a
well-designed and documented way such that users who wish to expand upon it
by coding further and those who wish to just use it by using CLI can both
use it.

Since GSOC is divided into three phases I will divide my work into three
phases.

Phase 1:
1) Adding the VGG model.
2) Getting it trained on the ImageNet dataset, or successfully transferring
pre-trained weights to it. A little image recognition testing will be done
to make sure the model has learned good enough parameters.

Since there is already a PR open for VGG and Kartik Dutt is already working
on restructuring the models' repository, this should be easier than other
tasks. I'll probably have exams around this time so it'll work out well.

Phase 2:
1)Implementing Neural Style Transfer. I would like to implement it like a
neatly defined API which is easy to use. Adding it as a CLI program and an
importable library is what I'll aim for.

After VGG will be added MLPack has almost everything required to implement
this algorithm. I will need to define some custom loss but MLPack has is
already covered.

Phase 3:
1) In this phase I will document the API created in the parts it's lacking.
I will also do some more testing and add tutorials for it.
Testing will include using other models like inception and AlexNet to give
outputs and compare the visual quality of different models and visualizing
"content" and "style" of images as per the NN.

I think I'll have enough time to complete all of this, so any other small
details that are required to make this as refined as possible will be
worked upon within the GSOC period itself.

Any suggestions are highly appreciated.

Thanks,
Prince Gupta

On Fri, Mar 13, 2020 at 2:18 AM Marcus Edel 
wrote:

> Hello Prince,
>
> thanks for reaching out, and thanks for all the contributions over the last
> weeks.
>
> Personally, I would focus on one project, you can always implement another
> method if there is time left at the end, but since the models behind both
> ideas
> a somewhat different it makes sense to focus on a single one. Also, I
> think I
> said this before, but testing takes time, sometimes more time than the
> actual
> method implementation. Besides, documentation and writing a tutorial
> shouldn't
> be underestimated as well. That said I think each project is interesting
> and
> definitely enough work for a GSoC project.
>
> Thanks,
> Marcus
>
> > On 8. Mar 2020, at 09:49, Prince Gupta  wrote:
> >
> > Hello everyone
> > I am Prince Gupta, currently a 1st year Engineering student from India.
> I've been getting familiar with MLPack codebase, especially ANN and made
> some PRs since February 2020. I wanted to get some opinions on the GSOC
> project I've decided on.
> > I apologize in advance if this email gets too long.
> >
> > Earlier I discussed with @zoq about implementing YOLO for GSOC project
> but @kartikdutt18 was already working on it, so I decided to change my
> project idea as two people working on same thing will be redundant.
> >
> > For GSOC I would like to implement the following two applications of ANN:
> > 1) Neural Style Transfer
> > 2) Face Recognition
> >
> > To work on them I would also need to implement the following
> prerequisites which I hope to implement before the GSOC period starts:
> > 1) VGG-19 Model for Neural Style Transfer
> > 2) Triplet Margin Loss for Face Recognition(I've opened a PR on it
> already #2208)
> > 3) Inception Network for Face Recognition
> > If training is out of scope I'll try to use pre-trained weights.
> >
> > I would love to hear opinions on my project idea, is this sufficient? is
> this too much? other things I should consider or anything else.
> >
> > Project: Application of ANN Algorithms Implemented in mlpack
> > Mentors: Marcus Edel, Sumedh Ghaisas, Shikhar Jaiswal, Saksham Bansal
> >
> > Thanks
> > Prince Gupta
> > Github ID: prince776
> > ___
> > mlpack mailing list
> > mlpack@lists.mlpack.org
> > http://knife.lugatgt.org/cgi-bin/mailman/listinfo/mlpack
>
>
___
mlpack mailing list
mlpack@lists.mlpack.org
http://knife.lugatgt.org/cgi-bin/mailman/listinfo/mlpack