AI для PHP‑разработчиков. Часть 8: Свёрточные нейронные сети: ищем границы на изображениях с помощью чистого PHP

Это восьмая часть проекта.Часть 7: Экосистема AI‑агентов в PHP — от вызовов OpenAI до мультиагентных платформЧасть 6: Bag of Words и TF‑IDF — как компьютер превращает текст в математикуЧасть 5: От массивов к GPU: как...
Will Anthropic be the #3 AI Lab at the end of November 2026 (Style Control On)?
Значимый прорыв формирует отрасль ИИ: Это восьмая часть проекта. Часть 7: Экосистема AI‑агентов в PHP — от вызовов OpenAI до мультиагентных платформЧасть 6: Bag of Words и TF‑IDF — как компьютер превращает текст в математикуЧасть 5: От массивов к GPU: как PHP‑экосистема приходит к настоящему MLЧасть 4: Практическое использование TransformersPHPЧасть 3: Практика без Python и data scienceЧасть 2: Собираем простейшую RAG‑систему на PHP с Neuron AI за вечерЧасть 1: Как я пытался подружить PHP с NER — драма в 5 актахВведениеВ предыдущих статьях серии мы разбирались, как компьютер работает с текстом: превращает слова в числовые представления, вычисляет сходство между документами и извлекает полезную информацию из текстовых данных. Но что насчёт изображений?
Компьютер не видит фотографию так, как её видит человек. Для него изображение — это набор чисел, описывающих яркость и цвет отдельных пикселей. И чтобы научиться распознавать объекты, находить границы или определять визуальные признаки, нужно научиться работать с этими числами.
Технические детали
Для решения таких задач используются свёрточные нейронные сети (Convolutional Neural Networks, CNN). Они широко применяются в компьютерном зрении — от распознавания объектов до анализа медицинских изображений. Одна из основных операций таких сетей — свёртка (convolution).
С её помощью сеть анализирует небольшие участки изображения и обнаруживает локальные признаки: границы, линии, текстуры и другие структуры. Но как именно это работает? В этой статье мы разберём механику свёртки и реализуем её самостоятельно на чистом PHP, без сторонних библиотек и готовых ML‑алгоритмов.
Возьмём небольшое изображение в виде двумерной матрицы, создадим фильтр размером 3 × 3 и научимся находить с его помощью вертикальные границы. Затем изменим фильтр, проведём несколько экспериментов и посмотрим, как меняются результаты (все примеры кода в этой статье даны для PHP 8. Наша цель — не построить полноценную нейронную сеть, а разобраться в одной из операций, которая лежит в основе CNN, и понять, что происходит внутри свёрточного слоя.
Отраслевые последствия
Как компьютер видит изображениеКогда мы смотрим на фотографию, мы видим объекты, формы, линии и цвета. Компьютер же работает с числами. Любое цифровое изображение состоит из небольших элементов — пикселей (pixels).
Каждый пиксель содержит информацию о цвете и яркости. Например, в чёрно‑белом изображении значение пикселя обычно находится в диапазоне от 0 до 255:0 — чёрный цвет;255 — белый цвет;значения между ними — различные оттенки серого. Таким образом, небольшое изображение можно представить в виде двумерной матрицы чисел.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.



