eurorack, wavenet, fpga
wavenet on an mcu is fast, but, oh boy! wait until you see an even larger model running on an FPGA!
mcu, wavenet, eurorack
wavenet can run at audio rates on an mcu, if you cache carefully, and be used for fun eurorack effects.
did a talk ay pycon on jax. check out the recording!
projects, ga, jax
rather than use all 13 channels in a multi spectral image for classification can we train a model that is robust to all combos, at all resolutions, and use a genetic algorithm to choose which are the most valuable? (spoiler; yes)
quick_hack, tpu, jax
a quick hack to see how fast we can get a v3-32 pod slice cranking with a global batch size of 170,000; tl-dr pretty fast!
tpu, ensemble_nets, jax, projects, haiku
a 4 (and a bit) part tutorial / colab / screencast series starting with jax fundamentals working up a data parallel approach to running on a cloud tpu pod slice... all focused on solving the toughest problem in machine learning; 1d y=mx+b
was a guest on the develomentor podcast talking about random parts of my career
objax, jax, projects
a series of small experiments on using focal loss to do out of distribution detection
it's been ten years so it's probably time to update my list of cool machine learning books.
gan, jax, projects, objax
a GAN experiment to generate dithers for an eink screen minimising pixel change between frames for a very slow movie player.
objax, projects, ensemble_nets, jax
ensemble nets; using jax vmap to batch over not just the inputs of a model but also sets of multiple models parameters.
objax, metric_learning, jax
an objax tutorial on using metric learning for image similarity.
i think high level short explainer videos on jax frameworks while doing farm chores is going to be a growing genre.
a talk i did at melbourne ml/ai on how attention mechanism can be interpretated as a form of differentiable map. check out the recording!
a recording of a talk i did on self supervised learning at yow data.
random embedding networks can be used to generate weakly labelled data for metric learning and they see a large benefit from being run in ensembles. can we represent these ensembles as a single forward pass in jax? why yes! yes we can!
a keras.io tutorial on using metric learning for image similarity.
code (and youtube walkthrough) of a port of some numpy code i did recently to einsum that i thought was illustrative.
youtube link and slides of a talk i did recently on metric learning at the melbourne ml and ai meetup
quick example code of a simple way to gauge baseline random performance.
quick example code demoing a way to derive class_weights from performance on validation data. this can often speed training up.
some code showing how you can init the bias of classifier to match the base distribution of your training data.
some code that demos how to run pybullet for generating a truck load of synthetic training under google cloud dataflow.
slides of a talk i did at the melbourne data engineering meetup.
evolving a controller for cartpole using an evolutionary algorithm that operates directly on the byte level of a serialised tf lite microcontroller model.
recording of a talk i did on meta learning at yow data
a half baked attempt to train a pix2pix model on dash cam videos from a roadtrip around the eastern state of the u.s.
an example of using time contrastive networks to learn embeddings for the pose of a kuka arm in a pybullet simulated grasping environment.
the last paper i was involved in at google has been released! congrats to tom and the team.
training a fully convolutional unet to count bees from a raspberry pi stuck to the side of a hive.
a short walkthrough explainer on fully convolutional networks.
a paper i helped with at google robotics has been released! congrats to konstantinos and the team!
a recording of a talk i did at the melbourne ml ai meetup.
some cook book examples of gradient norm visualisation in tensorboard.
i'm leaving google brain and we're moving back to australia.
a pybullet 3d version of cartpole where the pole isn't connected to the cart and you have to learn from pixels.
our wikireading paper is out! congrats to daniel and the team!check it out at on arxiv... WikiReading: A Novel Large-scale Language Understanding Task over Wikipedia...
using reinforcement learning to train neural nets for driving a simulated robot around a track.
one thing in theano i couldn't immediately find examples for was a simple embedding lookup table, a critical component for anything with NLP. turns out that it's just one of those things that's so simple no one bothered writing it...
language modelling is a classic problem in NLP; given a sequence of words such as "my cat likes to ..." what's the next word? this problem is related to all sorts of things, everything from autocomplete to...
i've been reviving some old theano code recently and in case you haven't seen it theano is a pretty awesome python library that reads a lot like numpy but provides two particularly interesting features.symbolic...
PyMC is a python library for working with bayesian statistical models, primarily using MCMC methods. as a software engineer who has only just scratched the surface of statistics this whole...
say you have three items; item1, item2 and item3 and you've somehow associated a count for each against one of five labels; A, B, C, D, E> data A ...
the basis of most recommendation systems is the ability to rate similarity between items. there are lots of different ways to do this. one model is based the idea of an interest graph where the nodes of the graph are...
the central offering from common crawl is the raw bytes they've downloaded and, though this is useful for some people, a lot of us just want the visible text of web pages. luckily they've done this extraction as...
the jaccard coefficient is one of the fundamental measures for doing set similarity. ( recall jaccard(set1, set2) = |intersection| / |union|. when set1 == set2 this evaluates to 1.0 and when set1 and set2 have no intersection it evaluates to...
after having to google this stuff three times in the last few months i'm writing it down here so i can just cut and paste next time...> d = read.delim('data.tsv',header=F,as.is=T,col.names=c('dts_str','freq'))> # YEAR MONTH DAY HOUR> head(d,3) ...
hmmm. did you mean collocations in wikipedia?...
Common crawl is a publically available 30TB web crawl taken between September 2009 and September 2010. As a small project I decided to extract and tokenised the visible text of the web pages in this dataset. All...
Next Page »
ensemble nets : training ensembles as a single model using jax on a tpu pod slice(sept 2020)
bnn : counting bees with a rasp pi (may 2018)
drivebot : learning to do laps with reinforcement learning and neural nets (feb 2016)
wikipedia philosophy : do all first links on wikipedia lead to philosophy? (aug 2011)
cartpole++ : deep RL hacking with a complex 3d cart pole environment (aug 2016)
malmomo : deep RL hacking on minecraft with malmo (jan 2017)
some papers from my time at google research / brain...
- Natural Questions: a Benchmark for Question Answering Research
- Using Simulation and Domain Adaptation to Improve Efficiency of Deep Robotic Grasping
- WikiReading: A Novel Large-scale Language Understanding Task over Wikipedia
my honours thesis
the co-evolution of cooperative behaviour (1997) evolving neural nets with genetic algorithms for communication problems.
- latent semantic analysis via the singular value decomposition (for dummies)
- semi supervised naive bayes
- statistical synonyms
- round the world tweets
- decomposing social graphs on twitter
- do it yourself statistically improbable phrases
- should i burn it?
- the median of a trillion numbers
- deduping with resemblance metrics
- simple supervised learning / should i read it?
- audioscrobbler experiments
- chaoscope experiment