Inspiration
Money makes the world go round. But what happens when there isn't enough money to go around? There are impoverished areas all across the globe, full of people struggling just to feed their families. The goal of rippleNet is to help social relief efforts using artificial intelligence. Using advanced analytic techniques coupled with machine learning and AI, our software is capable of analyzing financial trends, and determines businesses most necessary to sustain stability.
Imagine knowing that the funding of the clothing industry could spur the growth of the job market, improving the quality of life and decreasing crime rate. On a more global scale, imagine knowing that creating more coal mines in Venezuela would open up jobs in the food industry, and eventually create higher paying tech jobs.
Every penny counts, our algorithms figure out how to make it count the most.
What it does
Our software utilizes a specialized type of neural network called a Hopfield network. In a Hopfield network, every virtual neuron is connected to every other neuron, creating a massive mesh net. This contrasts greatly with conventional feed-foreward neural networks, in which signals propagate in only one direction. We chose this style of network because it most accurately simulates how companies interact with each other. Every company has some influence over every other company, granted some may have very little, it is almost never zero.
How we built it
Using a google API to get financial data for any company, we were able to train it with over 400 companies. For testing purposes, we loaded it with 50 better known companies that could be tracked by hand as needed. The training algorithms are scalable and will work with any amount of data. It could work with as few as two small family owned businesses or as many as 1,000 major world wide corporations; the neural network takes care of finding the trends no matter the scale.
We programmed the Hopfield network ourselves, working from hand with no external libraries. We used R to get the data sets, Python to train the data and Javascript to display it in a more user friendly fashion. We also used a specialized activation function in order to better propagate signals across the network.
This function allows network changes to more accurately effect the correct corresponding areas of other parts of the network. We also set up a AWS RDS server and set up a EC2 server to host our data with Node.js/HTML/CSS.
Challenges we ran into
Setting up and refining the Hopfield network. The machine learning algorithm was coded without using any packages in Javascript. Individually, we all either learned or refined a technical skill, e.g. setting up AWS server/cluster, learning Javascript and CSS.
Accomplishments that we're proud of
Most uses for Hopfield networks are limited to simple partial memory tests (given part of an image it has seen before, reconstruct the rest of the image). Our network is analyzing vastly more complex data trends, and therefore outputs data in a very different way than normal neural networks. Instead of receiving most of an image and returning the part that was missing, our network functions in reverse, actively changing its own nodes to guess the larger picture given only a small (sometimes even a single) data point to work from.
The training algorithms using Hopfield networks find correlations among many different stock prices from a variety of companies, and calculates the gains and losses for each company. Even though the initial data we are feeding it is correlation, the sheer amount of data, compounded over many years, allows it to become more certain about its guesses. Correlation on this scale can imply trends that may not have been obvious before.
What we learned
Our model was accurate in assessing changes downstream of stocks because of the interconnectivity of Hopfield networks. Ultimately, we each learned an individual technical skill that we haven't before and we come away a little bit more knowledgeable than before the hackathon. More importantly, we worked very well in a team.
What's next for ripplenet
To learn how we can improve from judges and colleagues to refine our approach
Log in or sign up for Devpost to join the conversation.