Сверточные нейронные сети (CNN)
Изучение сверточных слоев
«Сверточные нейронные сети (CNN)» — бесплатный урок Python Academy на CoddyKit. Это урок 3 из 5. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 5 уроков всего.
Свёрточные нейронные сети (CNN)
Свёрточные нейронные сети (CNN)
Свёрточные нейронные сети (CNN) — это специализированный тип нейронных сетей, предназначенный для обработки данных изображений. Они широко используются в таких задачах, как классификация изображений, обнаружение объектов и распознавание лиц.

Почему CNN эффективны для изображений
Почему CNN эффективны для изображений
CNN эффективны, поскольку они:
- Сохраняют пространственные взаимосвязи: Обрабатывают изображения как сетки пикселей.
- Снижают вычислительные затраты: Используют общие веса для локальных областей (ядер).
- Извлекают иерархические признаки: Обнаруживают границы, формы и сложные узоры на разных слоях.
Свёрточные слои
Свёрточные слои
Свёрточные слои составляют основу CNN. Они применяют фильтры (ядра) к входному изображению, чтобы извлекать признаки.
Пример:
- Входные данные: Изображение 5×5.
- Ядро: Фильтр 3×3.
- Выходные данные: Карта признаков, выделяющая узоры.
Пример: применение свёртки
Пример: применение свёртки
Для имитации простой операции свёртки можно использовать Python и NumPy:
import numpy as np
# Example 5x5 image
image = np.array([
[1, 2, 3, 0, 1],
[0, 1, 2, 3, 4],
[1, 2, 3, 0, 1],
[0, 1, 2, 3, 4],
[1, 0, 1, 2, 3]
])
# Example 3x3 kernel
kernel = np.array([
[1, 0, -1],
[1, 0, -1],
[1, 0, -1]
])
# Perform convolution (without padding or strides)
from scipy.signal import convolve2d
output = convolve2d(image, kernel, mode='valid')
print("Feature Map:", output)Слои объединения
Слои объединения
Слои объединения уменьшают размер карт признаков, сохраняя важную информацию. К распространённым типам относятся:
- Объединение с выбором максимума: Сохраняет максимальное значение в области.
- Усредняющее объединение: Вычисляет среднее значение в области.
Полносвязные слои
Полносвязные слои
Полносвязные слои соединяют все нейроны одного слоя со следующим. Они объединяют извлечённые признаки, чтобы делать прогнозы в таких задачах, как классификация изображений.
Типичная архитектура CNN
Типичная архитектура CNN
Типичная CNN состоит из:
- Свёрточные слои: Извлекают признаки из входных данных.
- Слои объединения: Уменьшают размерность карты признаков.
- Полносвязные слои: Выполняют итоговую классификацию или регрессию.
Преимущества CNN
Преимущества CNN
Сети CNN отличаются высокой эффективностью при обработке изображений благодаря:
- эффективному извлечению признаков с помощью свёрточных слоёв;
- снижению переобучения благодаря совместному использованию параметров;
- возможности обрабатывать сложные данные изображений с помощью нескольких слоёв.
Итоги и дальнейшие шаги
Итоги и дальнейшие шаги
В этом уроке мы:
- изучили структуру и принцип работы свёрточных нейронных сетей;
- узнали о свёртке, пулинге и полносвязных слоях;
- обсудили преимущества CNN при обработке изображений.
Далее мы создадим простой проект классификации изображений с помощью CNN, чтобы применить полученные знания.

Часто задаваемые вопросы
Урок «Сверточные нейронные сети (CNN)» бесплатный?
Да — полный текст урока «Сверточные нейронные сети (CNN)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 5 уроков всего.
Чему я научусь в уроке «Сверточные нейронные сети (CNN)»?
Изучение сверточных слоев Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 5.
Сколько времени занимает урок «Сверточные нейронные сети (CNN)»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Что такое изображения?
- Обработка изображений с OpenCV
- Сверточные нейронные сети (CNN)
- Проект по классификации изображений
- Методы аугментации данных