Нейросети кажутся сложными, пока не напишешь свою первую. Я потратил на это меньше часа, используя только массивы, циклы и пару строк математики. В этой статье покажу, как сделать простую нейросеть с нуля, разберу код и объясню, что происходит под капотом.
Классическая архитектура, которую можно перенести на любой язык: Java, C++, JavaScript, если есть массивы и условные операторы. Мы создадим перцептрон, который обучается на трёх входах и выдаёт предсказание. Для простоты возьмём Python с библиотекой NumPy.
Что такое нейросеть на самом деле
Забудьте на минуту про сложные трансформеры и GPT. Простая нейросеть это набор чисел, которые умножаются на входные данные, складываются и прогоняются через функцию. Эти числа называются весами. Именно их нейросеть подбирает во время обучения.
Представьте, что у вас есть три числа на входе. Каждое умножается на свой вес, результаты складываются и получается одно число. Оно проходит через функцию активации, например сигмоиду, и превращается в ответ от 0 до 1. Всё. Это и есть нейросеть, точнее один нейрон.
Если добавить несколько таких нейронов и сложить их слоями, получится многослойный перцептрон. У него уже больше возможностей, но принцип тот же: веса, сумма, активация.
Пишем простую нейросеть на Python
Для начала установим NumPy. NumPy - библиотека для математических операций, она делает матричные вычисления быстрыми и удобными. Откройте терминал и выполните команду:
pip install numpyПосле установки импортируем библиотеку:
import numpy as npТеперь создадим функцию активации. Возьмём сигмоиду, она популярна для простых сетей:
def sigmoid(x):\n return 1/(1 + np.exp(-x))Сигмоида принимает любое число и возвращает значение от 0 до 1. Такая функция удобна для бинарной классификации. Ещё важна её производная. Она равна sigmoid * (1 - sigmoid), и именно эту формулу мы позже используем для обучения.
Дальше зададим обучающие данные. Каждая строка это один пример. У нас три входа и один выход. Возьмём простые числа, чтобы легко проверить результат:
training_inputs = np.array([[0, 0, 1],\n [1, 1, 1],\n [1, 0, 1],\n [0, 1, 1]])А это ожидаемые выходы для каждого набора входов:
training_outputs = np.array([[0],\n [1],\n [1],\n [0]]).TОбратите внимание на транспонирование. Выходы должны быть колонкой, чтобы соответствовать матричному умножению. Теперь создадим случайные веса. Нам нужна матрица размером 3 на 1, потому что у нас три входа и один выход:
np.random.seed(1)\nsynaptic_weights = 2 * np.random.random((3, 1)) - 1Seed нужен, чтобы веса были одинаковыми при каждом запуске и результаты воспроизводились. Веса в диапазоне от -1 до 1, так сеть стартует с симметричных значений.
Обучаем нейросеть
Обучение это процесс подбора весов. Мы будем подавать входные данные, получать предсказание, сравнивать с правильным ответом и корректировать веса. Сделаем один проход вручную, чтобы вы видели всю цепочку.
Сначала получаем выход сети:
outputs = sigmoid(np.dot(training_inputs, synaptic_weights))Затем считаем ошибку и корректируем веса. Тут как раз пригодится производная сигмоиды. Производная показывает, насколько сильно изменить вес, чтобы ошибка уменьшилась:
error = training_outputs - outputs\nadjustments = error * outputs * (1 - outputs)\nsynaptic_weights += np.dot(training_inputs.T, adjustments)Повторяем эти шаги много раз. Каждый проход называется эпохой. За 10000 эпох сеть подстроится под данные:
for i in range(10000):\n outputs = sigmoid(np.dot(training_inputs, synaptic_weights))\n error = training_outputs - outputs\n adjustments = error * outputs * (1 - outputs)\n synaptic_weights += np.dot(training_inputs.T, adjustments)Всё. Простая нейросеть готова. Проверим, что она выучила. Например, для входа [1, 0, 0] ожидаемый ответ 0:
print(sigmoid(np.dot(np.array([1, 0, 0]), synaptic_weights)))Если сеть обучилась корректно, вывод будет близок к 0. Попробуйте разные комбинации, и вы увидите, что предсказания совпадают с логикой обучающих данных.
Почему это работает
Нейросеть, по сути, подстраивает веса так, чтобы минимизировать ошибку. Сигмоида даёт плавную кривую, а её производная показывает направление движения. В основе лежит идея градиентного спуска, хотя в нашем случае она сильно упрощена.
Такая сеть называется сетью прямого распространения, или многослойным перцептроном, если слоёв больше одного. Наш пример использует один нейрон, но добавить ещё слои несложно. Главное - понять принцип: умножение, сумма, активация, корректировка.
Кстати, если язык поддерживает матричные операции, код почти не изменится. Например, на Java можно написать класс Network с массивами матриц весов. Используются те же массивы, циклы и условные операторы. Лишнее подтверждение: фундамент нейросетей прост, а сложность упирается в масштаб и данные. На Reddit такой минимальный пример часто рекомендуют как отправную точку для изучения обучения.
Ограничения простой сети
Честно скажу: такая сеть решает только линейно разделимые задачи. Классический XOR она не осилит без скрытого слоя. Фундаментальное ограничение однослойного перцептрона. Для более серьёзных задач нужны многослойные сети и обратное распространение ошибки.
Даже на многослойных сетях вы не сможете распознавать изображения или генерировать текст. На это нужны миллионы параметров и гигантские обучающие выборки. Пытаться повторить такое с нуля на домашнем компьютере бессмысленно.
Поэтому на практике разумнее использовать готовые модели, обученные крупными компаниями. И здесь появляется важный нюанс для разработчиков из России: доступ к ChatGPT и Claude ограничен. Можно использовать обходные пути, но это боль.
3GPT от 3SELLER: все нейросети в одном месте
Я протестировал сервис 3GPT, который позиционируется как ИИ роутер. Он даёт доступ из России к последним флагманским моделям: Chat GPT 6, Chat GPT 6.1 Sol, Chat GPT 5.5, Claude Fable 5, Claude Fable 5.1, Claude Opus 5.5. Плюс генерация изображений через Nano Banana и создание видео. Всё это за 149 рублей в месяц.
Платить можно российской картой, через СБП или криптой. Никаких иностранных карт и виртуальных платёжных систем. Для меня это главное удобство: не нужно прыгать через блокировки.
Теперь о том, зачем это практикующему разработчику или предпринимателю. Я пишу тексты, переписываю код, генерирую картинки для блога, делаю короткие видео. Раньше для этого требовались три разных сервиса, каждый с отдельной подпиской. С 3GPT всё в одном окне: выбрал модель, написал промпт, получил ответ.

Интерфейс простой. Меняете модель прямо в чате, настраиваете температуру, добавляете системные сообщения. Если ответ не устроил, переключились на другую нейросеть и продолжили. Удобно, когда сравниваете качество разных моделей на одной задаче.
ИИ-агенты для повторяющихся задач
Вторая фишка 3GPT, которая мне понравилась, это готовые ИИ-агенты. Они заточены под конкретные сценарии: продающие тексты, SMM, написание кода, переводы, аналитика. Выбираете агента и начинаете общение, он уже знает контекст.
Агента можно переключать на другую модель прямо в диалоге. Например, общались с Claude Fable 5, захотели попробовать Chat GPT 6. Просто меняете модель и продолжаете. Очень удобно, когда тестируете, кто лучше справляется с задачей.

Попробовать можно на сайте 3GPT. Там же пополнить баланс и выбрать тариф. Даже если вы новичок и только начали изучать нейросети, готовые агенты помогут быстро получить пользу без написания кода.
Когда собрать свою сеть, а когда использовать готовую
Я советую пройти путь создания простой нейросети хотя бы раз. Такой опыт даёт понимание механики. Вы будете знать, что внутри у инструментов, которыми пользуетесь. Но строить с нуля большую сеть для реальных продуктов почти всегда плохая идея.
Используйте самодельные сети для обучения, прототипов и задач с небольшим объёмом данных. Для всего остального берите флагманские модели через API или сервисы вроде 3GPT. Готовые модели экономят недели работы и тысячи рублей на инфраструктуре.
Рабочий сценарий выглядит так: сначала вы пишете простую сеть на Python, чтобы понять механику обучения. Затем подключаетесь к 3GPT для реальных проектов. Баланс пополняется российской картой или СБП - никаких зарубежных ограничений.
Как быстро стартовать с 3GPT
Зайдите на официальный сайт 3GPT по ссылке 3seller.com/3gpt. Зарегистрируйтесь, выберите тариф и пополните баланс удобным способом. Весь процесс займёт пару минут.
Вам не нужно разбираться в архитектурах нейросетей. Просто сформулируйте задачу и получите результат. В этом вся разница между теорией и практикой: в теории вы пишете код, на практике используете сервис.
Для тех, кто любит автоматизацию, рекомендую посмотреть на готовых ИИ-агентов. Они экономят время на рутине и работают на всех моделях, доступных в 3GPT.
Скопируйте код из статьи и запустите его прямо сейчас - это займёт меньше часа. Для продакшена подключайте 3GPT, ссылка на сервис выше.