Всю последнюю неделю Kave усердно работал над созданием нашего первого продукта. Мы решили назвать его Cell.ai и твердо верим, что он произведет революцию в инвестиционной игре для обычного человека. Это следует тому же духу этих статей, которые мы публикуем, в том, что наша цель — и всегда будет — использовать наши знания для повышения уровня жизни и образования для всех. И хотя в последнее время в этих статьях мы уделяли большое внимание финансам и экономике, факт остается фактом: в основе нашей работы лежит искусственный интеллект.

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

Теперь, когда большинство людей слышат «искусственный интеллект», они думают:

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

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

Итак, что такое нейронная сеть? Это не более чем аппроксимация функции. Попробуйте вспомнить «функции» из школьной математики. F(x) = 2x — чрезвычайно простая функция, но она поможет понять суть. F(x) — это символьная запись, где x — вход, а F(x) — выход. Это как бросить шерсть в машину, и машина выплюнет готовый продукт — новенький свитер! Итак, функция просто принимает входные данные, подвергает их некоторому правилу (в нашем примере это умножение на 2) и выдает вам соответствующий результат.

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

Возьмем, к примеру, это уравнение:

Функция x выше дает вам положение шарика, прикрепленного к пружине, свисающей с пружины, когда пружина колеблется. Это не красиво, не так ли? Также обратите внимание, как это зависит от нескольких переменных. Это зависит от E (полная энергия, которой обладает мяч), времени (t), начального положения мяча перед вынужденным колебанием (phi) и материала пружины (k). Это интуитивно понятно, особенно если вы немного изучили физику, потому что вам понадобится вся эта информация, чтобы определить положение мяча в любой момент времени. Теперь, если это кажется вам полной тарабарщиной, не волнуйтесь. Понимание этого точного уравнения не обязательно, это просто пример, показывающий, как функции могут становиться более сложными. Вы должны получить гораздо больше входных данных, чтобы получить результат, поскольку система, которую вы пытаетесь смоделировать, становится все более сложной. Но если такая простая вещь, как движение шарика вверх и вниз, подвешенного на пружине, подчиняется такой сложной функции, как, по вашему мнению, будут выглядеть функции, которые пытаются моделировать более сложные процессы из реальной жизни? Во многих случаях мы говорим о потенциально тысячах переменных!

Теперь давайте внесем в обсуждение элемент практичности. Мы, люди, принимаем участие во многих действиях в течение дня, и все они регулируются некоторыми физическими законами. Следовательно, они ограничены какой-то странной сложной функцией, которую, если бы мы очень постарались, можно было бы смоделировать математически. Но заметьте, нам не нужно точно знать эту «функцию», чтобы выполнить работу. Мы не играем в баскетбол, думая: «…ладно, значит, чтобы сделать бросок, мне нужно бросить мяч точно под углом 30,4 градуса с начальной скоростью 24 метра в секунду, учитывая воздух сопротивление и ветер, который дует на восток со скоростью примерно 1,2 метра в секунду…» Мы просто бросаем мяч, потому что можем приблизительно оценить угол, направление и скорость, основываясь на опыте и некоторой физической интуиции. Это потому, что у нас есть дар наших 5 чувств. А машина нет.

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

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

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

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

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

До скорого,

Каве