gajomi

Joined 15 years ago

Karma
486
Submissions
192
Member since
Oct 30
Engineer at the Allen Institute for Cell Science

http://gajomi.github.io/

View on Hacker News

Recent submissions

Comment · 2 years ago
I didn't see any of the specific job titles you mentioned on the career site. Perhaps this is part of the "antedisciplinary" method you refer to? Practically speaking though, should one just use the "Open Apply" option for Machine Learning Engineer/Scientist roles?
Comment · 3 years ago
PSA... check out this guy's LinkedIn profile. It's a great read.
Comment · 4 years ago
I think that is why he asked the rhetorical "which masks?".
Comment · 5 years ago
There are a couple starting points you could take. I spent a weekend hacking out a program that generates fake word/definition pairs with a transformer model set against a dictionary: https://youtu.be/XnJ2TKAn-Vk?t=1547. If you substitute fake words for real words and have a sufficiently accurate model you could quickly generate reasonable and novel definitions.

There are more complete versions of this kind of thing publicly available: https://github.com/turtlesoupy/this-word-does-not-exist

> This would be amazing, for example, to run on a large corpus, generate the dictionary, and then run it again to find words that are used but not defined - not just in the original corpus but in the definitions too.

I think this would be how you would gauge success of the model. That is to say, you would evaluate model accuracy on a set of held-out words with definitions that never appeared in your dictionary training set but appeared in context in your corpus. You would have to manually annotate whether or not the generated definition of these held out words was acceptable.

Comment · 5 years ago
Let me take a stab at this (I'll maybe take it halfway there). First of all we want to know what kind of matrix we are talking about.

Imagine that you have a whole bunch generative models (its best if you imagine a fully connected Boltzmann machine in particular, whose states you can think of as a binary vector consisting only of zeros and ones) that have the same form but different random realizations of their parameters. This is a typical example of what a toy model of a so-called "spin glass" looks like in statistical physics (the spins are either up down down, usually represented as +1/-1). Each of these models, having been initialized randomly will have their up particular frequency of a particular location (also called site) of the boolean vector being either a one or a zero.

If the tendency of a site to be either or one or a zero was independent of every other site the analysis of such a model would be pretty straightforward: every model would just have a vector of N frequencies and we could compare how close the statistical behavior of each model was to the other by comparing how closely the N frequencies at each site matched one another. But in the general case there will be some interaction or correlation between sites in a given model. If the interaction strength is strong enough this can result in a model tending to generate groups of patterns in its sequence of zeros and ones that are close to one another. Furthermore if we compare the overlap of the apparent patterns between two such models, each with their own random parameters, we will find that some of them overlap more than others.

What we can then do is to ask the question of how much, on average do the patterns of these random models overlap with on another in the full set of all models. This leads us to the concept of an "overlap matrix". This matrix will have one set of values along the diagonal (corresponding to how much a models patterns tend to overlap with themselves) and off diagonal values capturing the overlap between. You can find through simulation or with some carefully constructed calculations that when the interaction strength between sites is small that the off diagonal elements don't tend to zero, but rather a single number different from the diagonal value. This is perhaps intuitive: these models were randomly initialized but they are going to overlap in their behavior in some places.

Where things get interesting though is when you increase the interaction strength you find that the overlap matrix starts to take on a block diagonal form, wherein clusters of models overlap with one another at a certain level and at a lower but constant level with out-of-cluster models. This is called one replica symmetry breaking (1RSB). These different clusters of models can be thought of as having learned different overall patterns with the similarity quantified by their overalp. If you keep increasing the interaction strength you will find that this happens again and again, with a k-fold replica symmetry braking (kRSB) with a sort of self similar block structure emerging in the overlap matrix (picture is worth a thousand words [1]).

Now the real wild part that Parisi figured out is what happens when you take this process to the regime of full replica symmetry breaking. You can't really do this with simulations and the calculations are very tricky (you have a bunch of terms either going to infinity or zero that need to balance out correctly) but Parisi ending up coming up with an expression for the distribution of overlaps for the infinitely sized matrix with full interaction strength in play. The expression is actually a partial differential equation that itself needs to be solved (I told you the calculations were tricky right), but amazingly, it seems to capture the behavior of these kinds of models correctly.

Whereas mathematicians have a pretty good idea of how to understand the 1RSB process rigorously, the Parisi full replica symmetry breaking scheme is very much not understood and remains of interest both to complex systems researches trying to understand their models and applied mathematicians (probability people in particular) trying to lay the foundations needed to explore the ideas being explored by theorists.

Hope that helps a bit!

[1] https://www.semanticscholar.org/paper/Spin-Glasses%2C-Boolea...

Comment · 5 years ago
Comment · 5 years ago
I have been using the phrase "Artificial Stupidity" as well, but with the opposite meaning. Specifically I like to think of human-like artificial stupidity as a challenge for machine intelligence, in which an algorithm is able to replicate the rather sophisticated and incredibly entangled logic, intuitions and calculus of humans at the height of their stupidity. This seems to me a much greater challenge than the standard sort of supervised learning problems in that a truly stupid AI must be able to imagine latent variables that allow it to explain away real world observations in a way that is both statistically implausible but casually serendipitous to their stupid peers. This seems to me to be a requirement for any kind of useful AGI.
Comment · 5 years ago
This would be the opposite of a Turing test though, since most people wouldn't be able to do this.
Comment · 5 years ago
I can imagine a variant of this card that tries to tackle the point you bring up. Not all purchases are equal. Some of them have negative carbon footprints. The tree planting offsets the footprint for every purchase. These things are not easy to estimate exactly but since there are probably order of magnitude differences in carbon footprints for different products there should be useful information about the relative impact of a purchase to display to the consumer and to demonstrate the overall impact of the project.
Comment · 6 years ago
It seems to me that they are basically describing a variational formulation of the "optimization perspective" of reinforcement learning, which is cool, but I am confused... where is the supervised learning? Like what is the input and what is the output?
Comment · 6 years ago
FYI this is the _first_ call which is dominated by the JIT process. So not really "this time to plot" so much as the "time to compile". Calls to the resulting jitted function will be on the order of what you quote (I have not timed myself for the specific result they quote here but have done for similar in the past).
Comment · 6 years ago
Comment · 6 years ago
> we shouldn’t just be ranking people by age, if we want to come to moral outcomes?

Agreed. But I think quantifications can still be useful.

Person-years probably aren't the right sort of quantification though, in that they blend together too many kinds of human experience. But I imagine most people would agree that statements like "X% of grandparents, lost 10 years earlier than expected" or "Y% of children under 10" allow for comparing the relative impact on families.

Quantifying losses doesn't mean that we consider the quantified as fungible.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton