23 июля 2025

Как создать простую нейронную сеть: Пошаговое руководство

Как создать простую нейронную сеть

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

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

1. Введение в нейронные сети

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

В этом руководстве мы создадим простую нейронную сеть для классификации изображений на примере набора данных MNIST.

Пример:

MNIST — это набор данных, состоящий из 70,000 изображений рукописных цифр от 0 до 9, который широко используется для обучения нейронных сетей. [Источник](http://yann.lecun.com/exdb/mnist/).

## 2. Шаг 1: Установка необходимых библиотек

Перед тем как начать, убедитесь, что у вас установлен Python 3.6 или выше. Для создания нейронной сети мы будем использовать библиотеки TensorFlow и Keras.

Установите их с помощью pip:

bash
pip install tensorflow

3. Шаг 2: Импортирование библиотек

После установки необходимых библиотек, импортируем их в наш проект:

python
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers

4. Шаг 3: Загрузка данных

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

python
(train_images, train_labels), (test_images, test_labels) = keras.datasets.mnist.load_data()

5. Шаг 4: Предобработка данных

Преобразуем данные, чтобы они подходили для обучения нашей модели:

python
train_images = train_images.reshape((60000, 28, 28, 1)).astype("float32") / 255
test_images = test_images.reshape((10000, 28, 28, 1)).astype("float32") / 255

6. Шаг 5: Создание модели нейронной сети

Теперь мы можем создать простую нейронную сеть. Давайте используем последовательную модель Keras, которая очень проста в использовании:

python
model = keras.Sequential([
    layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
    layers.MaxPooling2D((2, 2)),
    layers.Flatten(),
    layers.Dense(64, activation='relu'),
    layers.Dense(10, activation='softmax')
])

7. Шаг 6: Компиляция модели

После создания модели мы должны скомпилировать ее, указав оптимизатор и функцию потерь:

python
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

8. Шаг 7: Обучение модели

Теперь можно обучить нейронную сеть на наборе данных MNIST:

python
model.fit(train_images, train_labels, epochs=5)

9. Шаг 8: Оценка модели

После обучения модели оценим ее точность на тестовом наборе данных:

python
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('\nТочность на тестовых данных:', test_acc)

10. Заключение

Создание простой нейронной сети с использованием TensorFlow и Keras — это не так сложно, как может показаться.

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

Изучение нейронных сетей открывает множество возможностей в мире технологий и науки.

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

Полезные ссылки:

- [TensorFlow](https://www.tensorflow.org/)

- [Keras](https://keras.io/)

- [Хотите узнать больше о нейронных сетях?](https://www.deeplearningbook.org/)