Создание собственного искусственного интеллекта
-
Это увлекательный процесс (а может быть и нет
), и Python — отличный выбор для этого благодаря богатой экосистеме библиотек.
Шаг 1
Начнем с простого, понимание что такое ИИ:
- Машинное обучение (ML) — обучение модели на данных.
- Нейронные сети — более сложные модели, особенно глубокие (Deep Learning).
- Генеративные модели — например, чат-боты, генератор текста.
Но начать нужно с простого — попробуем обучить модель предсказывать что-то.
Шаг 2
Предварительно установим Python (лучше 3.8+, надеюсь вы знаете как установить?), затем установи нужные библиотеки:
pip install numpy pandas scikit-learn matplotlib tensorflow torch jupyter
Что тут у нас:
scikit-learn
— для простого машинного обучения.numpy
— работа с массивами.pandas
— обработка данных.matplotlib
— визуализация.
Шаг 3
Теперь попробуем создать простую модель, которая предсказывает зарплату по стажу работы.
Пример 1: Простая модель
# Создадим файл linear_regression.py или main.py без разницы import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split # 1. Сгенерируем данные np.random.seed(42) стаж = np.random.randint(1, 20, 100) # стаж в годах зарплата = стаж * 3000 + np.random.normal(0, 5000, 100) # зарплата с шумом # 2. Подготовим данные X = стаж.reshape(-1, 1) # признаки (стаж) y = зарплата # целевая переменная (зарплата) # 3. Разделим на обучение и тест X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 4. Создаём и обучаем модель model = LinearRegression() model.fit(X_train, y_train) # 5. Делаем предсказания y_pred = model.predict(X_test) # 6. Оцениваем качество score = model.score(X_test, y_test) print(f"Точность модели (R²): {score:.2f}") # 7. Визуализация plt.scatter(X_test, y_test, color='blue', label='Реальные данные') plt.plot(X_test, y_pred, color='red', label='Предсказание') plt.xlabel('Стаж (лет)') plt.ylabel('Зарплата (руб)') plt.legend() plt.show()
Это простая ИИ — модель, которая “учится” на данных и делает предсказания.
И да! Python 3 полностью поддерживает кириллицу в именах переменных, функций, комментариях и строках. Так что использовать русские слова — абсолютно нормально с точки зрения синтаксиса ну или меня
Шаг 4:
Плавно переходит к нейросетям, попробуем нейронную сеть с помощью
TensorFlow/Keras
.Пример 2: Нейросеть для той же задачи
# neural_network.py import numpy as np from sklearn.model_selection import train_test_split from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense # 1. Данные (те же) np.random.seed(42) стаж = np.random.randint(1, 20, 100) зарплата = стаж * 3000 + np.random.normal(0, 5000, 100) X = стаж.reshape(-1, 1) y = зарплата X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 2. Создаём нейросеть model = Sequential([ Dense(10, activation='relu', input_shape=(1,)), # скрытый слой Dense(1) # выходной слой (предсказание) ]) # 3. Компилируем model.compile(optimizer='adam', loss='mse', metrics=['mae']) # 4. Обучаем history = model.fit(X_train, y_train, epochs=100, verbose=0, validation_split=0.2) # 5. Оценка loss, mae = model.evaluate(X_test, y_test, verbose=0) print(f"Средняя ошибка: {mae:.2f} руб") # 6. Предсказание new_experience = np.array([[5]]) # 5 лет стажа predicted_salary = model.predict(new_experience, verbose=0) print(f"Предсказанная зарплата для 5 лет стажа: {predicted_salary[0][0]:.0f} руб")
А это у нас уже искусственный интеллект на основе нейросети.
Шаг 5
Хотим что-то “умное”, как ChatGPT? Начнем с простого ответчика на ключевые слова.
Пример 3: Простой чат-бот
# chatbot.py import random # База знаний бота responses = { "привет": ["Привет!", "Здравствуйте!", "Приветствую!"], "как дела": ["Хорошо, спасибо!", "Отлично, а у тебя?"], "пока": ["Пока!", "До свидания!", "Удачи!"], "спасибо": ["Пожалуйста!", "Всегда рад помочь!"] } def get_response(user_input): user_input = user_input.lower() for key in responses: if key in user_input: return random.choice(responses[key]) return "Извините, я не понял." # Тест while True: user = input("Вы: ") if user.lower() == "выход": break print("Бот:", get_response(user))
А что дальше ?
Глубокое обучение - стоит попробовать
transformers
от Hugging Face для создания настоящих языковых моделей.Пример:
from transformers import pipeline chatbot = pipeline("text-generation", model="gpt2") response = chatbot("Как стать программистом?", max_length=100) print(response[0]['generated_text'])
Обучение своей модели:
- Собери датасет (например, диалоги)
- Дообучи модель (fine-tuning) с помощью
HuggingFace Transformers
.
© 2024 - 2025 ExLends, Inc. Все права защищены.