Level 2 — RecallResearch Frontiers & Practice

Research Frontiers & Practice

30 minutes40 marksprintable — key stays hidden on paper

Level: 2 (Recall — definitions, standard problems, short derivations) Time limit: 30 minutes Total marks: 40

Answer all questions. Show working where a derivation is requested.


Q1. Define reproducibility in the context of ML papers, and list three artifacts a paper should provide to enable it. (4 marks)

Q2. State what the InfoNCE / NT-Xent loss computes in SimCLR. For a positive pair (i,j)(i,j) within a batch, write the NT-Xent loss expression using cosine similarity sim(,)\text{sim}(\cdot,\cdot) and temperature τ\tau. (4 marks)

Q3. In SimCLR a batch of NN images is augmented into 2N2N views. For a given anchor, how many positive and how many negative examples does it have? (3 marks)

Q4. Briefly explain how CLIP is trained (contrastive vision–language objective) and name the two encoders it uses. (4 marks)

Q5. Define catastrophic forgetting in continual learning and name two strategy families used to mitigate it. (4 marks)

Q6. Define federated learning. In the standard FedAvg algorithm, write the server-side aggregation update for the global model weights ww given KK clients with local weights wkw_k and sample counts nkn_k (total n=knkn=\sum_k n_k). (5 marks)

Q7. What is a world model in embodied AI? State the two components typically learned (e.g., in a model-based RL sense). (4 marks)

Q8. Define neuro-symbolic AI and give one advantage it offers over a purely neural approach. (3 marks)

Q9. A benchmark reports 92% accuracy. Give three reasons why this single number may not reflect true model quality (evaluation-rigor issues). (3 marks)

Q10. List three distinct items that make a strong ML portfolio, and state one good first way to contribute to an open-source ML project. (6 marks)


End of paper

Answer keyMark scheme & solutions

Q1. (4 marks)

  • Reproducibility = the ability of an independent party to obtain the same (or statistically consistent) results using the paper's described methods, given the same data/setup. (1)
  • Three artifacts (1 mark each, any three): source code, datasets / data-splits, trained weights / checkpoints, hyperparameter configs & random seeds, environment specification (dependencies). (3)

Q2. (4 marks)

  • InfoNCE/NT-Xent measures agreement between two augmented views of the same image, pulling positives together and pushing negatives apart in embedding space. (1)
  • Loss for positive pair (i,j)(i,j): (3) i,j=logexp(sim(zi,zj)/τ)k=12N1[ki]exp(sim(zi,zk)/τ)\ell_{i,j} = -\log \frac{\exp(\text{sim}(z_i,z_j)/\tau)}{\sum_{k=1}^{2N}\mathbb{1}_{[k\neq i]}\exp(\text{sim}(z_i,z_k)/\tau)} (1 for numerator = positive term, 1 for denominator = sum over all others, 1 for τ\tau scaling.)

Q3. (3 marks)

  • Positives per anchor: 1 (its other augmented view). (1.5)
  • Negatives per anchor: 2N22N-2 (all remaining views in the batch). (1.5)

Q4. (4 marks)

  • CLIP trains on (image, text) pairs; a batch of NN pairs gives an N×NN\times N similarity matrix. The objective maximizes cosine similarity of the NN correct (matched) pairs and minimizes it for the N2NN^2-N mismatched pairs (symmetric cross-entropy over rows and columns). (2)
  • Two encoders: an image encoder (e.g., ResNet/ViT) and a text encoder (Transformer). (2)

Q5. (4 marks)

  • Catastrophic forgetting = when a model trained sequentially on new tasks loses performance on previously learned tasks because new-task gradients overwrite important weights. (2)
  • Two families (1 each): regularization-based (e.g., EWC), replay/rehearsal-based (memory buffer), architecture/parameter-isolation (progressive nets). (2)

Q6. (5 marks)

  • Federated learning = training a shared model across many decentralized clients that keep their raw data local; only model updates/weights are shared with a server. (2)
  • FedAvg aggregation: (3) wk=1Knknwkw \leftarrow \sum_{k=1}^{K} \frac{n_k}{n}\, w_k (weighted average by sample count; 1 for weighting, 1 for sum over clients, 1 for correct normalization by nn.)

Q7. (4 marks)

  • A world model is a learned internal model that predicts how the environment evolves given the agent's actions, enabling planning/imagination without acting in the real world. (2)
  • Two components: a dynamics/transition model (st+1p(st,at)s_{t+1}\sim p(\cdot|s_t,a_t)) and an observation/representation (encoder) model (mapping observations to latent states); a reward model is also acceptable. (2)

Q8. (3 marks)

  • Neuro-symbolic AI combines neural networks (learning from data) with symbolic reasoning (logic/rules/knowledge) in one system. (2)
  • One advantage (any): better interpretability, data efficiency, generalization/compositionality, or ability to enforce hard constraints. (1)

Q9. (3 marks, 1 each)

  • Test set may be too small / not representative or leaked from training (data leakage).
  • Single metric hides class imbalance — accuracy misleading, no precision/recall/per-class breakdown.
  • No confidence interval / statistical significance / multiple seeds — could be run-to-run luck; also possible train–test overlap or overfitting to the benchmark.

Q10. (6 marks)

  • Three portfolio items (1 each, any three): reproduced/from-scratch model implementations, well-documented GitHub projects, blog posts / paper write-ups, Kaggle or benchmark results, published papers, a reproduced-paper repo. (3)
  • Contribution methods (3 marks — any one clearly stated): start with "good first issue" / documentation fixes / writing tests / fixing small bugs, then submit a clear PR following the project's contribution guidelines. (3)

[
  {"claim": "SimCLR: with N=8 images, an anchor has 1 positive and 2N-2 = 14 negatives", "code": "N=8; positives=1; negatives=2*N-2; result = (positives==1 and negatives==14)"},
  {"claim": "FedAvg weights sum to 1: for n_k=[10,30,60], normalized weights sum to 1", "code": "nk=[10,30,60]; n=sum(nk); weights=[x/n for x in nk]; result = (sum(weights)==1)"},
  {"claim": "FedAvg of scalar client weights [2,4] with counts [10,30] gives 3.5", "code": "wk=[2,4]; nk=[10,30]; n=sum(nk); w=sum(Rational(nk[i],n)*wk[i] for i in range(2)); result = (w==Rational(7,2))"},
  {"claim": "CLIP batch of N=5 pairs has N=5 positives and N**2-N=20 negative pairs", "code": "N=5; pos=N; neg=N**2-N; result = (pos==5 and neg==20)"}
]