Crossposted from the AI Alignment Forum. May contain more technical jargon than usual.

Mentioned in

Beren's "Deconfusing Direct vs Amortised Optimisation"

7Max H

2DragonGod

3David Johnston

3Roman Leventov

3Jonas Hallgren

5DragonGod

1mruwnik

2DragonGod

1mruwnik

1Spencer Becker-Kahn

New Comment

10 comments, sorted by Click to highlight new comments since: Today at 8:33 AM

The limitations of direct optimisation in rich environments seem complexity theoretic, so better algorithms won't fix them

This seems questionable. Humans are pretty good at "direct optimization" when they want to be (a point mentioned in the original post).

And it seems straightforward to construct artificial systems that behave even more like "direct optimizers" than humans, even if some or all of the component pieces of those systems are made out of function-approximators. Mu Zero is a good example; I sketched what a "real world" version might look like here.

To me, "amortized optimization" seems like just one tool in the toolbox of *actual* optimization, which is about choosing actions that steer towards outcomes.

A transformer at temp 0 is also doing an argmax. I’m not sure what the fundamental difference is - maybe that there’s a simple and unchanging evaluation function for direct optimisers?

Alternatively, we could say that the class of approximators all differ substantially in practice from direct optimisation algorithms. I feel like that needs to be substantiated, however. It is, after all, possible to learn a standard direct optimisation algorithm from data. You could construct a silly learner that can implement either the direct optimisation algorithm or something else random, and then have it pick whichever performs better on the data. It might also be possible with less silly learners.

In humans and other animals, the distinction between direct and amortised optimisation manifests as planning-as-inference vs. deontic action (Constant et al., 2021, https://www.frontiersin.org/articles/10.3389/fpsyg.2020.598733/full):

Deontic actions are actions for which the underlying policy has acquired a deontic value; namely, the shared, or socially admitted value of a policy (Constant et al., 2019). A deontic action is guided by the consideration of “what would a typical other do in my situation.” For instance, stopping at the red traffic light at 4 am when no one is present may be viewed as such a deontically afforded action.

This also roughly corresponds to the distinction between representationalism and dynamicism.

When reading this, I have a question of where between a quantiliser and optimiser amortised optimisation lies. Like, how much do we run into maximised VNM-utility style problems if we were to scale this up into AGI-like systems?

My vibe is that it seems less maximising than a pure RL version would, but then again, I'm not certain to what extent optimising for function approximation is different from optimising for a reward.

I think amortised optimisation doesn't lie on the same spectrum as "quantiliser - (direct) optimiser" but is another dimension entirely. I.e. your question is like asking: "where between the x and y axis does the line for the z axis lie"?

Amortised optimisation is just a fundamentally different approach where we learn to approximate some function from a dataset and then just evaluate the learned function.

The behaviour of the amortised policy may look similar to a direct optimiser on the training distribution, but diverge arbitrarily far on another distribution where the correlation between the learned policy and a particular objective breaks down.

This is a very strong endorsement but I'm finding it hard to separate the general picture from RFLO:

mesa-optimization occurs when a base optimizer...finds a model that is itself an optimizer,

where

a system is an

optimizerif it is internally searching through a search space (consisting of possible outputs, policies, plans, strategies, or similar) looking for those elements that score high according to some objective function that is explicitly represented within the system.

i.e. a mesa-optimizer is a learned model that 'performs inference' (i.e. evaluates inputs) by internally searching and choosing an output based on some objective function.

Apparently a "direct optimizer" is something that "perform[s] inference by directly choosing actions^{[1]} to optimise some objective function". This sounds almost exactly like a mesa-optimizer?

## Preamble

I heavily recommend @beren's "Deconfusing Direct vs Amortised Optimisation". It's a very important conceptual clarification that has changed how I think about many issues bearing on technical AI safety.

Currently, it's the most important blog post I've read this year.

This sequence (if I get around to completing it) is an attempt to draw more attention to Beren's conceptual frame and its implications for how to think about issues of alignment and agency.

This first post presents a distillation of the concept, and subsequent posts explore its implications.

## Two Approaches to Optimisation

Beren introduces a taxonomy categorising intelligent systems according to the kind of optimisation they are performing. I think it's more helpful to think of these as two ends of a spectrum as opposed to distinct discrete categories; sophisticated real world intelligent systems (e.g. humans) appear to be a hybrid of the two approaches.

## Direct Optimisers

^{[1]}to optimise some objective functionNaively, direct optimisers can be understood as computing (an approximation of) argmax (or argmin) for a suitable objective function during inference.

## Amortised Optimisers

^{[2]}during training and perform inference by evaluating the output of the learned function on their inputs.Naively, amortised optimisers can be understood as evaluating a (fixed) learned function; they're not directly computing argmax (or argmin) for any particular objective function during inference.

## Differences

AspectDirect OptimizationAmortized Optimization## Some Commentary

^{^}Or strategies, plans, probabilities, categories, etc.; any "output" of the system.

^{^}Beren: