GitXplorerGitXplorer
u

weakai

public
236 stars
58 forks
0 issues

Commits

List of commits on branch master.
Unverified
247102c873969098a6e55c8325bb077be2bbb519

properly take square root

uunixpickle committed 7 years ago
Unverified
cd84c97b37a26ba51173c90549b497d72871c097

added limited-depth ID3

uunixpickle committed 8 years ago
Unverified
11522a995be20eb927be2c28da2d1e30617ffb06

fix tensor-related errors in demo

uunixpickle committed 8 years ago
Unverified
6ebf4fd2ffdfca46d4c185fe5d0753e1f344e584

use tensor library for convolution

uunixpickle committed 8 years ago
Unverified
a69ff3d4ff73c83f56071ceaeaf02076471dc71c

fewer allocations for 32-bit ConvNet

uunixpickle committed 8 years ago
Unverified
c3a41573099e7acce6c13b6c5e66672e7bd3d3a4

blas32 option for ConvLayer

uunixpickle committed 8 years ago

README

The README file for this repository.

weakai

I have been experimenting with various weak AI algorithms. In this repository, I will implement what I have learned and document the sources of my knowledge. Ideally, some day, there will be an accompanying strongai repository, but let's not get ahead of ourselves.

What's included

Here are the packages I've created for AI:

  • neuralnet - a Go library for feed-forward neural networks.
  • rnn - a recurrent neural network library based on neuralnet.
  • boosting - AdaBoost and (more generally) gradient boosting.
  • idtrees - identification trees and random forests.
  • svm - an implementation of Support Vector Machines, complete with my own solver. I am no expert at numerical analysis or quadratic optimization, but my solver works fairly well on medium-sized problems.
  • rnf - Radial Basis Function networks based on neuralnet.
  • rbm - Restricted Boltzmann Machine sampler and trainer.
  • evolution - a simplistic, not particularly practical implementation of artificial evolution.
  • demos - mostly older demos of the stuff in this repository. See the projects below for more interesting demos.

Projects which use this

Many of my projects use this repository. This list is not in any particular order, and is likely incomplete at any given time.

  • char-rnn - train RNNs to create text
  • seqtasks - benchmarks for comparing RNNs
  • neuralstruct - attach data structures to RNNs
  • hessfree - Hessian Free optimization
  • whichlang - classify programming languages
  • samepic - tell if images are of the same thing
  • spacesplice - add spaces to text whichhasnospaces.
  • haar - visual object detection
  • speechrecog - general RNN-based speech recognition
    • cubewhisper - speech recognition for Rubik's cube moves
  • mnistdemo - MNIST classifiers in action
  • svm-playground - SVMs in action
  • statebrain - trainable Markov models (basically, inefficient HMMs)
  • humancube - generate partial, human-like Rubik's cube solutions
  • sentigraph - graph sentiment over a piece of text
  • batchnorm - Batch Normalization for ANNs
  • imagenet - ImageNet fetching and classification
  • algebrain - neural attention to learn very basic algebra
  • hebbnet - experiments with Hebbian learning as a recurrent architecture
  • poeturn - taking turns writing poetry with an RNN
  • gans - generative adversarial networks and experiments
  • chatbot - RNN to have IM conversations (fails Turing test)
  • neuraltree - experimental tree-based neural architecture

Sources

Older demos

Here are some of the first demos I made while learning AI

  • objectrecog - an implementation of correlative object recognition. First, you show it an object from your webcam, then it finds that object in other pictures. This works surprisingly well for face tracking. This is a web application intended for desktops, since it does not support touch screens and most mobile devices do not support the getUserMedia() API.
  • hopfield - a graphical (HTML) demonstration of Hopfield networks.
  • mapcolor - four-color a map of the USA using a constraint search. This is a Go program that modifies an SVG of the USA and outputs the result.
  • nearestneighbors - a simple search engine that uses Nearest Neighbors. The search engine itself is far from useful, but at least it demonstrates a technique of Nearest Neighbors learning.
  • minimax - checkers AI that uses the minimax algorithm. This is an HTML+CSS+SVG+JavaScript application.