Kitobni o'qish: «А ты готов опознавать котов? Нейросети и котики – детям»
Не тот кот, кто кот, а тот кот, кто кто?
(придумано нейросетью)
Введение
Буду откровенен – у тебя в руках предельно маленькая книга про искусственный интеллект, может быть, даже беспредельно маленькая. Единственное оправдание для меня – желание сделать ее максимально краткой и по возможности простой для понимания (но это не точно). Даже если ты еще не умеешь читать, то с помощью родителей сможешь приобщиться к столь актуальной теме, как нейросети.
Ты запустишь простейшую нейросеть для компьютерного зрения и проверишь, как она распознает тех, кто больше всего этого заслуживает – котиков! И даже создашь маленький, но полностью автономный искусственный интеллект.
Для выполнения экспериментов достаточно практически любого компьютера (включая ноутбуки и планшеты) с вэб-камерой. Более сложные опыты потребуют небольших дополнительных затрат.
Нейроны и нейросети
Как ты уже, наверное, слышал, мозг человека состоит из особых клеток – нейронов. Эти клетки чувствительны к электрическим импульсам, поступающим извне. Нейрон способен обрабатывать, хранить, передавать информацию с помощью электрических и химических сигналов.
Число нейронов в мозге человека составляет, по разным оценкам, от 80 до 100 миллиардов. А в мозге котика – до 1 миллиарда нейронов.
Один ученый (точнее, два!) – американский нейрофизиолог Уоррен МакКаллок и нейролингвист, логик и математик Уолтер Питтс – придумали нейросети в далеком 1943, решив по аналогии с мозгом создать электронную схему для анализа данных и принятия решений.
Суть ее в том, что большое число заранее “обученных” нейронов, связанных между собой, могут действовать подобно мозгу человека, принимая решение на основе ранее полученной информации.
Высказывалось даже мнение, что достаточно лишь соединить между собой очень большое число нейронов, чтобы получить полное подобие мозга человека или другого животного. Конечно же, это не так.
Компьютеры в то время только появились, представляли собой огромные установки, занимавшие целые этажи или даже здания. О том, чтобы развернуть на таком компьютере подобие современной нейросети, не могло быть и речи.
Но это не значит, что нейросети сидели и ждали появления быстрых компов, ничего не делая. На следующем рисунке показаны важные события в истории развития нейросетей.
Сейчас нейросети уже достаточно широко применяются, например:
– распознавание номеров автомобилей для выявления нарушителей правил движения;
– распознавание лиц людей (поиск преступников);
– использование биометрических данных для предоставления услуг;
– повышение качества фотографий и видео;
– интеллектуальное редактирование видео (например, замена лиц);
– синтез изображений (например, фотографий людей);
– синтез текстов;
– многое другое.
Установка и настройка
Поскольку ты пока начинающий разработчик, мы создадим один из простейших, но, в то же время, вполне работоспособный проект, демонстрирующий возможности нейронных сетей.
Что же нам потребуется?
Оборудование:
– компьютер (обычный настольный, либо ноутбук, либо планшет) – подойдет практически любой, главное, чтобы можно было установить софт (об этом чуть ниже);
– веб-камера (если используешь обычный комп, потому что в ноутах и планшетах камера обычно встроена).
Программы:
– дистрибутив Python;
– библиотеки imutils, cv2.
Итак, мы считаем, что у тебя есть комп, и он работает под управлением Windows. Это довольно логично, так как если у тебя на компе Linux, то с установкой Python ты и без меня справишься))) (на всякий далее будет описана установка Python и библиотек на Linux, а пока вернемся к родному Биллу Гейтсу):
1) переходим по ссылке [1] в конце книги и скачиваем последнюю версию Python (на момент написания книги – 3.9.4) вместе со средой разработки IDLE. Python (по-русски читается “Пайтон”) – язык программирования, ставший в последнее время очень популярным, одна из причин – легкость установки и использования, мы с тобой убедимся в этом. К сожалению, за удобства приходится платить – программы на Python работают медленнее аналогичных программ, к примеру, на языке С++, иногда – намного медленнее, раз в 10 и даже больше. Для нас с тобой это пока не проблема.
2) запускаем установщик и соглашаемся с настройками по умолчанию;
3) в результате в меню “Пуск” должны появиться новые программы (если ты скачивал более новую версию, то в названиях будет номер этой версии):
4) запустим среду IDLE. Отобразится окно, в котором можно писать на языке Pyhton. Команды будут выполняться по нажатию кнопки Enter:
5) в принципе, уже можно писать код/кот. Так и напишем:
print ("Привет, Кот!")
и нажмем Enter, должно получиться так:
Если есть ошибки, они будут выделены красным. Например, можно забыть кавычки;
6) как видим, наш первый код(т) жив. Так что начало положено.
Конечно, мало кто выполняет текст программы по одной строчке. Исходный текст программы представляет собой файл или несколько файлов, которые можно хранить, редактировать, передавать другим разработчикам. Даже в такой простой среде как IDLE можно создавать файлы программ – выбери в меню File пункт New File. После нажатия на него откроется новое окно для ввода программы. Введи туда следующие строки:
a = 1
b = 2
print (a + b)
Теперь можно запустить эту простейшую программу – выбери в верхнем меню Run пункт Run Module. IDLE спросит, куда сохранить файл программы, введи имя файла и выбери папку для сохранения. Сразу после этого программа запустится, и результат ее работы – число “3” – будет выведено в нижнее окно (с заголовком IDLE Shell).
Bepul matn qismi tugad.