Искусственный интеллект на Python для детей

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

Искусственный интеллект на Python для детей

Сегодня мы подробнее поговорим об искусственном интеллекте, в нашей статье мы расскажем:

Вы знали, что разработчики нейросети LaMDA в 2022 году заявили о появлении у их детища сознания? А ChatGPT стал самым быстрорастущим сервисом в истории. К слову, сам ChatGPT является примером того, как создать нейросеть на Python, потому что он написан именно на этом языке программирования.

Искусственный интеллект на Python для детей

Проекты в области искусственного интеллекта сейчас выходят на новый уровень. Мы это можем понять по распространению техники, в основе которой они лежат: личные помощники (в том числе умные колонки), спам-фильтры, системы поимки мошенников, поисковики, рекомендательные системы и многое другое.

Специалисты, занимающиеся технологическим прогнозированием, называют ИИ (artificial intellect) одной из четырех технологий, которые в ближайшее время приведут к формированию «нового экономического уклада» и перевернут нашу жизнь сильнее, чем она изменилась с начала 50-х годов XX века, при первой научно-технической революции.

(Еще одной сферой практического применения ИИ являются игры, так как в «ботов» необходимо закладывать самостоятельные действия. Больше о создании игр на Roblox можно узнать здесь, - прим. ред.)

ИскИны и Python

В кибер-панковской фантастике ИскИнами называли роботов с искусственным разумом. Учитывая тенденцию, что-то подобное скоро появится. Если это так, то на какой технологии могут создать ИскИна? Скорее всего, это будет Python.

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

Две эти IT-дисциплины сегодня реализуют концепцию ИИ. Задачи в этих сферах, которые на Java или других языках могут потребовать сотни строк кода, на Python решаются несколькими командами. Это происходит за счет отличного набора библиотек к Python: Keras, Scikit-learn, TensorFlow, NumPy, Pandas. Изучение языка Python не представляет никакой сложности. Дочитайте статью до конца и вы создадите свой первый ИИ, точнее, нейросеть, которая будет возводить в степень любое заданное число.

Искусственный интеллект на Python для детей

Создаем ИИ: как написать нейросеть на Пайтон?

  • Настроить среду разработки для обучения нейросети Python несложно. Дистрибутив языка может работать даже из командной строки Windows. Так же просто его поставить на Linux. Вообще, это одно из преимуществ, благодаря которым язык стал так востребован в нейросетях. Программу можно переносить из одной операционной системы на другую, и она почти всегда будет работать.

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

  • Нейронная сеть, за счет которой программа получает возможность «обучаться» и имитировать интеллект неслучайно так называется. Она работает методами, похожими на работу мозга человека. Может распознавать образы, слова, звуки. Отличать кошек от собак и использовать эти знания для решения каких-либо задач.

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

Искусственный интеллект на Python для детей

Также о том, как создать нейросеть на Python можно узнать из нашего видео:

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

Программист может применить в данном случае простой математический оператор и узнать, на какое число нужно умножить имеющееся число по тому, какое число у нас уже есть.

Но в том-то и дело, что нейросети придется действовать самостоятельно и напрямую взять и возвести число в степень мы ей тоже не скажем, хотя в Python имеется такой функционал. Предположим, у нас есть выражение 5*5 = 25. Нейросеть получит 5 и затем будет пропускать ее через слои нейронов. Станет умножать числа и свои результаты на какие-то веса, применять функции, пока не приблизится к правильному результату, не поймет, как мы получили этот результат.

Готовить наше «восстание машин» будем на браузерной платформе Google Collab. Ее плюс в том, что все библиотеки Python там уже добавлены. Вам нужно только прописать их подключение, и можно обращаться к фреймворкам, программируя прямо в браузере. Еще один довод «за» — возможность запускать код построчно, то есть передавать интерпретатору не весь скрипт, а только ту его часть, на результатах которой вы хотите сосредоточиться. Подключаем библиотеки оператором Import:

Искусственный интеллект на Python для детей
  • После подключения мы видим, что для создания ИИ будет использоваться библиотека Python NumPy и компоненты других библиотек. Ниже подключения библиотек мы использовали метод NumPy linspace для генерации набора чисел от -5 до 5 в 1000 раз. С помощью этой заготовки мы будем проводить обучение нейросети Python. Последняя строчка кода в этом сегменте просто дает нам результат возведения числа в квадратную степень, чтобы этот результат мы передали нейросети, и она знала, к чему должна стремиться.
  • Теперь возьмемся за конструирования самой нейросети:
Искусственный интеллект на Python для детей

За это у нас отвечают методы model.add и функция Dense. Ее параметры, которые мы здесь прописали надо понимать так: слой с 10 нейронами, в который на вход передается 1 число и второй слой — 1 нейрон, получающий 10 чисел. Зададим параметры того, как нейросеть будет обучаться.

Искусственный интеллект на Python для детей

В параметре loss метода compile можно определить метод расчета ошибок, от этого зависят результаты измерений. Для учебной нейросети мы выбрали mse — средние квадратичные ошибки. Подробнее об этом можно посмотреть в документации к библиотеке. Также необходимо задать «оптимизатор». Это простая нейросеть на Python, поэтому мы по максимуму используем потенциал готовых функций и методов. Есть несколько алгоритмов взаимодействия нейронов сети, их можно выбрать именно тут.

Мы избрали для этой задачи Adam. За другими вариантами также отсылаем в мануалы, на этот раз библиотеки Keras, к которой относится этот метод. Сложно? Зато мы уже почти знаем, как сделать нейросеть на Пайтоне.

  • Ну а теперь давайте запустим обучение с использованием входных данных x и y. Нейросеть обучилась быстро, так как у нас всего два слоя нейронов, но после вывода на экран результата, мы видим, что он оказался не очень хорошим. Даже в нашей простой нейросети «для школьников» результат не гарантирован. Придется приложить усилия!
Искусственный интеллект на Python для детей
Искусственный интеллект на Python для детей

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

  • Увеличим количество «материала» для обучения. В методе np.linspace сменим количество подаваемых чисел с -5 до 5 со 100 на 1000. Перезапускаем обучение!
Искусственный интеллект на Python для детей

Отлично! Теперь результат гораздо больше похож на правду. Наша нейросеть на Пайтон почти готова.

  • Посмотрим, как нейросеть будет справляться с новыми наборами чисел, которые мы можем ей передать, для этого используется метод reshape. И опробуем также прогнозирование результата «нейросеткой», для этого предусмотрена команда predict.
Искусственный интеллект на Python для детей
  • Как видно на скриншоте точность прогноза, увы, невысока. Что нам сделать, чтобы ее улучшить? А давайте увеличим количество нейронов и слоев нейронов, через которые наш искусственный интеллект пропускает входящую информацию.
Искусственный интеллект на Python для детей
Искусственный интеллект на Python для детей
  • Здорово! Теперь результат приближается к правильному, который нам известен. Неплохо для вашей первой нейросети. Вот мы уже и поняли, как создать нейросеть на Пайтон.

Подходит ли создание искусственного интеллекта для детей?

То, что родителям все еще кажется фантастикой, для для сегодняшних детей привычно. Многие с детства отдают приказы умным помощникам и пользуются рекомендательными системами видеохостингов. Кто-то с 9 лет занимаются программированием дополнительно к школьным предметам. Существует много курсов изучения Python для детей, и кто-то из подростков уже создавал свой несложный ИИ или несложную для детей нейросеть. Это люди будущего.

820820 показов
5.2K5.2K открытий
Начать дискуссию