МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
____________________________
Кафедра ____________________________
РЕФЕРАТ
на тему: «Архитектура свёрточной нейронной сети LeNet-5»
Выполнил(а): ____________________________
Группа: ____________________________
Проверил(а): ____________________________
2026
Содержание
- 3
- 5
- 8
- 11
- 13
1. История и задачи распознавания образов
Распознавание рукописных символов остается одной из самых востребованных задач в сфере автоматизации. Банковские чеки, почтовые отправления, исторические архивы и анкеты содержат миллионы записей, созданных от руки. Перевод этих данных в цифровой вид вручную требует огромных временных и трудовых затрат. Ошибки операторов при вводе данных приводят к финансовым потерям и задержкам в обработке документов. Поэтому разработка алгоритмов, способных точно и быстро интерпретировать рукописный текст, имеет прямое практическое значение.
Долгое время классические методы машинного обучения не могли справиться с этой задачей на приемлемом уровне. Традиционный подход, основанный на полносвязных нейронных сетях, предполагал подачу на вход сети одномерного вектора пикселей. Для изображения размером, скажем, 32x32 пикселя это означало обработку 1024 входных сигналов. При этом сеть рассматривала каждый пиксель как изолированную единицу, полностью игнорируя их пространственное расположение. Итоговая картина складывалась из набора независимых признаков, а не из целостных геометрических структур, таких как линии, дуги или пересечения.
Главный недостаток такого подхода заключался в хрупкости. Малейший сдвиг рукописной цифры на пару пикселей, изменение наклона или толщины линии приводили к тому, что активировался совершенно другой набор нейронов. Сеть, обученная на одном стиле написания, отказывалась работать с другим. Чтобы обучить полносвязную модель на всевозможные вариации почерка, требовались колоссальные вычислительные мощности и нереалистично большие наборы данных. К тому же количество параметров в такой сети росло экспоненциально с размером изображения, что делало обучение крайне медленным и склонным к переобучению.
Перелом в этой области наступил благодаря исследованиям Яна Лекуна и его коллег в конце восьмидесятых и начале девяностых годов. Они предложили радикально иной подход, вдохновленный устройством зрительной коры головного мозга. Еще в 1962 году нейробиологи Хьюбел и Визель обнаружили, что нейроны в зрительной коре кошки реагируют на простые паттерны в локальных областях поля зрения. Лекун формализовал эту идею в виде математической модели. Вместо того чтобы скармливать сети весь вектор пикселей, он предложил извлекать локальные признаки с помощью набора обучаемых фильтров. Эти фильтры сканировали изображение, реагируя на наличие определенных элементов, таких как вертикальная или горизонтальная кромка.
Результатом этих работ стала архитектура, которая получила название LeNet-5. Её создание стало ответом на конкретные требования, предъявляемые к системам распознавания. Во-первых, сеть должна была быть инвариантной к сдвигу: цифра, смещенная на несколько пикселей относительно центра, должна распознаваться так же уверенно, как и оригинал. Во-вторых, требовалась устойчивость к незначительному масштабированию и легким искажениям, вызванным неровным почерком или плохим качеством сканирования. Решение этих задач достигалось не за счет перебора всех возможных положений объекта, а за счет особой организации вычислений, при которой признаки обнаруживались в любой точке изображения и затем агрегировались. Именно такой подход позволил добиться прорывных результатов и заложил фундамент для всей современной компьютерного зрения.
2. Свёртка и пулинг: базовые операции
Свёртка и пулинг, это две операции, на которых держатся практически все современные архитектуры компьютерного зрения. Без их понимания трудно осмысленно разбирать любую свёрточную сеть, начиная с той же LeNet-5. Сами по себе эти операции математически просты, и в этом есть подвох: за простотой скрывается мощный механизм, который извлекает из сырых пикселей иерархию признаков.
Свёртку проще всего представить как сканирование. Небольшое ядро (фильтр) размером, скажем, 5x5, скользит по изображению с заданным шагом. В каждой позиции считается скалярное произведение весов ядра и значений пикселей в окне, а результат записывается в выходную матрицу (карту признаков). Такой подход позволяет ловить локальные паттерны: границы, углы, изгибы линий. Причём неважно, где именно на картинке находится вертикальная кромка: фильтр, обученный на её обнаружение, одинаково сработает в любом месте. Это свойство, известное как инвариантность к трансляции, принципиально отличает свёртку от полносвязного слоя, где каждый нейрон жёстко привязан к конкретной позиции входа.
Ещё одно важное преимущество свёртки, разделяемые веса. Одно и то же ядро применяется ко всей карте признаков целиком. Для сравнения: если бы мы строили полносвязный слой для изображения 32x32 с одним нейроном, нам понадобилось бы 1024 веса. Свёрточный фильтр 5x5 для той же задачи обходится всего 25 параметрами (плюс смещение). При увеличении размера входа разница становится катастрофической. Разделяемые веса экономят память и одновременно работают как регуляризация: сеть вынуждена искать общие для изображения закономерности, а не заучивать пиксели по отдельности.
Однако только линейными операциями не обойтись. Сколько свёрточных слоёв ни складывай, их композиция останется линейной. Чтобы модель могла приближать сложные нелинейные функции, после каждого свёрточного слоя нужна функция активации. В LeNet-5 использовали гиперболический тангенс, который сжимает выход в диапазон от -1 до 1. Без такой нелинейности сеть не смогла бы разделять классы с непрямыми границами. В современных архитектурах чаще берут ReLU, но суть та же: активация добавляет сети способность моделировать нелинейные зависимости.
Вторая фундаментальная операция, пулинг, решает другую задачу. Она уменьшает пространственную размерность карт признаков. Самый распространённый вариант, средний пулинг, делит карту на непересекающиеся области 2x2 и заменяет каждую область одним значением (средним арифметическим). Разрешение при этом падает в два раза. В LeNet-5 использовался именно такой подход. Смысл пулинга не сводится к экономии вычислений. Уменьшение размерности даёт сети устойчивость к небольшим сдвигам и искажениям. Если линия на изображении сместится на пиксель, усреднённое значение в окне изменится незначительно. Сеть продолжит распознавать тот же паттерн, хотя точная локализация объекта будет утрачена.
У пулинга есть и более тонкая функция. С каждым следующим слоем карта признаков охватывает всё большую область исходного изображения. Нейроны нижних слоёв видят более крупные фрагменты, что позволяет собирать из простых признаков сложные структуры. Связка «свёртка-пулинг» выстраивает иерархию абстракций: от пикселей к линиям, от линий к контурам, от контуров к частям объектов. В материалах курса Южно-Уральского государственного университета по свёрточным сетям эта иерархическая организация признаков называется ключевой идеей, отличающей глубокое обучение от классических методов машинного обучения.
Стоит отдельно прояснить разницу между пулингом и свёрткой с шагом больше единицы. Обе операции уменьшают размерность, но механизмы у них разные. Свёртка обучает свои веса и потому может терять информацию избирательно. Пулинг (среднее или максимум) действует по фиксированному правилу и агрессивно отбрасывает пространственную точность. Это осознанная жертва ради устойчивости. В задаче распознавания рукописных цифр она вполне оправдана: точное положение штриха важнее факта его наличия.
В итоге свёртка и пулинг решают комплементарные задачи. Первая извлекает признаки с помощью обученных ядер, вторая обобщает их и сжимает представление. Вместе они образуют эффективный механизм, который и лёг в основу архитектуры LeNet-5.
3. Структура LeNet-5: слои и параметры
После разбора базовых операций свёртки и пулинга логично перейти к вопросу о том, как они компонуются в реальной архитектуре. LeNet-5, предложенная Яном Лекуном в 1998 году, остаётся классическим примером того, как эти элементы выстраиваются в иерархию. Сеть включает семь обучаемых слоёв, не считая входного, и эта структура стала канонической для многих последующих моделей.
На вход сеть принимает изображения размером 32×32 пикселя. Этот размер был выбран не случайно. Он достаточно велик, чтобы на входе различать мелкие детали вроде изгибов и пересечений линий, но при этом не требует выделения признаков на слишком высоком уровне абстракции. Именно такое разрешение позволяло сети учитывать особенности символов на разных масштабах уже на начальных этапах обработки.
Первый свёрточный слой (обозначается C1) содержит 6 фильтров размером 5×5. Каждый фильтр сканирует входное изображение с шагом 1, формируя собственную карту признаков. Поскольку размер ядра равен 5, а изображение имеет размер 32, результирующие карты получаются размером 28×28. На этом этапе выделяются простейшие визуальные элементы: горизонтальные и вертикальные линии, дуги, углы. Эти шесть карт служат основой для дальнейшего анализа.
Далее идёт подвыборочный слой S2. Его задача, снизить пространственную размерность данных и сделать сеть более устойчивой к небольшим искажениям и сдвигам. S2 выполняет усреднение по непересекающимся областям 2×2 с шагом 2. Это означает, что каждые четыре пикселя предыдущей карты преобразуются в одно среднее значение. В результате размер карт признаков сокращается вдвое, до 14×14, а их количество остаётся прежним, то есть 6.
Второй свёрточный слой C3 работает с этими шестью уменьшенными картами. Он использует 16 фильтров, также размером 5×5. Важная деталь: каждый фильтр взаимодействует не со всеми шестью картами S2, а лишь с некоторыми из них. Такое неполное соединение, описанное в оригинальной работе Лекуна, разрывает симметрию и заставляет сеть извлекать более разнообразные и комплементарные признаки. На выходе C3 формируется 16 карт размером 10×10. Здесь сеть начинает комбинировать простые элементы в более сложные паттерны, например, части цифр.
Следующий подвыборочный слой S4 повторяет операцию усреднения, снова уменьшая карты вдвое, до размера 5×5. К этому моменту информация сжата до компактного представления, содержащего наиболее значимые признаки. Затем вступает в работу третий свёрточный слой C5. Он содержит 120 фильтров размером 5×5. Поскольку входные карты имеют размер 5×5, каждый фильтр сворачивается с картой целиком, формируя на выходе один нейрон. Так C5 превращает двумерные карты признаков в одномерный вектор из 120 элементов, который описывает всё изображение целиком.
После этого следует полносвязный слой F6. Он содержит 84 нейрона и связан со всеми 120 выходами предыдущего слоя. Число 84 выбрано из эстетических соображений: оно соответствует 7×12, что отсылает к стандартному представлению символов ASCII. Внутри F6 используется функция активации гиперболического тангенса, которая сжимает значения в диапазон от -1 до 1.
Завершает архитектуру выходной слой, состоящий из 10 нейронов, каждый из которых соответствует одной цифре от 0 до 9. В отличие от классических сетей с функцией Softmax, здесь применяется слой на основе функции Гаусса. Каждый нейрон вычисляет евклидово расстояние между вектором признаков, полученным от F6, и своим эталонным вектором параметров. Чем меньше расстояние, тем выше вероятность того, что изображение принадлежит соответствующему классу. Такой подход даёт более чёткую интерпретацию выходных
значений.
Если суммировать параметры всех слоёв, общее число обучаемых весов в LeNet-5 составляет около 60 тысяч. По современным меркам это немного, но именно благодаря разделяемым весам в свёрточных слоях и агрессивному уменьшению размерности сеть смогла эффективно обучаться на ограниченном по тем временам объёме данных. Подобная архитектура, от грубых краевых признаков к абстрактным понятиям цифр, доказала свою состоятельность и до сих пор изучается как отправная точка для понимания более глубоких свёрточных моделей.
4. Обучение и применение для распознавания цифр
После того как сеть собрана, возникает естественный вопрос: как заставить её выдавать правильный ответ? Ответ стандартен для нейронных сетей того периода: обучение с учителем на основе алгоритма обратного распространения ошибки. Суть метода в том, чтобы, прогнав изображение через сеть и получив выходной вектор, вычислить величину расхождения между этим вектором и целевым, эталонным ответом. Затем это расхождение, или ошибка, распространяется обратно от выходного слоя к входному, корректируя веса синапсов таким образом, чтобы при следующем предъявлении примера ошибка уменьшилась.
В LeNet-5 в качестве меры расхождения используется среднеквадратичная ошибка (MSE). Целевой вектор для цифры, скажем, «5», строится специальным образом: один из десяти выходных нейронов должен активироваться, а остальные девять оставаться в нуле. Функция потерь суммирует квадраты разностей между фактическими значениями на выходах и этими идеальными значениями. Минимизация этой суммы и есть цель обучения.
Сама минимизация выполняется методом стохастического градиентного спуска. Вместо того чтобы вычислять градиент ошибки по всем 60000 обучающим примерам сразу, что требует огромных вычислительных ресурсов, градиент оценивается по небольшому случайному подмножеству данных, так называемому мини-батчу. Это ускоряет сходимость и делает процесс обучения более стабильным. Веса обновляются на каждом шаге в направлении, противоположном градиенту, с шагом, определяемым скоростью обучения.
Данные для обучения взяли из набора MNIST, ставшего впоследствии эталонным бенчмарком для задач компьютерного зрения. Он содержит 60000 изображений рукописных цифр для тренировки и 10000 для тестирования. Каждое изображение, изначально размером 28x28 пикселей, было отцентрировано и вписано в рамку 32x32, чтобы соответствовать
входному размеру сети. Такой предобработки хватило, чтобы сеть смогла выделять значимые признаки.
Результат превзошёл ожидания. На тестовом наборе LeNet-5 достигла точности около 99.2%. Для середины 1990-х годов это был прорыв. Ошибка в 0.8% считалась ничтожной, особенно с учётом того, что даже человек иногда ошибается, читая неразборчивый почерк. Именно эта надёжность открыла дорогу практическому применению сети.
Первой крупной областью внедрения стали банки. Компания NCR, совместно с исследователями из Bell Labs, начала использовать LeNet-5 для автоматического чтения сумм на банковских чеках. Система могла распознавать рукописные цифры, нацарапанные в специальных полях, и сверять их с машинно-читаемым кодом. Это сократило время обработки документов и снизило число ошибок, связанных с человеческим фактором при ручном вводе.
Стоит подчеркнуть, что успех LeNet-5 не ограничился одним приложением. Принципы, заложенные в её архитектуре, локальные связи, разделяемые веса и пространственная подвыборка, стали фундаментом для всех последующих свёрточных сетей. Современные архитектуры вроде ResNet или VGG, несмотря на свою глубину, наследуют базовые идеи, впервые реализованные в LeNet-5. Эта сеть не просто решила конкретную задачу; она определила вектор развития целой области машинного обучения на десятилетия вперёд.
СПИСОК ЛИТЕРАТУРЫ
1. Архитектура LeNet-5 с использованием Python — https://datafinder.ru/products/arhitektura-lenet-5-s-ispolzovaniem-python
2. Сверточные нейронные сети — https://sok.susu.ru/courses/MachineLearnig/lectures/09%20Convolutional%20networks.pdf
3. Модель сверточной нейронной сети LeNet5 для обнаружения и классификации объектов воздушного пространства на изображениях — https://earchive.tpu.ru/handle/11683/81887
4. Сверточные нейронные сети — Викиконспекты — https://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D0%B5%D1%80%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D0%B5%D1%82%D0%B8
5. Архитектура LeNet — https://deepmachinelearning.ru/docs/Neural-networks/Convolutional-architectures/LeNet
6. Пулинг для последовательностей — https://deepmachinelearning.ru/docs/Neural-networks/ConvPool-1D/Pooling-1D
7. Практический пример: распознавание рукописных цифр — http://www.rriai.org.ru/prakticheskiy-primer-raspoznavanie-rukopisnyih-tsifr-2.html
8. Свёрточные нейросети - Яндекс Образование — https://education.yandex.ru/handbook/ml/article/svyortochnye-nejroseti
Нужна такая же работа по своей теме? Соберём структуру, текст и источники в этом же оформлении.