[ИАД, осень 2025] Методы глубокого обучения. Семинар 3: CNN Implementation

[ИАД, осень 2025] Методы глубокого обучения. Семинар 3: CNN Implementation

🎙 Machine Learning – Intelligent Systems 👥 8K 📅 October 6, 2025 ⏱ 72 min 👁 143 📄 tutorial 🧭 2026-08-16
Available in: English (current) Français

Keywords

convolutionstridesim2colmatrix multiplicationPyTorch

Summary

This seminar, part of a deep learning course, focuses on implementing convolutional layers from scratch in Python. The presenter begins by reviewing tensor formats (NHWC vs NCHW) and then derives the convolution formula for 2D and 4D cases. He implements a naive version with nested loops, which is thousands of times slower than PyTorch’s optimized version. Next, he demonstrates a more efficient approach by expressing convolution as a series of matrix multiplications, achieving performance within a factor of four of PyTorch. The core of the seminar is an in-depth explanation of memory layouts (row-major vs column-major) and strides, showing how to manipulate arrays without copying data. He then introduces the im2col technique, which reshapes the input into a matrix suitable for a single matrix multiplication, and explains how to use NumPy’s as_strided to achieve this efficiently. The seminar concludes with a comparison of the im2col-based implementation against PyTorch, showing competitive performance. Throughout, the presenter emphasizes correctness via assertions and provides code examples.

162 words

Critical Evaluation

Value of the Information & Strength of the Argument

The video provides substantial educational value by walking through multiple implementations of convolution, from naive to optimized, and explaining the underlying memory and performance considerations. The argumentation is solid: each step is justified with formulas, code, and benchmarks. The presenter clearly explains the trade-offs between different approaches, such as the speedup from using matrix multiplication and the importance of memory layout. The use of im2col is well-motivated, and the explanation of strides is thorough, making the content valuable for learners seeking a deep understanding of convolutional neural network internals.

Scientific Rigor, Source Quality, Title Accuracy

The scientific rigor is high: the presenter derives formulas, implements code, and validates results against PyTorch. The quality of sources is implicit, as the video is a course seminar; no external sources are cited, but the content is based on established deep learning principles. The title accurately reflects the content, which is a seminar on CNN implementation. The presenter’s occasional self-corrections (e.g., timing comparisons) demonstrate a careful approach. No comments were provided for analysis.

178 words

Title / Content Match

The title accurately reflects the content: a seminar on deep learning methods focusing on CNN implementation.

Quality & Reliability

8/10

The video is a technical seminar that provides a rigorous, step-by-step implementation of convolution in Python, comparing naive, matrix-multiplication, and im2col approaches. The presenter demonstrates correctness through assertions and benchmarks against PyTorch, showing a strong methodological approach. However, the video is a seminar recording with limited production polish, and the presenter occasionally makes minor errors (e.g., in timing comparisons) that are corrected on the fly.

Key Moments

Cited Sources

Concurring Sources

  • PyTorch documentation — The reference implementation uses PyTorch's conv2d, which is consistent with the seminar's approach.
  • NumPy documentation — The seminar relies on NumPy's as_strided and strides, which are documented.

Contribution & Novelties

The seminar provides a clear, hands-on tutorial on implementing convolution from scratch, emphasizing performance optimization techniques. It bridges theory and practice by deriving formulas and then showing code, with a focus on memory layout and strides. The im2col approach is explained in detail, making it accessible to learners.

Pour aller plus loin :

90 words

Radar Profile

The radar profile shows high scores in technical level and information quality, indicating a deep and accurate tutorial. The quantity of information is also high, but the overall score is slightly lower due to the niche audience and lack of external sources. The fiabilite_globale is strong, reflecting the rigorous validation against PyTorch.

Reliability 8/10