3SELLER Journal 3SELLER →

Как сделать собственную нейросеть: 2 способа за вечер и 20 строк кода

22.10.2026

Поговорим о том, как сделать собственную нейросеть, без прикрас и сложных формул. Я прошёл через это сам, и могу сказать: тут много подводных камней. Но если разбить процесс на простые шаги, любой разработчик справится за вечер.

Сразу спойлер: есть два пути. Первый способ: взять готовый фреймворк вроде TensorFlow или PyTorch и собрать сеть за 15 минут. Второй способ: написать всё с нуля, чтобы наконец понять, как это работает. Я покажу оба, потому что оба полезны. В конце расскажу, когда своя модель не нужна, и что использовать вместо неё.

Кстати, если вам нужна не учебная, а рабочая нейросеть для текстов и картинок, сразу переходите к последнему разделу. Там я расскажу про сервис, который открывает доступ к ChatGPT и Claude из России. Но сначала база.

Цель определяет способ: учебная нейросеть или боевой инструмент

Прежде чем писать код, честно ответьте, зачем вам это. Если вам нужно разобраться в машинном обучении, сделайте всё руками. Если вам нужно быстро получить инструмент для бизнеса, своя сеть не понадобится. Можно сравнить с автомобилем: иногда полезно залезть под капот, но для ежедневных поездок вы просто заводите двигатель.

Лично я советую пройти путь написания сети с нуля хотя бы один раз. Он даёт понимание, которое не появится при работе с готовыми библиотеками. Вы начнёте иначе читать документацию и легче отлаживать чужие модели.

Путь первый. Python и готовые библиотеки: быстро, но без понимания

Самый простой способ сделать нейросеть: подключить библиотеку. Python с TensorFlow или PyTorch творит чудеса: пара строк, и сеть готова. На Reddit в r/learnmachinelearning то и дело появляются посты в духе: «Берём TensorFlow, создаём нейросеть». И всё. На этом обучение заканчивается.

Такой подход оправдан, когда вы решаете прикладную задачу и не хотите изобретать велосипед. Но если вы стремитесь понять, что происходит внутри, готовые библиотеки мешают. Вы отправляете данные и получаете результат, а внутренности остаются чёрным ящиком.

Путь второй. Пишем нейросеть с нуля: на Python или Java

Советую каждому хоть раз написать нейросеть без внешних фреймворков. Можно взять Python, а можно Java. На Java вполне реально построить собственную сеть без сторонних библиотек, и это отличный способ познакомиться с её архитектурой. Вы сами реализуете слои, функции активации, прямое и обратное распространение.

Звучит страшно, но для простой сети хватит кода на сотню-другую строк. У меня на первую сеть ушло 87 строк вместе с обучением. Не бойтесь потратить один вечер, зато после вы будете понимать, как устроены большие модели.

Простейшая сеть в коде: 20 строк на Python

Чтобы вы не думали, что я говорю абстрактно, вот минимальный пример сети на Python без библиотек машинного обучения. Используем numpy для матричных операций.

import numpy as np\n\ndef sigmoid(x):\n    return 1 / (1 + np.exp(-x))\n\ndef forward(X, W):\n    return sigmoid(np.dot(X, W))\n\nX = np.array([[0, 1], [1, 0], [1, 1], [0, 0]])\nW = np.random.randn(2, 1)\n# пока это просто случайные веса\n

Здесь пока только прямой проход, без обучения. Дальше нужно добавить функцию потерь и обратное распространение, но саму структуру вы видите. Два входа, один выход, две строчки математики.

Данные важнее кода: собираем свой первый датасет

Нейросеть обучается на примерах. Многие думают, что нужны тысячи гигабайт данных. На самом деле для учебного проекта достаточно 100 строк. Создайте CSV-файл recipes.csv, в котором каждая строка содержит пару «ингредиенты: блюдо». Например: помидоры, сыр, тесто -> пицца. Мука, яйца, молоко -> блины.

Такой датасет не претендует на серьёзность, но идеально подходит для освоения предобработки. Нужно превратить текстовые ингредиенты в числовые векторы, нормализовать и подать в сеть. Здесь вы поймёте, почему говорят «garbage in, garbage out».

Архитектура нейросети изнутри: вход, скрытые слои, выход

Представьте опытного кулинара, который по виду ингредиентов сразу определяет блюдо. Нейросеть делает то же самое, только регулярно ошибается. На входе у неё вектор с ингредиентами, на выходе вектор вероятностей для каждого блюда. Между ними находятся скрытые слои, которые вытаскивают закономерности.

Для нашего примера хватит следующей архитектуры: входной слой размером с количество ингредиентов, один скрытый слой с восемью нейронами и выходной слой с количеством возможных блюд. Вся остальная работа сводится к математике, которую библиотеки делают за вас.

Активационные функции: без них сеть останется линейной

Активационная функция добавляет нелинейность. Если просто перемножать веса и складывать, сколько слоёв ни добавь, всё сведётся к линейной функции. С активационными функциями сеть может выучить сложные зависимости. Самые популярные варианты: ReLU, сигмоида, tanh. Для выходного слоя в задачах классификации часто используют softmax, чтобы получить вероятности.

Не нужно заучивать формулы. Достаточно понимать, зачем они: ReLU спасает от проблемы затухающих градиентов, сигмоида превращает числа в диапазон от 0 до 1, softmax распределяет вероятности между классами.

Обучение: прямое распространение, функция потерь, обратное распространение

Обучение состоит из трёх шагов, которые повторяются много раз. Сначала прямое распространение: данные проходят через сеть и дают ответ. Затем функция потерь: считаем, насколько ответ отличается от правильного. Наконец обратное распространение ошибки и обновление весов: делаем маленький шаг к уменьшению ошибки. Снова и снова.

Когда ошибка перестаёт уменьшаться, обучение завершено. Ура.

Функция потерь и градиентный спуск: мотор обучения

Функция потерь показывает, насколько сеть ошиблась. В задачах классификации часто берут кросс-энтропию, в задачах регрессии обычно берут среднюю квадратичную ошибку. Представьте, что это расстояние между предсказанием и истиной. Чем меньше, тем лучше.

Градиентный спуск представляет собой алгоритм, который ищет минимум этой функции. Он вычисляет, в каком направлении крутить веса, чтобы ошибка уменьшалась. Ключевой параметр называется learning rate, то есть шаг. Если шаг слишком большой, сеть не сходится и скачет вокруг минимума. Если слишком маленький, она учится вечность. Поэтому на практике его подбирают.

Эпохи, батчи и всё, что нужно знать перед запуском

При обучении данные прогоняют через сеть несколько раз. Один полный проход по выборке называется эпохой. Чтобы ускорить сходимость, данные делят на батчи по несколько примеров. Размер батча тоже влияет на качество.

Для сотни примеров хватит 10-20 эпох. Я обычно ставлю 15 и смотрю на график ошибки. Следите за ошибкой: если она сначала падает, а потом начинает расти, вы переобучились. В этот момент нужно остановиться. Звучит просто, но именно здесь новички чаще всего теряют время.

Типичные ошибки: на что я наступал сам

Хочу предупредить о нескольких граблях, на которые вы почти наверняка наступите.

На Reddit эти грабли обсуждают чуть ли не каждый день. Каждая ошибка добавляет седых волос, но зато после неё начинаешь по-настоящему понимать, как работает обучение.

GPU для обучения нейросети: подключайте, когда данные подрастут

Для простой сети на 100 строк достаточно процессора. На ноутбуке обучение займёт секунды. GPU имеет смысл, когда вы работаете с изображениями или большим объёмом данных. Тогда стоит подумать об облаке с видеокартами, например Timeweb Cloud предоставляет такие конфигурации.

Для первого опыта не усложняйте. CPU справится, а вы потратите время лучше: на понимание логики.

Разворачиваем нейросеть: сервер, облако, прод

Когда ваша сеть обучена, возникает вопрос, где её запускать. Для учебных задач хватит ноутбука. Для реального проекта понадобится более мощная машина. Например, Timeweb Cloud позволяет быстро создать облачный сервер с нужными параметрами и разместить на нём модель. Такой вариант удобен для разработки и тестирования нейросетей.

Но давайте будем честными. Написать свою нейросеть с нуля - это здорово, но в реальном мире флагманские модели решают задачи в разы лучше. Ни одна самодельная сеть не сравнится с ChatGPT 6 или Claude Opus 5.5.

Собираем всё вместе: план действий на вечер

Чтобы систематизировать всё сказанное, вот простой план, который можно выполнить за один вечер.

  1. Сформулируйте простую задачу: предсказать блюдо по ингредиентам или распознать чёт/нечёт.
  2. Соберите датасет. Для начала хватит 50-100 строк в CSV.
  3. Напишите прямое распространение на Python или Java.
  4. Добавьте функцию потерь и обратное распространение.
  5. Разделите данные на обучающую и тестовую части.
  6. Обучите сеть и следите за кривой ошибки.
  7. Порадуйтесь, когда точность на тесте станет выше случайного угадывания.

После этого вы будете готовы к более серьёзным архитектурам: свёрточным сетям, рекуррентным слоям и трансформерам. Но фундамент уже будет.

Своя модель не всегда нужна: критерии выбора

Свою нейросеть стоит писать, когда вы хотите разобраться в технологии или у вас нестандартная задача, под которую нет готового решения. Во всех остальных случаях используйте существующие модели.

Посчитайте бюджет времени. Если на обучение уйдёт месяц, а результат будет хуже, чем у обычного ChatGPT, это плохая сделка. Для бизнеса быстрее и дешевле арендовать API.

Именно поэтому я в конце статьи советую 3GPT. Иногда разумнее заплатить 149 рублей, чем потратить неделю на свою модель.

Альтернатива своему велосипеду: 3GPT от 3SELLER

Если ваша цель получить результат, а не изучать устройство ИИ, используйте готовые нейросети. В России для этого есть отличный сервис 3GPT от 3SELLER. Он даёт доступ ко всем флагманским моделям, работающим за рубежом, и не требует иностранных карт или VPN.

Внутри вы найдёте Chat GPT 6 Astra, Chat GPT 6.1 Sol, Chat GPT 5.5, Claude Fable 5 и 5.1, Claude Opus 5.5. Плюс модель Nano Banana для создания изображений и генерация видео. Всё это доступно за 149 рублей для теста.

3GPT интерфейс

Сервисом удобно пользоваться для повседневных бизнес-задач: писать продающие тексты, обрабатывать картинки, создавать видеоролики и голос. Пополнить баланс можно российской картой, через СБП или криптой. Получить доступ можно на официальном сайте: 3GPT.

Ещё одна фишка: готовые ИИ агенты. Выбираете агента под свою задачу, общаетесь с ним, меняете модель прямо в чате. Это экономит кучу времени, если не хочется разбираться в промптах. Посмотрите список: ИИ агенты от 3SELLER.

ИИ агенты в 3GPT

Практический совет напоследок: начните с учебной сети, но для реальных задач сразу берите 3GPT. Так вы будете и понимать, что происходит внутри, и не изобретать велосипед.

← Вернуться к блогу

Читать дальше