Как работает сверточная нейросеть?
делаю диплом про распознавание брака на фото, научрук сказал использовать сверточную нейросеть, а как она вообще картинку обрабатывает без понятия совсем
Компьютеры и связь
Учёба и образование
Юридическая консультация
Культура
делаю диплом про распознавание брака на фото, научрук сказал использовать сверточную нейросеть, а как она вообще картинку обрабатывает без понятия совсем
Сверточная нейросеть получает изображение в виде набора пикселей и последовательно анализирует его с помощью специальных фильтров. Сначала она находит простые признаки, такие как линии, края и углы, затем объединяет их в более сложные признаки и детали объекта. После этого использует полученные признаки, чтобы определить, к какому классу относится изображение, например является ли изделие бракованным или годным. Во время обучения она сравнивает свой результат с правильным ответом и изменяет свои параметры, чтобы со временем делать меньше ошибок.
Свёрточная нейросеть (CNN) обрабатывает картинку как набор чисел и постепенно учится находить на ней признаки: сначала простые — границы, пятна, переходы цвета, потом сложные — царапины, вмятины, трещины. В конце она выдаёт вероятность: «норма» или «брак».
Цветное изображение — это тензор размера : высота, ширина, каналы (обычно 3 — RGB). Пиксели нормализуют: из делают или вычитают среднее.
Есть маленькое окно — фильтр или ядро размера , например . Оно скользит по изображению и в каждой точке считает сумму произведений:
Где:
Если фильтр настроен на вертикальные границы, он «загорается» там, где есть вертикальный перепад яркости. Таких фильтров в слое много, и сеть сама обучает их значения.
Аналогия: вы водите лупой по фото и ищете царапины. Лупа — это фильтр. CNN обучает сотни таких луп.
После свёртки обычно ставят ReLU:
Она добавляет нелинейность, чтобы сеть могла выучить сложные признаки, а не просто линейную комбинацию.
Max pooling берёт максимум из маленького окна, например . Это уменьшает карту признаков, ускоряет вычисления и делает сеть устойчивее к небольшим сдвигам дефекта.
Чем глубже слой, тем сложнее признак:
Каждый слой создаёт карты признаков — несколько «каналов» с реакциями фильтров.
После нескольких блоков «свёртка → ReLU → pooling» карты признаков выравнивают или усредняют. Затем идут полносвязные слои и softmax:
Выход — вероятности классов. Например: «норма», «царапина», «вмятина», «трещина».
Сравниваем предсказание с правильной меткой через кросс-энтропию:
Потом обратное распространение считает градиенты, а оптимизатор (Adam, SGD) обновляет фильтры и веса. Так CNN сама подбирает, какие признаки искать.
Вход: 224×224×3
Conv 3×3, 32 фильтра → ReLU → MaxPool 2×2
Conv 3×3, 64 фильтра → ReLU → MaxPool 2×2
Conv 3×3, 128 фильтров → ReLU → MaxPool 2×2
Global Average Pooling
Dense → Dropout → Softmax (N классов брака)
CNN хорошо видит локальные дефекты, но чувствительна к:
Если нужно не просто сказать «есть брак», а найти его на фото, это уже не классификация, а детекция или сегментация: YOLO, Faster R-CNN, U-Net.
Сверточная нейросеть работает поэтапно:
Для диплома: загружай фото → CNN извлекает дефекты автоматически.
Сверточные нейросети (CNN) предназначены для обработки изображений и имеют несколько ключевых компонентов:
Сверточные слои:
Активационные функции:
Субдискретизация (пулинг):
Полносвязные слои:
Финальный выход:
Если нужны детали по конкретным слоям или параметрам, уточни!
Какая нейросеть лучше всего пишет?
Не нашли то, что искали?
Задайте свой вопрос
Ответить на вопрос