Jäger (2007): Maximum Entropy Models and Stochastic Optimality Theory #
This file formalizes Jäger's result that Boersma's Gradual Learning Algorithm (GLA) for Stochastic Optimality Theory is stochastic gradient ascent on the log-likelihood of a maximum entropy model of the kind Goldwater and Johnson propose. The expected GLA adjustment is the plasticity times the excess of the expected violations over the observed, which is the gradient of the log-likelihood once violations are read as non-positive features. Since that log-likelihood is concave, the maximum entropy learner reaches its global maximum, the guarantee Stochastic OT lacks. The file also reruns Boersma and Levelt's acquisition simulation over five syllable-structure constraints.
Main results #
expected_glaUpdate,expected_glaUpdate_eq_self_iff: the expected GLA adjustment, which vanishes exactly when the expected and observed violations agree.gla_eq_sga: the GLA step is the stochastic gradient step of the maximum entropy model.produced_stages: as FAITH overtakes the markedness constraints one by one, the syllable types are produced in the nested order CV, CVC, {V, VC}, {CVCC, VCC}, {CCV, CCVC, CCVCC}.corpusRate_order: over the corpus of Table 1 the markedness ranks fall in the order of their violation rates, *CODA first and *COMPLEXONSET last.
Implementation notes #
- The maximum entropy probabilities are the
HarmonicGrammar.maxEntdistributions of each input's candidates, as in Goldwater and Johnson's model; the sampled estimate of the expected violations is stated over an arbitrary distribution on the candidates. - Table 1 is the paper's data, in permyriad; the initial ranks, 0 for FAITH and 10 for the markedness constraints, the learning rate 0.1 and the trajectory of Figure 1 are reported, not derived. The simulation's acquisition order refines the stages' ties by frequency, placing CVCC before VCC; the stages alone leave them tied.
References #
The Gradual Learning Algorithm as Stochastic Gradient Ascent #
The GLA update of Section 2 on a single rank, which adds the plasticity times the sign of the excess of the sampled hypothesis's violations over the observation's.
Equations
- Jaeger2007.glaSign r η obs hyp = r + η * ↑(SignType.sign (↑hyp - ↑obs))
Instances For
The GLA update of a rank on binary constraints, which adds the plasticity times the excess of the sampled hypothesis's violations over the observation's, raising a constraint that favours the observation and lowering one that favours the hypothesis.
Equations
- Jaeger2007.glaUpdate r η obs hyp = r + η * (↑hyp - ↑obs)
Instances For
On binary constraints the sign is idle, and the GLA update is the plain excess.
Over a distribution on the hypotheses, the expected GLA update of a rank is the plasticity times the excess of the expected violations over the observed (equation (1)).
The learner is at rest exactly when the expected and the observed violations agree, the convergence criterion of Section 4 shared by the GLA and Stochastic Gradient Ascent.
With the other weights held fixed, the derivative of the log probability of an observation in weight j is its expected violations of constraint j less the observed ones, which is the observed feature less its expectation once violations are read as non-positive features (equation (2)).
The Stochastic Gradient Ascent step of Section 4 on a single weight, which follows the gradient (2) with the empirical expectation replaced by the observed feature value and the model's expectation by the feature value of a sampled hypothesis.
Equations
- Jaeger2007.sgaUpdate r η observed sampled = r + η * (observed - sampled)
Instances For
The GLA update is the Stochastic Gradient Ascent step once violations are read as the non-positive features of the maximum entropy model (Section 4).
The Dutch syllable types of Table 1 #
A syllable type, given by the numbers of consonants in its onset and its coda, at most two each.
Equations
- Jaeger2007.Syl = (Fin 3 × Fin 3)
Instances For
The row of Table 1 recorded by an example, a syllable type with its frequency in permyriad.
Equations
- Jaeger2007.Row.ofDatum e = do let on ← e.nat? "onset" let co ← e.nat? "coda" let f ← e.nat? "permyriad" if h : on < 3 ∧ co < 3 then some ((⟨on, ⋯⟩, ⟨co, ⋯⟩), f) else none
Instances For
Table 1.
Equations
- Jaeger2007.rows = List.filterMap Jaeger2007.Row.ofDatum Jaeger2007.Examples.all
Instances For
The constraints of Section 5 #
*CODA, which penalizes a coda.
Equations
- Jaeger2007.starCoda = OptimalityTheory.Constraint.binary fun (c : Jaeger2007.Syl × Jaeger2007.Syl) => 1 ≤ c.2.2
Instances For
ONSET, which penalizes a vowel-initial syllable.
Equations
- Jaeger2007.onset = OptimalityTheory.Constraint.binary fun (c : Jaeger2007.Syl × Jaeger2007.Syl) => c.2.1 = 0
Instances For
*COMPLEXCODA, which penalizes a complex coda.
Equations
- Jaeger2007.starComplexCoda = OptimalityTheory.Constraint.binary fun (c : Jaeger2007.Syl × Jaeger2007.Syl) => c.2.2 = 2
Instances For
*COMPLEXONSET, which penalizes a complex onset.
Equations
- Jaeger2007.starComplexOnset = OptimalityTheory.Constraint.binary fun (c : Jaeger2007.Syl × Jaeger2007.Syl) => c.2.1 = 2
Instances For
FAITH, which penalizes an output that differs from its input.
Equations
- Jaeger2007.faith = OptimalityTheory.Constraint.binary fun (c : Jaeger2007.Syl × Jaeger2007.Syl) => c.1 ≠ c.2
Instances For
The constraint set, in the order of the converged ranking FAITH ≫ *COMPLEXONSET ≫ *COMPLEXCODA ≫ ONSET ≫ *CODA.
Equations
Instances For
Every syllable type is a candidate output for every input.
Equations
- Jaeger2007.cands x✝ = Finset.univ
Instances For
A ranking produces an input faithfully exactly when every markedness constraint the input violates is ranked below FAITH.
The syllable types produced faithfully once the markedness constraints in S are below
FAITH, namely those violating no other markedness constraint.
Equations
- Jaeger2007.produced S = {i : Jaeger2007.Syl | ∀ (k : Fin 5), Jaeger2007.con k (i, i) = 1 → k ∈ S}
Instances For
The types a ranking produces faithfully are those of the stage it is at.
The stages at which FAITH overtakes *CODA, ONSET, *COMPLEXCODA and *COMPLEXONSET in turn produce the syllable types in the nested order CV; CVC; V, VC; CVCC, VCC; CCV, CCVC, CCVCC.
CV violates no markedness constraint.
A learner producing CV with certainty, the initial state with FAITH at 0 and the markedness constraints at 10, lowers each markedness rank by the plasticity times the observation's violations, (1).
The violation rate of a constraint in the corpus of Table 1, in permyriad.
Equations
- Jaeger2007.corpusRate k = (List.map (fun (r : Jaeger2007.Syl × ℕ) => r.2 * Jaeger2007.con k (r.1, r.1)) Jaeger2007.rows).sum
Instances For
FAITH is never violated in the corpus, and the markedness ranks fall fastest for *CODA, then ONSET, *COMPLEXCODA and *COMPLEXONSET, the order in which FAITH overtakes them.