• Stars
    star
    235
  • Rank 171,079 (Top 4 %)
  • Language
    Go
  • Created almost 9 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AI algorithms implemented in Go

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.

More Repositories

1

gobfuscate

Obfuscate Go binaries and packages
Go
1,323
star
2

JamWiFi

A GUI, easy to use WiFi network jammer for Mac OS X
Objective-C
779
star
3

kahoot-hack

Reverse engineering kahoot.it
Go
470
star
4

muniverse

Β΅niverse: RL environments for HTML5 games
JavaScript
361
star
5

Giraffe

Encode animated GIF files on the iPhone
Objective-C
261
star
6

anyrl-py

A reinforcement learning framework
Python
156
star
7

obs-tower2

My solution to the Unity Obstacle Tower Challenge
Python
136
star
8

model3d

Create & render beautiful 3D models
Go
126
star
9

audioset

Fetch and use Google's AudioSet dataset
Go
123
star
10

sk2torch

Convert scikit-learn models to PyTorch modules
Python
113
star
11

num-analysis

Learning some Numerical Analysis
Go
95
star
12

cbyge

Reverse engineering Cync (formerly "C by GE") WiFi devices
Go
94
star
13

fbmsgr

Reverse engineering Facebook Messenger
Go
89
star
14

ANImageBitmapRep

A set of classes for easily manipulating images with bitmap data or CoreGraphics
Objective-C
85
star
15

car-data

Scraping and predicting car info
Python
82
star
16

vq-vae-2

A PyTorch implementation of the VQ-VAE-2 paper
Python
74
star
17

Benchmarks

Some language performance comparisons.
Rust
66
star
18

SnapchatHax

Hacking away at Snapchat from iOS!
Objective-C
65
star
19

learn-nerf

Learning about Neural Radiance Fields
Python
63
star
20

ImageReflection

A simple addition to UIImage allowing the reflection of images
Objective-C
55
star
21

cve-2018-4407

Crash macOS and iOS devices with one packet
Go
48
star
22

vq-voice-swap

Voice swapping with VQ-VAE and diffusion models
Python
48
star
23

GifPro

My new and improved Gif encoder for Mac
Objective-C
43
star
24

LibOrange

A simple AOL Instant Messenger implementation for Objective-C
Objective-C
42
star
25

vae-textures

Texture mapping with variational auto-encoders
Python
41
star
26

vq-draw

A discrete sequential VAE
Jupyter Notebook
38
star
27

PathIntersection

A class that can be used to find line intersections of CGPaths
Objective-C
36
star
28

learn-quantum

Learning about quantum computing
Go
36
star
29

anynet

Framework for artificial neural networks
Go
35
star
30

MP4Audio

A partially broken Objective-C API for extracting audio from MP4 files and editing metadata.
Objective-C
35
star
31

ANColorPicker

A custom mac-like color well for iPhone
Objective-C
33
star
32

sgdstore

Augmented RNN memory via live SGD
Go
32
star
33

Mac-Utils

A series of small applications to increase the Mac OS X experience
Objective-C
31
star
34

whichlang

Using ML to recognize programming languages
Go
27
star
35

spherenet

Implementing Deep Hyperspherical Learning
Python
27
star
36

cuda

Go bindings for CUDA, done right.
Go
26
star
37

svm-playground

Play around with SVMs in the browser
JavaScript
25
star
38

hopfield

Hopfield networks in TensorFlow
Python
23
star
39

char-rnn

Generate text with recurrent neural nets
Go
22
star
40

ddim

Denoising Diffusion Implicit Models
Jupyter Notebook
22
star
41

demoverse

Record demonstrations for Β΅niverse
Go
21
star
42

alux

A lightweight C++ kernel designed to run a JavaScript or Dart VM
C++
21
star
43

rwa

RWA recurrent neural networks
Go
20
star
44

camera-hijack

A chrome extension to mess with the webcam
JavaScript
20
star
45

treeagent

Decision tree ensembles as RL policies
Go
19
star
46

SoundArt

Draw sound waves and hear them, iOS only
Objective-C
19
star
47

learnos

Reminding myself everything I knew about OSDev (and more)
C
19
star
48

ANExpressionParser

Terrible, old, Objective-C expression parser.
Objective-C
19
star
49

ImageTransfer

Bluetooth image transferring app for the iPhone
18
star
50

SocketKit

A C socket wrapper (with SSL) written in Objective-C
17
star
51

ScreenPear

A remote displays application for OS X, still in the works.
Objective-C
16
star
52

heatgrid

Emulate heat conduction in a solid
JavaScript
16
star
53

uno-ai

AI for the game Uno
Python
16
star
54

FreeRez

A GUI Mac OS X application for setting the native resolution on a Retina MBP
Objective-C
15
star
55

voronoi-interp

Create cool animations by gradually adding pixels to an interpolated image.
Go
15
star
56

sentigraph

Graph sentiment throughout a piece of text
Go
15
star
57

bezier-mnist

MNIST, but with Bezier curves instead of pixels
Python
15
star
58

ANDownload

A small download manager with pause&resume support for iphone and mac
Objective-C
15
star
59

anyrl

[Deprecated] APIs for Reinforcement Learning
Go
14
star
60

VideoExporter

A basic Objective-C wrapper for AV Foundation's AVAssetWriter
Objective-C
14
star
61

SpinWheel

A UIView that the user can spin with touch events
Objective-C
14
star
62

godsalg

Trying to find God's algorithm on a Rubik's cube
Go
14
star
63

statushub

A simple log aggregation tool
JavaScript
13
star
64

cnn-toys

Playing around with CNNs
Python
13
star
65

Wolfram-API

An Objective-C implementation of the Wolfram API 2.0
Objective-C
13
star
66

dist-sys

Teaching myself about distributed systems
Go
12
star
67

essentials

Things I wish were Go built-ins
Go
12
star
68

chatbot

Instant messaging with a neural network
Go
12
star
69

neuralspell

Spell and pronounce words with a neural network
Go
12
star
70

polish

Denoising networks for ray traced images
Go
12
star
71

text2emoji

Neural network that produces emojis from text
Python
12
star
72

ffmpego

A Go package for encoding and decoding video and audio files.
Go
12
star
73

torch-bandpass

An implementation of the Prism layer (https://arxiv.org/abs/2011.04823)
Jupyter Notebook
11
star
74

packet-proxy

A proxy for reverse engineering a communication protocol
Go
11
star
75

setres

A CLI for setting the resolution on Mac OS X on the retina MBPs
Objective-C
11
star
76

markovchain

Markov chains for text and anything else
Go
11
star
77

mnistdemo

Test MNIST classifiers from your browser
Go
11
star
78

cubezapp

An amazing cube timer
JavaScript
11
star
79

Expressions

An object-oriented mathematical expression parser for Objective-C
Objective-C
10
star
80

uber-ga

Implementation of Uber's genetic algorithm for RL
Python
10
star
81

learning-tf

Learning TensorFlow
Python
10
star
82

pca-compress

Compressing neural network initializations with PCA
Python
10
star
83

tweetembed

Build word embeddings for Tweets
Go
10
star
84

LassoCapture-old

Extended screenshot options for Mac OS X
Objective-C
10
star
85

SlideToUnlock

A slide-to-unlock interface for iOS
Objective-C
10
star
86

anarch

API for architecture-specific abstractions in OS kernels
C++
10
star
87

tf-env

RL environments written in pure TensorFlow
Python
10
star
88

agg

Command-line tool for numerical aggregates
Go
9
star
89

payrange

Tracking laundry machines
Rust
9
star
90

wav

A WAV encoding/decoding library for Go
Go
9
star
91

voronoi-glass

Create a cool glass-like pattern using Voronoi cells
Go
9
star
92

ANHTML

A lightweight HTML parser for Objective-C (ARC only)
Objective-C
9
star
93

captcha-crack

Cracking a simple captcha system
Python
9
star
94

ErrorScatter

A small prank application for Mac OS X
Objective-C
9
star
95

anyvec

Precision-agnostic vector abstractions
Go
9
star
96

solid-trace

Visualize 3D solids implemented as JavaScript boolean functions
JavaScript
9
star
97

smallpng

Lossy compression for PNG files
Go
9
star
98

speechrecog

Tools for speech recognition
Go
9
star
99

wavenet

A convenient TensorFlow package for the WaveNet architecture
Python
9
star
100

gospeech

An attempt at speech synthesis in Go
Go
9
star