Все слышат об искусственном интеллекте, читая последние технические новости и просматривая научно-фантастические фильмы. ИИ собирается произвести революцию почти во всех отраслях, но не многие точно знают, как он работает. Это не волшебство, это математика! Искусственные нейронные сети (ИНС) - это строительные блоки ИИ.

Что делает нейронная сеть?

Это один из самых важных вопросов, на который нужно ответить. Я постараюсь объяснить это как можно проще на простом примере. Допустим, вы только что подали заявку в MIT и сразу хотите знать, будут ли вы приняты или отклонены, даже если MIT еще не принял решения. Вы хотите предсказать результат с очень высокой точностью.

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

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

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

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

Уравнение

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

Мы хотим познакомиться с тремя основными переменными:

X = входные данные (входные данные, которые вы предоставляете своей нейронной сети; например, результаты тестов по математике и естественным наукам из приведенного выше примера).

W = веса (на что мы умножаем входные данные, для каждого входа есть вес)

b = смещение (есть только одно смещение)

Вот как складываются переменные, чтобы сформировать наше уравнение:

Как вы можете видеть во втором примере, если у вас n входов, у вас будет n весов, но только одно смещение.

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

Персептроны

Теперь, когда мы рассмотрели уравнение линии, пора перейти к нейронным сетям.

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

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

Немного словарного запаса:

Круги = узлы

Линии = края

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

Вероятности

Хотя было бы намного проще просто классифицировать что-либо как нечто вроде «да» или «нет», гораздо полезнее определить вероятность от 0 до 1.

Выше показано вероятностное пространство для линии, которую мы нарисовали ранее. В том месте, где проходит линия, существует вероятность 0,5, потому что, если ваша точка попадает на линию, существует вероятность 50–50, что ваши данные упадут выше линии. Выше линии вероятность увеличивается, а ниже линии вероятность уменьшается.

Но как дать очень большому или маленькому числу значение от 0 до 1? Мы можем использовать сигмовидную функцию, которая делает именно это! Нам просто нужно выполнить сигмовидную функцию над суммой, и все готово! Теперь у нас есть вероятность, которая представляет наши входные данные по отношению к строке.

Пример

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

Допустим, ученик получил 8 баллов по математике и 9 баллов по естествознанию.

Это была всего лишь вводная статья о том, как работают нейронные сети, и я не вдавался в подробности того, как происходит обучение нейронных сетей (в первую очередь, как мы находим линию), но понимание основ того, как они работают, - это первый шаг! Это еще не все!

Ишаана Мишра - восьмиклассник, интересующийся ИИ и геномикой, особенно их пересечением. Она также является новатором в The Knowledge Society.