Концепции нейронной сети и искусственного интеллекта

С помощью научных и философских исследований, проводимых на протяжении веков, были выявлены и выделены особенные механизмы, составляющие основу человеческого интеллекта. Вдохновляясь его работой, стало возможно создать машины, имитирующие работу этих механизмов. Проблема в том, что еще не удалось в полной мере воспроизвести все из них, поэтому системы искусственного интеллекта (Artificial Intelligence, AI), которые мы имеем, нельзя назвать полноценными.

Решающим шагом в совершенствовании подобных машин стало использование так называемых искусственных нейронных сетей (Artificial Neural Networks, ANNs), которые, подобно механизмам, регулирующим естественные нейронные сети, должны имитировать мышление человека. Программное обеспечение теперь может имитировать механизмы, необходимые для победы в шахматном матче или для перевода текста на другой язык в соответствии с его грамматическими правилами.

Введение

Мозг является самым важным органом человеческого тела. Это центральный процессор для всех выполняемых нами функций. Весом всего 1,5 килограмма, он имеет около 86 миллиардов нейронов. Нейрон определяется как клетка, передающая нервные импульсы или электрохимические сигналы. Мозг представляет собой сложную сеть нейронов, которые обрабатывают информацию через систему из нескольких взаимосвязанных нейронов. Всегда было сложно понять функции мозга; однако, благодаря достижениям в компьютерных технологиях, теперь мы можем программировать нейронные сети искусственно. Направление ANN возникло из идеи подражать функционированию человеческого мозга для решения определенных задач.

НЕ нашли? Не то? Что вы ищете?

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

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

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

Идея нейронных сетей

Вдохновением для идеи нейронных сетей стала работа человеческого мозга. Человеческий мозг может обрабатывать огромное количество информации, используя данные, передаваемые человеческими чувствами (особенно зрением). Обработка осуществляется нейронами, которые работают с электрическими сигналами, проходящими через них и применяющими логику «флип-флоп»: открывая и закрывая входы для передачи сигнала. На Рисунке 2 показана структура нейрона:

Рисунок 2. Структура нейрона



Основными компонентами каждого нейрона являются:

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

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

AI долго был больше из области научно-фантастических фильмов и фантастических книг. ANNs в AI существует с 1950-х годов, но они стали более популярны и используемы именно в последние 10 лет из-за достижений в вычислительной архитектуре и производительности. Основной прогресс был достигнут в таких областях, как:

- Массивный параллелизм

- Распределенные вычисления

- Способность к обучению и обобщению

- Отказоустойчивость

- Низкое энергопотребление

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

ANNs-это многочисленные параллельные вычислительные системы, состоящие из чрезвычайно большого числа простых взаимосвязанных процессоров.

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

Как работают нейронные сети?

Подобно структуре биологического нейрона, в ANNs нейрон представляется в виде центрального блока обработки данных, который выполняет математическую операцию по генерации результата (выхода) исходя из набора входных данных. Выход нейрона является функцией взвешенной суммы входов плюс смещение. Каждый нейрон «активируется», если общее количество полученного сигнала превышает порог активации, как показано на Рисуне 3:

Рисунок 3. Структура нейронной сети



Функция всей нейронной сети - это просто вычисление выходов всех нейронов. По существу, ANN является набором математических функций. Введем новую терминологию:

    Входной слой Скрытый слой Выходной слой Веса Смещение Функция активации

Многоуровневый подход

Любая нейросеть имеет следующую архитектуру: имеется набор входов, нейроны и набор выходов. Входные данные формируют входной слой, средний слой(ы), который выполняет обработку, называется скрытым слоем(ями), а Выходные данные формируют выходной слой(и). Скрытый слой обладает магией для преобразования входных данных в желаемые выходные. Для понимания работы скрытого слоя необходимо понимать значения терминов веса, смещения и функция активации, что является следующей темой.

Веса и смещения

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

В нейросети, если входы обозначены как x1, x2 и x3, то синаптические (синапс – связь между двумя нейронами, имеющая вес) веса, применяемые к ним, обозначаются как w1, w2 и w3.

Выход,

i = 1,n, где n = числу входов.

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

Рисунок 4. Работа с нейроном смещения (B1)



Обработка, выполняемая нейроном, обозначается как:

выход= сумма(веса*входы) + смещение

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

Вход следующего слоя-это выход нейронов предыдущего слоя, как показано на следующем рисунке:

Рисунок 6. Схема работы нейрона