3SELLER Journal 3SELLER →

Как написать свою нейросеть на Python: от 9 строк кода до собственной архитектуры

29.10.2026

Многие представляют себе написание своей нейросети как задачу из серии: горы кода, кластеры GPU и годы математики. На самом деле рабочий прототип умещается в девять строк Python. Правда, чтобы понимать, что происходит внутри, придется копнуть глубже. Ниже разберем, как это выглядит на практике и где заканчивается обучение ради обучения.

Девять строк, которые запускают нейросеть

Skillfactory опубликовал пример, где сеть обучается предсказывать выход по трем входным сигналам. Все, что нужно, это библиотека numpy и базовая логика. Ниже код, который реально работает.

from numpy import exp, array, random, dot

class NeuralNetwork():
    def __init__(self):
        random.seed(1)
        self.synaptic_weights = 2 * random.random((3, 1)) - 1

    def __sigmoid(self, x):
        return 1 / (1 + exp(-x))

    def __sigmoid_derivative(self, x):
        return x * (1 - x)

    def train(self, training_set_inputs, training_set_outputs, iterations):
        for iteration in range(iterations):
            output = self.think(training_set_inputs)
            error = training_set_outputs - output
            adjustment = dot(training_set_inputs.T, error * self.__sigmoid_derivative(output))
            self.synaptic_weights += adjustment

    def think(self, inputs):
        return self.__sigmoid(dot(inputs, self.synaptic_weights))

neural_network = NeuralNetwork()
training_inputs = array([[0, 0, 1], [1, 1, 1], [1, 0, 1], [0, 1, 1]])
training_outputs = array([[0, 1, 1, 0]]).T
neural_network.train(training_inputs, training_outputs, 10000)
print(neural_network.think(array([1, 0, 0])))

Внутри один нейрон с тремя входами и одним выходом. random.seed(1) фиксирует начальные веса, чтобы результат воспроизводился. Сигмоида сжимает любое число в диапазон от 0 до 1. Ошибка считается как разница между выходом и ожиданием, а веса корректируются по производной. По сути, это весь цикл обучения.

Как работает обучение: четыре шага

В примере выше обучение выглядит почти как магия. На деле это цикл из четырех шагов: forward (посчитать ответ), loss (измерить ошибку), backprop (распределить ошибку по слоям) и обновление весов (шаг градиентного спуска). В статье Otus этот цикл разобран на классической задаче XOR.

Сеть должна выдавать 1, когда входы разные, и 0, когда одинаковые. Одним нейроном XOR не решается, поэтому нужен скрытый слой. Архитектура 2-2-1: два входа, два нейрона в скрытом слое, один выход. Минимальная рабочая сеть на Python и numpy сходится с ошибки 0.2761 до 0.0001.

import numpy as np

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

def sigmoid_derivative(x):
    return x * (1 - x)

X = np.array([[0,0],[0,1],[1,0],[1,1]])
y = np.array([[0],[1],[1],[0]])

np.random.seed(1)
w0 = 2 * np.random.random((2,2)) - 1
w1 = 2 * np.random.random((2,1)) - 1

for epoch in range(20000):
    l0 = X
    l1 = sigmoid(np.dot(l0, w0))
    l2 = sigmoid(np.dot(l1, w1))
    l2_error = y - l2
    l2_delta = l2_error * sigmoid_derivative(l2)
    l1_error = l2_delta.dot(w1.T)
    l1_delta = l1_error * sigmoid_derivative(l1)
    w1 += l1.T.dot(l2_delta)
    w0 += l0.T.dot(l1_delta)

print(l2)

Запустите скрипт на Python 3 с установленным numpy (pip install numpy). На выходе получите значения, близкие к ожидаемым: 0, 1, 1, 0. Ошибка будет уменьшаться с каждой эпохой, и сеть наконец выучит закономерность.

86 строк с нуля: опыт, который меняет мышление

На YouTube есть известное видео, где автор пишет нейросеть полностью с нуля. Он честно признается: даже после прочитанных статей и написанного кода не может сказать, что понял все на 100%. В итоге у него получилось 86 строк кода плюс небольшой класс. Ценность такого упражнения не в цифрах, а в понимании архитектуры, роли каждого слоя, алгоритмов обучения и работы с датасетами. Такой опыт становится фундаментом для более сложных решений в сфере artificial intelligence.

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

Когда своя нейросеть не нужна: готовые модели и 3GPT

Если ваша цель не обучение, а результат, писать сеть с нуля незачем. Тексты, картинки, видео, голос - все это давно решают готовые нейросети. Проблема только в доступе из России. Сервис 3GPT от 3SELLER решает ее полностью.

Он дает прямой доступ из России к последним флагманским моделям, среди которых:

И многим другим. Стоимость доступа символическая: от 149 рублей. Пополнить баланс можно российской картой, через СБП или криптой. Никаких иностранных карт и VPN не нужно. Все работает прямо в браузере.

Получить доступ ко всем флагманским моделям можно на официальном сайте 3GPT.

Интерфейс 3GPT

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

Готовые ИИ агенты для ваших задач

Кроме обычного чата у 3SELLER есть отдельная фишка - готовые ИИ агенты. Это сценарии под конкретные задачи: переговоры, контент, аналитика, код. Выбираете агента и начинаете общение. Модель агента можно менять прямо в чате.

ИИ агенты 3GPT

Раздел с агентами доступен по ссылке: ИИ агенты от 3SELLER.

Учебный проект против рабочего инструмента

Если вы учитесь или хотите разобраться в машинном обучении, пишите свои сети. Это лучший способ понять, как работают веса, функции активации и обратное распространение. Но для реальных продуктов используйте готовые API. Вы же не собираете собственный двигатель, чтобы доехать до работы. Так же и здесь: быстрее, дешевле и надежнее использовать инфраструктуру, которую уже построили.

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

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

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