Giter Club home page Giter Club logo

neuro-evolution's Introduction

Multi-Objective Neuro Evolution

Abstract

In this project we implement a memetic algorithm, in that, we are training neural networks using evolutionary algorithms and occasionally apply back-propagation on cluster-heads we recieved after applying clustering. We used NEAT techniques to realise Neural Network and combined it with NSGA-II to implement Genetic algorithm. We have also done experiments on Transfer learning using this model. See branch 'dataset3_tl' for that.

Contributors

  1. Swapnil Sharma
  2. Aditya Pimparkar
  3. Atul Kumar Sinha
  4. Kunal Gupta
  5. Raghav Khandelwal

neuro-evolution's People

Contributors

atulsinha007 avatar kunalgupta41 avatar nilinswap avatar parkar-12 avatar teraflik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

neuro-evolution's Issues

Number of hidden layers in crossover is ambiguous

While crossover two different matrices are being used of both parents.
One is having weights between input and hidden layer and other between hidden layer and output.
So after crossover number of hidden nodes may conflict.
Possible solutions:

  1. Taking min of hidden nodes and reducing both matrices to that value.
    2.Taking max of hidden nodes and adding random weights.

Issues regarding GA implementation

  1. Increasing the population size to bigger values like 1000 causes the code to achieve minimum values in lesser iterations but code runs slow and could take days to reach optimum value.

  2. I am deciding fitness functions using guesses...need a way to find a good function which can work well for values as small as 10^-5 or less too.

  3. After some iterations minimum value nearly comes to a saturation point...this is happening because all values in population array are same.Increasing the mutation rate too much can change values in this array but that will fluctuate the minima too much.

Genetic algo's effect being invisible

If we remove back-propagation, (as I have removed in branch 02_wop) , GA's individual results suck!!
print results are generally like [G 10] score=(0.1161, 0.1203) [these are costs] for 1 hidden nodes
and It doesn't change with each generation, neither with each program execution
Task is to manipulate some parameters and see where the problem is.

log file updates

in 04, log.txt should mention the inferences of exercise performed with commit or pull request id.

Making this repository public.

As we had originally intended, and since now Kala sir requires us to submit our codes, let's make this repository public.

Things to do:

  • Copy the readme to post-midsem branch, get rid of master branch.
  • Rename post-midsem as master.
  • Cleanup a little bit.
  • Add documentation. (code is self documented, but still)
  • Integrate Travis CI, get build report functioning.
  • profit???

Chromosome mutation.

All the types of mutation can take place simultaneously on a single chromosome, making the chromosome way out of league.

Change data structure for chromosome

it's just a simple nd.array for now. Change this to a dictionary (map). format is mentioned below.

` chromosome={
		                             log_reg_w : np.array([
											[blah,blah]
											,..,
											[blah,blah]
											]),
   							log_reg_b : np.array([
											[blah,blah]
											,..,
											[blah,blah]
											]),
							hid_lay_w : np.array([
											[blah,blah]
											,..,
											[blah,blah]
											]),
							hid_lay_b : np.array([
											[blah,blah]
											,..,
											[blah,blah]
											])

							
				
	} `
  • make commits if you think the change made is important or lengthy, and commit name must be self-descriptive.
  • This will start a long chain of 'changes', e.g. mutation, crossover, ...everywhere. Though the changes are not algorthmic, but sure is very wide-spread.
  • Three pair of eyes (and hands) are desired to ensure changes are appropriate.
  • Any change other than mentioned(and their neighbours ) is discouraged.
  • All * abstract * issues discovered must not be addressed but first made an issue here in github.[actual issue: is the issue like print error, dimension mis-match etc; abstract issue: is the issue like 'accuracy not improving' etc]
  • Issue with this issue is also to be addressed here.
  • Compare results so that you know there is not a hideous error causing uncertainity . Test must be rigorous.
  • Branch aside from 05_postmidsem
    P.S. Next step will be connection matrix (abstract concept). Will be seen after all is working fine with these issue fixed, do not merge connection matrix with this issue, straight away. Stepwise.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.