Своя нейросеть за 5 минут: пошаговый гайд по созданию ИИ прямо в браузере

Своя нейросеть за 5 минут: пошаговый гайд по созданию ИИ прямо в браузере
0

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

В материале рассмотрим процесс создания простой модели, которая определяет токсичные комментарии.

Открываем рабочую среду

Перейдите на сайт colab.research.google.com и нажмите «Создать блокнот». Перед вами появится страница с пустой ячейкой кода. Слева от нее есть кнопка ▶ — она запускает код внутри ячейки. Каждая новая команда вводится в отдельной ячейке через кнопку «+ Код».

Загружаем инструменты

Создайте новую ячейку, вставьте код (ниже) и нажмите ▶. После запуска должна появиться надпись OK.

import numpy as np

import tensorflow as tf

from tensorflow.keras.preprocessing.text import Tokenizer

from tensorflow.keras.preprocessing.sequence import pad_sequences

print(«OK»)

Эти строки подключают готовые инструменты для работы с текстом и нейросетями.

Создаем данные для обучения

Добавьте новую ячейку и вставьте следующий код. Запустите его.

sentences = [

    «spasibo, ochen polezno»,

    «klass, mne ponravilos»,

    «avtor molodec»,

    «ty idiot i nichego ne znaesh»,

    «uzhasnyi kontent, otpiska»,

    «ty durak»

]

labels = [0,0,0,1,1,1]

Здесь sentences — это тексты, а labels — правильные ответы. Ноль означает нормальный комментарий, единица — токсичный. Нейросеть будет учиться на этих примерах.

Превращаем текст в числа

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

vocab_size = 1000

max_len = 8

tokenizer = Tokenizer(num_words=vocab_size, oov_token=»<OOV>»)

tokenizer.fit_on_texts(sentences)

sequences = tokenizer.texts_to_sequences(sentences)

padded = pad_sequences(sequences, maxlen=max_len, padding=»post»)

print(padded)

После запуска вы увидите таблицу из чисел. Это и есть ваш текст в формате, понятном машине. Tokenizer заменил слова номерами, а pad_sequences выровнял длину фраз.

Создаем нейросеть

Добавьте новую ячейку и вставьте следующий код.

model = tf.keras.Sequential([

    tf.keras.layers.Embedding(vocab_size, 16, input_length=max_len),

    tf.keras.layers.GlobalAveragePooling1D(),

    tf.keras.layers.Dense(16, activation=»relu»),

    tf.keras.layers.Dense(1, activation=»sigmoid»)

])

model.compile(optimizer=»adam»,

              loss=»binary_crossentropy»,

              metrics=[«accuracy»])

Embedding превращает номера слов в векторы. Dense-слои принимают решение. Sigmoid выдает вероятность от 0 до 1.

Обучаем модель

В новой ячейке вставьте:

model.fit(padded, np.array(labels), epochs=30, verbose=0)

print(«Обучение завершено»)

Если все прошло без ошибок, модель обучена.

Проверяем работу

Создайте новую ячейку и запустите:

test = [«spasibo», «ty polnyi idiot», «klassnyi post»]

test_seq = tokenizer.texts_to_sequences(test)

test_pad = pad_sequences(test_seq, maxlen=max_len, padding=»post»)

pred = model.predict(test_pad)

for text, score in zip(test, pred):

    print(text, «->», float(score), «TOXIC» if score > 0.5 else «OK»)

Если число больше 0.5 — модель считает комментарий токсичным.

Важно

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

Комментарии: 0
Как вам статья?
/ 5
Комментарии (0)
Читатели еще не оставили комментарий, будьте первым!

— для отправки комментария вам необходимо
Забыли пароль?

Введите ваше имя пользователя или адрес email. Вы получите email сообщение с инструкциями по сбросу пароля.

Создание аккаунта

X