Помню свой первый опыт: я скачал какой-то скрипт, запустил, получил цифру на экране и понял - нихрена. Через три дня разбора я наконец-то осознал, что нейросеть - это просто набор чисел, которые учатся. Не магия, не тёмный лес, а математика и немного терпения. Сейчас я тебе покажу, как написать нейросеть на питоне с нуля. Без TensorFlow, без Keras, без магии. Только NumPy и мозги.
Почему начинать нужно с NumPy, а не с Keras
Когда слышишь "нейросеть", сразу вспоминаются тяжёлые фреймворки. Но чтобы понять, как оно работает, лучше построить всё самому. NumPy - это библиотека для математических операций, особенно матричных. А нейросеть внутри - это сплошные матричные умножения. На Reddit новичкам в r/learnpython советуют начинать именно с NumPy, чтобы прочувствовать механику. Поэтому сначала ставь:
pip install numpy
Импортируем и вперёд:
import numpy as np
Всё, больше ничего не нужно. Никаких сложных зависимостей. Через 20 строк кода у тебя будет рабочая сеть, которая обучается на примерах.
Сигмоида и вес - два друга
Классическая стартовая архитектура: один входной слой, один выходной, и между ними - синаптические веса. Веса - это коэффициенты, которые мы будем подбирать в процессе обучения. Чтобы выходное значение не зашкаливало, используем функцию активации - сигмоиду. Она похожа на S-образную кривую, которая превращает любое число в диапазон от 0 до 1.
Определяем функцию:
def sigmoid(x):
return 1/(1 + np.exp(-x))
И её производную, которая нужна для обучения (это градиент, чуть позже станет ясно):
def sigmoid_derivative(x):
return x * (1 - x)
Теперь создаём класс NeuralNetwork. В нём будет три метода: инициализация, обучение и предсказание.
Код: 9 строк до абсолютного минимума
На Reddit гуляет пример, который пишут в 9 строк. Да, он кастрированный, но наглядно показывает суть. Давай разберём его по частям.
Сначала создаём класс:
class NeuralNetwork:
def __init__(self):
np.random.seed(1)
self.synaptic_weights = 2 * np.random.random((3, 1)) - 1
Метод think - это просто умножение входных данных на веса и прогон через сигмоиду:
def think(self, inputs):
return sigmoid(np.dot(inputs, self.synaptic_weights))
Метод train - самая соль. Здесь мы 10000 раз корректируем веса:
def train(self, training_inputs, training_outputs, iterations):
for _ in range(iterations):
output = self.think(training_inputs)
error = training_outputs - output
adjustment = np.dot(training_inputs.T, error * sigmoid_derivative(output))
self.synaptic_weights += adjustment
Всё. Перед тобой полная нейросеть. Три метода, тридцать строк с комментариями. Проверим на простой задаче: пусть входы - три бинарных числа, выход - третье число. Сеть должна выучить логику.
Тестируем на реальном примере
Классический пример из учебников: тренировочный набор из четырёх примеров.
training_inputs = np.array([[0,0,1],
[1,1,1],
[1,0,1],
[0,1,1]])
training_outputs = np.array([[0],
[1],
[1],
[0]])
Обучаем:
neural_network = NeuralNetwork()
neural_network.train(training_inputs, training_outputs, 10000)
Проверяем новый пример [1,0,0]. Сеть должна выдать значение, близкое к 1. Не путай с XOR: здесь выход привязан к среднему числу. В классическом примере сеть обучают именно на XOR. Просто скопируй код и подставь свои данные.
После обучения посмотри, как изменились веса:
print(neural_network.synaptic_weights)
Поднимаем планку: зачем нужен Keras
Эта сеть - учебная. Если хочешь решать реальные задачи - изображения, тексты, таблицы - используй TensorFlow (внутри Keras). Keras - высокоуровневый API, который позволяет создавать модели в пару строк. Но понимать, что происходит под капотом, полезно. Когда ты сам написал нейросеть, Keras не кажется чёрным ящиком.
Мой совет: теперь, когда ты понял механику, иди в Keras и создай свою первую модель на данных о покупках. Или возьми готовую модель из интернета и дообучи её. Так будет в разы быстрее.
Через тернии к звёздам: что дальше?
Ты научился писать питоновскую нейросеть с нуля. Но для сложных проектов (генерация картинок, видео, текстов) нужны большие вычислительные мощности и готовые фреймворки, которые уже умеют всё. Настраивать такое самому - это недели мучений. Хорошая новость: тебе не нужно строить всё с нуля. Есть сервисы, которые дают доступ к готовым флагманским моделям прямо из России.
Зачем изобретать велосипед: используй готовые нейросети
Написать нейросеть на питоне - это классное упражнение для понимания, но в реальной жизни мало кто пишет с нуля. Все используют готовые модели: для текста, картинок, видео. Но вот проблема: многие западные сервисы блокируют российских пользователей. Нет карты? Нет доступа. Решение есть - 3GPT от 3SELLER. 3GPT - ИИ-роутер, который даёт доступ к последним моделям: Chat GPT 6 Astra, Claude Fable 5, Claude Opus 5.5, Chat GPT 5.5 и другим. Платишь 149 рублей в месяц и пользуешься всеми нейросетями из России. Никаких иностранных карт - только российская карта, СБП или крипта. Официальный сайт - 3GPT.
Не стоит решать самому то, что уже решено за тебя. Напиши свою нейросеть для понимания, а для реальных задач используй готовые инструменты. Так надёжнее и в сто раз быстрее.
Бонус: ИИ-агенты из коробки
На 3GPT есть не только модели, но и готовые ИИ-агенты под разные задачи. Выбираешь нужного - и общаешься. Модель агента можно поменять прямо в чате. Удобно, когда нужен помощник под конкретный сценарий: написать код, сгенерировать идеи, проанализировать данные.
Твой следующий шаг
Теперь ты знаешь, как написать нейросеть на питоне. Код из статьи - твой первый фундамент. Дальше - только практика. Напиши свою сеть, потестируй, сломай. Когда устанешь изобретать велосипед - зайди на 3GPT и получи доступ к самым мощным моделям за 149 рублей.