Skip to content

docs(biblio,#19266): Goodfellow ch. 8 ancré dans 2.2 — la carte restante soldée par écrit - #19329

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/19266-goodfellow-suite
Oct 5, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/19266-goodfellow-suite

Conversation

@jsboige

@jsboige jsboige commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/docs — lane myia-po-2023:CoursIA — prev: DEEP/notebook-python #19327

Tranche résiduelle de #19266 — les trois entrées « à vérifier » de la carte

#19270 (mergée) a soldé le contre-exemple fondateur (3.1, ch. 6.5) et audité les 6 carnets citants. Restaient non jugées par écrit trois entrées de la carte de l'issue : ch. 8 → 2.2 / 2.10, et 4.2. Cette PR les solde — un ancrage, deux verdicts de non-pertinence.

Ce qui est modifié : 2.2-Descente-de-gradient (entrée 7, markdown-only)

Goodfellow, Bengio & Courville (2016), ch. 8.1-8.3 — substantif, pas décoratif : le carnet mesure exactement ce que le chapitre formalise.

Ce que 2.2 mesure Ce que Goodfellow nomme
§7 « vallée allongée contre bol rond » (pourquoi standardiser) hessien mal conditionné (8.2.1)
§4 « descente rapide, puis un plateau » gradient qui s'annule à l'approche du minimum — cas convexe des régions plates que 8.2.2 décrit en général
§5 les trois destins du learning rate (divergence au pas trop grand) effet des falaises (8.2.3)
§3 la boucle de descente ch. 8.1 (apprendre ≠ optimiser) et 8.3 (SGD et variantes)

L'entrée croise explicitement l'entrée 6 (Deisenroth, ancrée par #19286) : Deisenroth pose le cadre mathématique, Goodfellow le traitement propre au deep learning. Note honnête : 2.2 minimise une MSE convexe — le plateau y est l'annulation du gradient à l'approche du minimum (le cas convexe), pas des points selles ; l'entrée le dit comme tel.

Ce qui n'est pas modifié — jugé par écrit (acceptance 3)

  • 2.10-Optimisation-Hyperparametres (ch. 8 « à vérifier ») : non pertinent. Ch. 8 traite des algorithmes d'optimisation (SGD, momentum, méthodes adaptatives), pas du search d'hyperparamètres, qui est le sujet de 2.10. Ses sources primaires — Bergstra & Bengio 2012 (le résultat géométrique), Akiba 2019 (Optuna/TPE consommé) — sont déjà citées précisément. La carte de l'issue proposait ch. 8 par approximation ; le traitement Goodfellow du search vit ch. 11 et résume Bergstra — secondaire, une citation serait décorative.
  • 4.2-ConvNet-Profonde-Residuelles (ch. 9 « à vérifier ») : non pertinent. Sa cellule de clôture cite précisément ses sources primaires — He et al. 2015 (ResNet), He et al. 2016 (ResNet-v2, pré/post-norme), Xiong et al. 2020 (LayerNorm) — ancrées sur les exercices du carnet. Ch. 9 (convolution, pooling) est le socle, déjà ancré en 4.1 (vérifié par fix(ml,#19266): Goodfellow 2016 ch. 6.5 ancé dans 3.1-Rétropropagation (contre-exemple fondateur) #19270) ; 4.2 est au-delà du socle, là où le livre n'apporte rien que les papers ne portent déjà.

Carte finale chapitre → carnet (acceptance 4)

Chapitre Goodfellow Carnet État Livré par
ch. 5 (information) 3.0-Theorie-Information déjà cité, précis —
ch. 6.5 (backprop) 3.1-Retropropagation ancré #19270 (mergée)
ch. 7 (régularisation) 3.3-Regularisation déjà cité, précis (5.2.2/7.5/7.8) —
ch. 8 (optimisation) 2.2-Descente-de-gradient ancré (entrée 7) cette PR
ch. 8 (optimisation) 2.10-Optimisation-Hyperparametres jugé non pertinent par écrit cette PR
ch. 9 (convolution) 4.1-Conv-NumPy-Torch-Allclose déjà cité, précis —
ch. 9 (convolution) 4.2-ConvNet-Profonde-Residuelles jugé non pertinent par écrit cette PR
ch. 14/20 (génératifs) 3.6 / 3.6b primary source = paper 2014, jugé #19270 (mergée)
— 2.15-Donnee-Comme-Responsabilite fausse correspondance (l'auteur personne ≠ le livre), jugé #19270 (mergée)

Conformité

  • Markdown-only : 1 fichier, +11 lignes, 0 cellule code touchée (git diff | grep -c '^\+\s*"source"' sur cellules code = 0) — pas de re-exécution due (exception C.2).
  • Artefact : PDF déjà archivé au gisement — MachineLearning/2016 - Deep Learning book.pdf (G:\Mon Drive\MyIA\IA\Bibliographie IA), vérifié présent ce jour. Aucun PDF committé.
  • Gardes locaux : prose-counts rc=0 · validate_pr_notebooks 1/1 (16 cellules) · nav-chain 0 NEW finding · pre-commit Passed.

Acceptance #19266 après cette PR

Closes #19266

🤖 Generated with Claude Code

…ante soldee par ecrit

Tranche residuelle de #19266 apres le merge de #19270 (qui a solde le
contre-exemple fondateur 3.1 et audite les 6 carnets citants) : les trois
entrees « a verifier » de la carte de l'issue.

- 2.2-Descente-de-gradient : MODIFIEE -- entree 7, Goodfellow ch. 8.1-8.3.
  Substantif, pas decoratif : le carnet MESURE vallée allongee (8.2.1,
  hessien mal conditionne), plateau (8.2.2, gradient qui s'annule -- cas
  convexe des regions plates), effet du pas (8.2.3). Croisee avec
  l'entree 6 (Deisenroth, #19286) : le cadre mathematique vs le
  traitement deep learning.
- 2.10-Optimisation-Hyperparametres : PAS DE MODIFICATION -- ch. 8
  n'est pas son sujet (algorithmes d'optimisation, pas le search) ; ses
  sources primaires (Bergstra & Bengio 2012, Optuna) sont deja citees
  precisement.
- 4.2-ConvNet-Profonde-Residuelles : PAS DE MODIFICATION -- sources
  primaires (He 2015/2016, Xiong 2020) citees precisement en cellule de
  cloture ; ch. 9 vit en 4.1 ou il est ancre (#19270).

Markdown-only, 0 cellule code touchee : pas de re-execution due
(exception C.2). Closes #19266 (les 4 cases d'acceptance sont couvertes :
3.1 par #19270, carte complete et verdicts par ecrit ci-dessous dans la
PR).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@github-actions github-actions Bot added the variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-po-2023:CoursIA a deja consomme son budget LIGHT du jour (axe genre G-VAR-2/3 (light-genre, quel que soit le tier declare) : #19064 (MED/readme, merge a 2026-10-05T00:25:15Z), #19224 (MED/guard, merge a 2026-10-05T07:18:03Z), #19226 (MED/guard, merge a 2026-10-05T09:33:29Z), #19125 (MED/docs, merge a 2026-10-05T12:00:31Z), #19262 (LIGHT/test, merge a 2026-10-05T12:28:16Z)).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour,
toutes categories LIGHT confondues
(guard, doc, refs, ... partagent un seul budget) :
c'est un RATIO, pas un plafond plat. La decision de merge reste au coordinateur.

@github-actions github-actions Bot added variation-tier-inflation declared LIGHT << effective LIGHT-genre (#10020, advisory) variation-genre-run >= 2 grains consecutifs du meme genre LIGHT pour la lane (#10020, advisory) labels Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 16
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

@github-actions github-actions Bot added the variation-genre-cap-exceeded light_genre > cap partage G-VAR-2 (#10020, advisory) label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams).

Scope = notebooks CHANGED in this PR, not the whole corpus. The factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2023:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-10-05) :

  • TIER-INFLATION : declared LIGHT << effective LIGHT-genre (tally : declared=1 genre=5 cap=3)
  • GENRE-RUN : run consecutif d'un genre LIGHT (voir signals.runs dans le log du job)
  • CAP-EXCEEDED-BY-GENRE : light_genre > cap partage G-VAR-2 (tally : declared=1 genre=5 cap=3)

G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 3.4s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.4s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.4s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.5s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.4s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 1.9s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 16.4s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.7s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 9.4s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@github-actions github-actions Bot added the trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Trivial-diff advisory (#15740, non bloquant).
genre docs dans la famille META (docs/guard/ledger/readme/test) + diff de 11 lignes changees (<= 100) + aucune exception ecrite dans le body : le litmus de la trivialite (une douzaine d'instances scannees a la suite) est credible. Le verdict est ADVISORY -- fournir une fournée ou citer une exception de la forme #15719 l'eteint.
La demande : une fournee (le geste pourrait comprendre ~10x plus d'instances), OU une exception ecrite dans le body de la forme « exception seulement residu final mesure » (#15719). Editer le body re-deroule cet organe et retire le label.

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@jsboige

jsboige commented Oct 5, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 19329
head: c7eb1d1
complete: true
body: read
comments-reviewed: 10
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: e67dd9f4923849bdd2053233c8dc1f2fc58d802e56479e0977143c06230cf3bf
diff-files: 1
diff-additions: 11
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19329
organ-rc: 0
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit fc1e2db into main Oct 5, 2026
94 of 95 checks passed
@jsboige
jsboige deleted the fix/19266-goodfellow-suite branch October 7, 2026 07:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) variation-genre-cap-exceeded light_genre > cap partage G-VAR-2 (#10020, advisory) variation-genre-run >= 2 grains consecutifs du meme genre LIGHT pour la lane (#10020, advisory) variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) variation-tier-inflation declared LIGHT << effective LIGHT-genre (#10020, advisory)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[consolidation] Goodfellow Deep Learning (2016) : ancrage systematique -- 6 carnets le citent, les coeurs ne le citent pas

2 participants