Нейронные сети и искусственный интеллект - основные понятия

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

Искусственные нейронные сети (Artificial Neural Networks, ANNs)

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

Искусственный интеллект (Artificial Intelligence, AI)

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

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

НЕ нашли? Не то? Что вы ищете?
    ограниченный искусственный интеллект общий искусственный интеллект сверхразумный искусственный интеллект

Программа Deep Blue компании IBM, которая в 1996 году обыграла в шахматы Гарри Каспарова, или программа AlphaGo компании Google DeepMind, которая в 2016 году обыграла чемпиона мира по Го Ли Седоля, являются примерами ограниченного искусственного интеллекта, способного решать одну конкретную задачу. Это его главное отличие от общего искусственного интеллекта (AGI), который стоит на одном уровне с человеческим интеллектом и может выполнять много разных задач.

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

Машинное обучение(Machine Learning, ML)

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

Глубокое обучение (Deep Learning, DL)

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

Рис.1. Структура исследования искусственного интеллекта

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

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

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

Основные компоненты нейрона:

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

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

Еще недавно об искусственном интеллекте упоминалось только в научно-фантастических фильмах и художественных книгах. В последние 10 лет нейронные сети и искусственный интеллект набирают все большую популярность среди ученых благодаря достижениям в области архитектуры и производительности вычислительной техники.

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

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

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

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

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

Рис.3. Механизм «активации» нейронов

Функция всей нейронной сети – это вычисление выходов всех нейронов. По сути, искусственные нейронные сети представляет собой набор математических функций.

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

Любая нейронная сеть имеет следующую архитектуру:

Рис.4. Слои нейронов

Существуют набор входов, нейроны и набор выходов. Входы образуют входной слой, средний уровень, который выполняет обработку, называется скрытым слоем, а выходные данные формируют выходной слой.

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

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

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

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

Выход вычисляется по формуле:

,

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

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

Рис.5 . Смещение нейрона

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

Проведем аналогию с функцией y = ax+b. Если менять у нее значения а, то будет изменяться наклон функции (цвета линий на графике слева), а если менять значения b, то функция будет смещаться вправо или влево (цвета линий на графике справа). Таким образом, а — это вес , а b — это вес нейрона смещения . Если посмотреть на функцию активации справа на Рис.5, то можно заметить очень сильное сходство между формулами.

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

На выходе применяется функция активации, то есть функция, вычисляющая выходной сигнал искусственного нейрона. В качестве аргумента принимает сигнал Y, как показано на Рис.6.

Одними из наиболее распространенных функций являются:

Линейная Нелинейная с насыщением - логистическая функция или сигмоид Гиперболический тангенс

График гиперболического тангенса изображен на Рис.6.

Рис.6. Гиперболический тангенс


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

Рис.7 . Механизм получения выходных данных