Найти в Дзене
Александр Шуравин.

Искусственный интеллект для чайников. Урок 1. Нейросети.

Изображение взято из открытых источников
Изображение взято из открытых источников

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

Прежде чем рассказать о конкретных технологиях ИИ, я объясню, а что же собственно, такое, искусственный интеллект. Одно из его определений звучит так: искусственный интеллект – это область исследований, направленная на создание компьютеров, которые будут выполнять такие функции, которые, в настоящее время, человек выполняет лучше[1]. Имеются в виду такие функции, как умение воспринимать информацию, анализировать, рассуждать, планировать свои действия, использовать накопленные знания и так далее. Такие действия человек пока еще делает гораздо лучше компьютера. Но, тем не менее, все больше и больше областей человеческой деятельности подвергается автоматизации.

Есть и другие определения, например: искусственный интеллект (ИИ, англ. Artificial intelligence, AI) — наука и технология создания интеллектуальных машин, особенно интеллектуальных компьютерных программ[2]. Так же ИИ определяют как область компьютерной науки (информатики), специализирующаяся на моделировании интеллектуальных и сенсорных способностей человека с помощью вычислительных устройств[3].

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

Как устроен человеческий мозг? По сути, это огромное множество специальных клеток, нейронов, соединённых между собой, и передающих друг другу сигналы. Вот так выглядит нервная клетка под микроскопом:

Взято с  https://www.greelane.com/uk/%D0%BD%D0%B0%D1%83%D0%BA%D0%B0-%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0/%D0%BD%D0%B0%D1%83%D0%BA%D0%B0/nervous-tissue-anatomy-373196/
Взято с https://www.greelane.com/uk/%D0%BD%D0%B0%D1%83%D0%BA%D0%B0-%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0/%D0%BD%D0%B0%D1%83%D0%BA%D0%B0/nervous-tissue-anatomy-373196/

А вот его схематическое строение:

Изображение взято из открытых источников
Изображение взято из открытых источников

Аксон через синапс крепиться к дендритам других нейронов. Когда нейрон возбужден, он по аксону передает электрический сигнал, который возбуждает, или наоборот, тормозит, другие нейроны. Причем, какие-то нейроны могут очень бурно реагировать на входящие сигналы, а другие наоборот, слабо. Особо весело, что если на нейрон поступят сигналы от нескольких синапсов, то их воздействие суммируется. То есть, может быть так, что один нейрон не возбудил другой нейрон, два не возбудили, а если подействовали три сразу, то хлобысь, он возбудился. А еще веселее, что все эти нейроны образуют сложнейшую, ну просто очень сложнейшую, сеть. И эта сложнейшая сеть может мыслить, думать, планировать, понимать визуальный ряд, влюбляться, ненавидеть и испытывать другие эмоции.

Конечно, смоделировать весь мозг на компьютере невозможно. Потому что в нем около ста миллиардов нейронов и каждый из них может иметь до ста тысяч связей с другими нейронами. Но даже те маленькие нейросети, которые моделируются на компьютере, буквально творят «магию». Например [4]:

· Создают реалистичные фотографии несуществующих людей

· Могут изобрести новый вид спорта

· Ставят медицинские диагнозы

· Определят кредитные риски при анализа заемщика.

· Могут анализировать видеоряд, и, например, читать по губам[5]

· И много другое.

А теперь немного математики. Я расскажу о том как конкретно моделируются на компьютере нейронные сети. В качестве нейрона в такой модели – просто функция суммирования сигналов, умноженных на некий коэффициент, а результат далее, как правило, подвергается нелинейному преобразованию при помощи другой функции и может быть подан на вход другого нейрона:

Изображение взято из открытых источников
Изображение взято из открытых источников

Такую нейросеть можно обучить. Обучение заключатся в том, чтобы подобрать коэффициенты. Для этого есть специальные алгоритмы, например, алгоритм обратного распространения ошибки. Его суть заключается в том, что выходной сигнал сравнивается с тем, что должно быть (это называется обучение с учителем), и по специальной формуле коэффициенты корректируются с учетом этой разницы. Коэффициенты начинают пересчитываться с выходного слоя и далее назад, ко входам. Именно поэтому метод получил название «обратное распространение ошибки». Вот схема такого метода обучения:

Изображение взято из открытых источников
Изображение взято из открытых источников

В этой формуле w – это весовой коэффициент, который подвергается корректировке, вот такая закорючка:

-6

это коэффициент скорости обучения, чем он больше тем быстрее обучается нейрость, но если выбрать коэффициент слишком большой, то можно «проскочить» правильное решение.

Вот такая закорючка:

-7

это как раз значение ошибки (разница межу желаемым и фактическим значением выхода).

Выражение:

-8

Это значение производной функции активации (той самой передаточной функции, которая осуществляет нелинейные преобразования).

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

Следующий урок: Искусственный интеллект для чайников. Урок 2. Компьютерное зрение. Разбор простого примера

Литература

1. В. Н. Бондарев, Ф. Г. Искусственный интеллект. Севастопаль: СевНТУ. 2002.

2. Википедия, Искусственный интеллект: (http://ru.wikipedia.org/wiki/Искусственный интеллект), дата обращения 13.09.2020

3. Петрушн, Ю. Ю. (б.д.). Филосовская энциклопения, Искусственный интеллект, статья в Интернет: (http://dic.academic.ru/dic.nsf/enc_philosophy/469/Искусственный%20интеллект), дата обращения 13.09.2020

4. https://texterra.ru/blog/chemu-nauchilis-neyroseti-i-kogda-oni-zamenyat-kopirayterov.html, Дата обращения 13.09.2020

5. https://habr.com/ru/company/mailru/blog/338248/, Дата обращения 13.09.2020