Что такое нейросеть: разбираемся в терминах, ищем применение на практике

Коротко о главном

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

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

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

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

Терминология

Разберемся с терминологией. Что такое искусственный интеллект, машинное обучение и искусственные нейронные сети. Как они связаны?

Начнем с самого важного, с искусственного интеллекта.

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

1. наука о создании интеллектуальных (умных) машин (чаще всего — компьютерных программ).

2. свойство интеллектуальной системы выполнять творческие функции, которые считаются прерогативой человека.

В обоих определениях выше присутствует словосочетание «интеллектуальная машина (система)». Поясню его подробнее. Интеллектуальная машина — система (например, программа), способная выполнять задачи, считающиеся творческими.

Другими словами искусственный интеллект и наука о творческих системах, и сама способность «творить» этих систем.

Теперь настала очередь разобраться с термином «машинное обучение».

Машинное обучение (Machine learning) — подраздел искусственного интеллекта, изучающий различные способы построения обучающихся алгоритмов.

Под обучающимися алгоритмами понимаются алгоритмы, которые меняются (обучаются) каким-то образом в зависимости от входных данных.

Машинное обучение — очень обширная область знаний. Можно ведь по-разному определять слово «обучение» и каждый раз получать интересные результаты. Однако среди множества парадигм и подходов в машинном обучении выделяется одна очень интересная область — искусственные нейронные сети.

Искусственные нейронные сети (ИНС) (Artificial neural networks, ANN) — упрощенные модели биологических нейронных сетей.

Среди множества вариантов обучающихся алгоритмов особенно выделяют нейросети

Именно технологии ИНС я буду обучать вас на этом сайте. В дальнейшем искусственные нейронные сети я буду называть просто нейронными сетями.

В целом об ИНС

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

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

Зададимся вопросом. А что такое биологические нейронные сети? Если вы помните школьную программу по биологии, то ответ скорее всего сразу пришел вам в голову. Вообще-то «голова» и есть один из ответов на этот вопрос. Точнее не голова, а наши мозги. Мозги есть не только у нас, но и у многих других животных. У животных без мозгов (медузы, черви) все равно есть нервная система.

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

Теперь задумаемся. А из чего состоит нервная система или мозг? Ответ очевиден — из нейронов. Наш мозг, как и любая биологическая нейронная сеть, состоит из совокупности нейронов. Строение биологического нейрона показано на рисунке ниже.

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

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

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

Искусственный нейрон
(Artificial neuron) — упрощенная модель биологического нейрона.

Биологические нейронные сети представляют собой совокупность биологических нейронов. Однако в таких сетях тоже много ненужных для обработки сигнала аспектов (системы очистки от продуктов жизнедеятельности и т.д). Плюс ко всему нейронов в биологической нейросети очень много.

Опять упрощаем: убираем ненужные химические и биологические компоненты, а также уменьшаем количество нейронов.

Таким образом логично приходим к другому определению ИНС.

Искусственная нейронная сеть (ИНС) — совокупность взаимодействующих между собой искусственных нейронов.

Виды нейронных сетей

В общих чертах мы определились с тем, что же такое нейронная сеть. Теперь пришло время поговорить об их разновидностях и типах, то есть о классификации. Но тут потребуется небольшое уточнение. Каждая нейронная сеть включает в себя первый слой нейронов, называемый входным. Этот слой не выполняет каких-либо преобразований и вычислений, его задача в другом: принимать и распределять входные сигналы по остальным нейронам. И этот слой единственный, являющийся общим для всех типов нейросетей, а критерием для деления является уже дальнейшая структура: 1. Однослойная структура нейронной сети. Представляет собой структуру взаимодействия нейронов, в которой сигналы со входного слоя сразу направляются на выходной слой, который, собственно говоря, не только преобразует сигнал, но и сразу же выдаёт ответ. Как уже было сказано, 1-й входной слой только принимает и распределяет сигналы, а нужные вычисления происходят уже во втором слое. Входные нейроны являются объединёнными с основным слоем с помощью синапсов с разными весами, обеспечивающими качество связей. 2. Многослойная нейронная сеть. Здесь, помимо выходного и входного слоёв, имеются ещё несколько скрытых промежуточных слоёв. Число этих слоёв зависит от степени сложности нейронной сети. Она в большей степени напоминает структуру биологической нейронной сети. Такие виды были разработаны совсем недавно, до этого все процессы были реализованы с помощью однослойных нейронных сетей. Соответствующие решения обладают большими возможностями, если сравнивать с однослойными, ведь в процессе обработки данных каждый промежуточный слой — это промежуточный этап, на котором осуществляется обработка и распределение информации.

Кроме количества слоёв, нейронные сети можно классифицировать по направлению распределения информации по синапсам между нейронами: 1. Нейросети прямого распространения (однонаправленные). В этой структуре сигнал перемещается строго по направлению от входного слоя к выходному. Движение сигнала в обратном направлении не осуществляется и в принципе невозможно. Сегодня разработки этого плана распространены широко и на сегодняшний день успешно решают задачи распознавания образов, прогнозирования и кластеризации. 2. Рекуррентные нейронные сети (с обратными связями). Здесь сигнал двигается и в прямом, и в обратном направлении. В итоге результат выхода способен возвращаться на вход. Выход нейрона определяется весовыми характеристиками и входными сигналами, плюс дополняется предыдущими выходами, снова вернувшимися на вход. Этим нейросетям присуща функция кратковременной памяти, на основании чего сигналы восстанавливаются и дополняются во время их обработки. 3. Радиально-базисные функции. 4. Самоорганизующиеся карты.

Но это далеко не все варианты классификации и виды нейронных сетей. Также их делят: 1. В зависимости от типов нейронов: — однородные; — гибридные. 2. В зависимости от метода нейронных сетей по обучению: — обучение с учителем; — без учителя; — с подкреплением. 3. По типу входной информации нейронные сети бывают: — аналоговые; — двоичные; — образные. 4. По характеру настройки синапсов: — с фиксированными связями; — с динамическими связями.

Ещё существуют понятия гетероассоциативные или автоассоциативные нейросети.

Схема и концепция работы

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

Читайте также:  Блокчейн - что это?

Как мы знаем, 1-й запуск нейросети не даст верных результатов, ведь она ещё не натренирована. Если мы говорим о понятии функции активации, то эта функция используется в целях нормализации входных данных. Этих функций бывает много, но хотелось бы выделить основные, имеющие самое широкое распространение. Главное отличие — диапазон значений, где они функционируют: — линейная функция f(x) = x. Является наиболее простой из всех, должна применяться лишь для тестирования созданной нейросети либо передачи данных в исходной форме; — сигмоид — более распространённая функция активации. Диапазон значений — от нуля до единицы. Также её называю логистической функцией; — гиперболический тангенс. Метод нужен для охвата также и отрицательных значений. Когда их применение не предусмотрено, гиперболический тангенс не нужен.

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

Что такое синапс и нейрон?

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

В составе нейросети есть три вида нейронов: входной, выходной и скрытый. В однослойной структуре скрытых нейронов не будет. Также есть единицы, которых называют нейронами смещения и контекстными нейронами.

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

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

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

Почему нейросети работают?

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

Самый частый вариант ответа: каждый нейрон по-своему преобразует сигнал, ну а так как таких нейронов много (миллиарды), то сигнал на входе преобразуется в правильный сигнал на выходе.

Это почти правильный ответ. Тонкость заключается в том, что все нейроны работают по одному алгоритму. Другими словами внутри любого нейрона сигнал обрабатывается всегда одинаково.

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

Синапс (Synapsis) — место стыка выхода одного нейрона и входа другого, в котором происходит усиление/ослабление сигнала.

На рисунке ниже цветом выделены синапсы (в центре сверху на картинке можно увидеть один из синапсов в деталях). Красный цвет — главный нейрон на картинке. Желтый цвет — выходы соседних нейронов.

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

У каждого биологического нейрона тысячи входов. Каждый из них соединен с выходами других нейронов. Значит, имеем тысячи синапсов на каждый нейрон. Помножим это число на миллиарды нейронов в биологических нейросетях (в головном мозге 85 миллиардов нейронов!). Получаем огромное число синапсов.

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

Именно так и происходит преобразование множества входных сигналов в верное решение на выходе.

Уровень сложности нейросетей

Выше я уже говорил, что мы уменьшаем количество нейронов для искусственных нейронных сетей (миллиарды нейронов моделировать мы не можем). Насколько сильно мы уменьшаем это количество? Внимание на картинку ниже.

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

Серый квадрат слева внизу — возможности обычных компьютеров (но не компьютерных реализаций нейронных сетей!). Далее идут два эллипса. Они представляют собой современные программные (а иногда и аппаратные) реализации искусственных нейронных сетей.

Как видите, до человека еще достаточно далеко. Более того, здесь используется логарифмическая шкала. Не вдаваясь в подробности можно сказать, что даже очень маленькое перемещение по диагонали на данном графике означает увеличение в миллионы раз количества синапсов и скорости работы.

Чем хороши нейросети?

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

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

чат бот алиса

Итак, давайте посмотрим, какую выгоду могут принести нейросети в сфере электронной коммерции уже сейчас.

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

Что делать? Наполняя интернет-магазин контентом, не гонитесь за SEO-данными. Банально, да, но тексты теперь пишутся не для поисковиков, а для людей. Ключи — пожалуйста, используйте, но вставляйте их в текст органично и не допускайте переспама.

2. Нейросети распознают изображения. Этот механизм работал и ранее: зайдите в Яндекс.Картинки и поищите любое изображение. Система отфильтрует самые подходящие запросу картинки и выдаст похожие изображения.

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

3. Нейросети персонализируют контент. Зайдите в YouTube, посмотрите видео, справа вы увидите список видео, которые нейросеть рекомендует именно вам. Эти рекомендации действительно будут в тему: нейросети изучают и содержание видеороликов, и реакцию пользователей на них. То есть если большинству видео не понравилось — шансы на то, что его покажут в рекомендациях, падают. В Яндекс.Дзене та же система: пользователям показываются статьи согласно их предпочтениям. То есть схожие с тем, что они сами ранее читали или искали. Системы контекстной рекламы AdSense и ЯндексДирект тоже действуют по аналогичному принципу: собирают статистику данных об активности пользователей и привязывают ее к аккаунту или айпи-адресу.

Где используются нейросети?

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

Начнем издалека. Вообще говоря, нам нужно решать разные проблемы. Компьютерные программы — один из способов решать проблемы.

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

Проблемы малой/средней сложности, которые точно известно, как решать:

  • решить простое уравнение
  • вывести на экране окно программы
  • распечатать документ на принтере

Такие задачи решаются с помощью обыкновенных компьютерных программ. Ничего сложного и необычного. Никаких проблем.

Проблемы малой/средней сложности, которые частично известно, как решать:

  • простейшее прогнозирование
  • расчет погрешностей
  • приближенное решение уравнений

Такие задачи можно решать при помощи специальных статистических методов.

Проблемы высокой сложности, которые непонятно, как решать:

  • распознавание образов
  • распознавание речи
  • сложные прогнозы

На этом типе задач я остановлюсь подробнее.

Вот вы идете по улице. Вокруг вас много прохожих. Вы смотрите на них и моментально распознаете лица. Этот процесс не вызывает у вас никаких вопросов. Вы просто очень хорошо натренировались его совершать.

А теперь вы поставили себе задачу — написать компьютерную программу, которая по данной картинке распознает лица. Можно даже проще. Попробуйте накидать приблизительный алгоритм распознавания лиц на бумаге. У вас ничего не выйдет. И все потому, что вы на бессознательном уровне распознаете лица, а бессознательное вы контролировать не можете. Делаете, но не знаете как.

Читайте также:  NFC

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

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

Нейронные сети применяют для решения задач, алгоритм решения которых неизвестен.

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

Как это использовать в электронной коммерции?

Подключить сервисы персональных товарных рекомендаций. Например, retailrocket.ru, rees46.com и другие. С помощью этих сервисов проводятся массовые персонализированные и триггерные рассылки клиентам по разным сценариям на основе их предпочтений и активности на сайте. Причем можно создать разные группы клиентов — опять же на основе их персональных предпочтений, и создавать разные рассылки. Словом, возможностей масса.

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

Если на сайте появятся новые товары, нейросеть будет учитывать и их — на основе прошлого опыта. Вы же помните, что это обучаемая система?

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

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

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

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

Пример: Google Inbox использует нейросети, чтобы общаться с пользователями. Система анализирует переписку и предлагает уже не один вариант ответа, а несколько.

Что делать? Устанавливать системы автоматизации на сайт интернет-магазина. Привлекать виртуальных помощников к общению. Этим вы оптимизируете время ваших реальных сотрудников и избавите их от ежедневной рутины общения с клиентами.

Google Inbox

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

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

7. Нейросети умеют искать лиды. В соцсетях ежедневно появляются миллионы запросов на самые разные темы. Люди спрашивают, где купить той или иной товар, как записаться на услугу и даже кто поможет вылечить волнистого попугайчика. Эти запросы часто остаются без ответа, в то время как их можно использовать в собственных целях. Остается лишь находить их в соцсетях — вот они, готовые лиды, бери и ешь с маслом. Есть такой сервис Shikari, который занимается поиском лидов в соцсетях. Он работает на основе нейросетей, которые ищут запросы по ключевым словам и фильтруют их. Сотрудники сначала обучали нейросети, затем они начинают действовать самостоятельно. В результаты клиенты сервиса получают качественные лиды, с которыми можно начинать работу.

Что делать? Искать подобные сервисы и пользоваться их услугами. Это не реклама, а один из примеров того, как нейросети служат на благо малого бизнеса.

Shikari

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

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

Три важных факта об искусственном интеллекте

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

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

Машинное обучение развивается в основном силами открытого сообщества. Мы за открытый код — так же, как Google и другие разработчики всего открытого и хорошего.

От эвристики к обучению

Небольшой ликбез: ИИ — большая отрасль, частью которой является машинное обучение. В нем есть много алгоритмов, самые интересные — нейросети. Глубокое обучение — конкретный тип нейросетей, которым мы занимаемся:

Почему старые алгоритмы не работают и зачем нужно машинное обучение? Да, врачи распознают рак лучше, чем нейросети, — но они делают это чаще всего на четвертой стадии, когда с человеком уже происходят необратимые изменения. А чтобы распознавать болезнь на первой, нужны алгоритмы. Раньше нефть сама лилась из-под земли, но такого больше не будет, природные ресурсы становится все сложнее добывать.

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

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

Например, у Pornhub отличные нейросетевые алгоритмы, но есть и эвристики. На сайте представлены разделы: «Популярное» — по количеству просмотров, «Лучшее» — по количеству лайков, и есть «Горячее» (Hottest). Как определить его эвристику? Она вычисляется не по количеству просмотров и не по популярным хэштегам. Это видео, которые смотрят последними перед уходом с сайта — именно они вызывают у пользователей больше всего эмоций.

Когда и почему появились нейросети? Впервые о них написали в 1959 году, но количество публикаций стало резко увеличиваться только с 2009 года. 50 лет ничего не происходило: не было возможности проводить вычисления, не существовало современных графических ускорителей. Чтобы обучить нейросеть чему-то, необходимо много вычислительных мощностей и сильное железо. Но теперь каждый день выходит по 50 публикаций о достижениях нейросетей, и обратного пути нет.

Важнее всего, что нейросеть — это не волшебство. Когда люди узнают, что я занимаюсь data science, начинают предлагать мне идеи стартапа: взять откуда-нибудь, например в Facebook, все данные, забросить в нейросеть и предсказать, условно говоря, «все». Но это так не работает. Всегда есть конкретный тип данных и четкая постановка задачи:

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

Вот оцифрованное изображение рукописной цифры 9, 28 на 28 пикселей:

Источник: www.3blue1brown.com

Источник: www.3blue1brown.com

Первый слой нейросети — это вход, который «видит» 784 пикселя, окрашенных в разные оттенки серого. Последний — выход: несколько категорий, к одной из которых мы просим отнести то, что было отправлено на вход. И между ними — скрытые слои:

Эти скрытые слои — это некоторая функция, которую мы не задаем никакой эвристикой, она сама учится выводить математическую последовательность, которая с определенной вероятностью отнесет «входные» пиксели к определенному классу.

Как нейросети работают с изображениями

Классификация. Можно научить нейросеть классифицировать изображения, например распознавать породы собак:

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

Детекция. Это другая задача: на изображении нужно найти объект, принадлежащий к определенному классу. Например, мы загружаем в нейросеть снимок побережья и просим найти людей и кайты:

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

Читайте также:  Экзоскелет: история, применение, эволюция

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

Генерация. У генерирующих сетей на входе — пустота, на выходе — какой-то класс объектов, а скрытые слои пытаются научиться превращать пустоту во что-то определенное. Например, вот два лица — оба были сгенерированы нейросетью:

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

А если мы можем сгенерировать изображение, значит, можно заставить его двигаться так же, как определенный человек, — то есть сгенерировать видео. Пример — недавний вирусный ролик, в котором Обама говорит, что Трамп идиот. Обама никогда этого не говорил, просто нейросеть научили мэтчиться (от англ. match — «совпадать, соответствовать, сопоставлять». — Прим. T&P) на Обаму, и когда другой человек говорил, камера транслировала его мимику на лицо бывшего американского президента. Другой пример — Ctrl Shift Face, который делает прекрасные дипфейки❓Deep fake — от deep learning (англ. «глубинное обучение») и fake (англ. «фейк, фальшивка»). — Прим. T&P на звезд. Пока что нейросети не всегда срабатывают идеально, но с каждым годом будут делать это все лучше, и скоро на видео отличить реального человека от «намазанного» сетью будет невозможно. И никакой Face ID нас больше не застрахует от мошенничества.

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

Тексты для сетей не имеют смысла, для них это просто «векторы», над которыми можно производить разные математические операции, например: «Король минус человек плюс женщина равно королева»:

Но из-за того, что нейросети учатся на текстах, созданных людьми, возникают курьезы. Например: «Доктор минус мужчина плюс женщина равно медсестра». В представлении нейросети женщин-врачей не существует.

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

Сегодня в работу Google Translate добавили нейронные сети, и переведенные им тексты выглядят уже гораздо более литературно.

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

Сочинение о вреде переработки отходов

Сочинение о вреде переработки отходов

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

Распознавание и генерация речи. Все то же самое, что и с распознаванием изображения: есть звук, нужно оцифровать сигнал:

Именно так работают «Алиса» и Siri. Когда вы пишете в Google Translate некий текст, он его переводит, формирует из букв звуковую волну и воспроизводит ее, то есть генерирует речь.

Обучение с подкреплением

Игра в «Арканоид» — самый простой пример обучения с подкреплением:

Есть агент — то, на что вы воздействуете, что может менять свое поведение, — в данном случае это горизонтальная «палка» внизу. Есть среда, которая описана разными модулями, — это все, что вокруг «палки». Есть награда: когда сетка роняет шарик, мы говорим, что она теряет свою награду.

Когда нейросеть выбивает очки, мы говорим ей, что это здóрово и она работает хорошо. И тогда сеть начинает изобретать действия, которые приведут ее к победе, максимизируют выгоду. Сначала кидает шарик и просто стоит. Мы говорим: «Плохо». Она: «Ладно, кину, подвинусь на один пиксель». — «Плохо». — «Кину, подвинусь на два, влево, вправо, буду рандомно дергаться». Процесс обучения нейросети — очень долгий и дорогой.

Другой пример обучения с подкреплением — это го. В мае 2014 года люди говорили, что компьютер еще не скоро научится понимать, как играть в го. Но уже в следующем году нейросеть обыграла чемпиона Европы. В марте 2016 года AlphaGo обыграла чемпиона мира высшего дана, а следующая версия выиграла у предыдущей с разгромным счетом 100:0, хотя делала абсолютно непредсказуемые шаги. У нее не было никаких ограничений, кроме игры по правилам:

Зачем учить компьютер играть в игры за бешеные деньги, вкладываться в киберспорт? Дело в том, что обучение движению и взаимодействию роботов в среде стоит еще дороже. Если ваш алгоритм ошибается и разбивает многомиллионный дрон, это очень обидно. А потренироваться на людях, но в Dota, сам Бог велел.

Проблемы нейросетей

С датасетом (data set — «набор данных». — Прим. T&P). Однажды китайская система распознавания нарушений выписала штраф за переход в неположенном месте женщине, которая на самом деле была лишь рекламой на автобусе, переезжавшем пешеходный переход. Это значит, что для обучения нейросети использовался неправильный датасет. Нужны были объекты в контексте, чтобы нейросеть научилась отличать настоящих женщин от рекламных изображений.

Другой пример: было соревнование по детекции рака легких. Одно сообщество выпустило датасет с тысячью снимками и разметило на них рак в соответствии с точкой зрения трех разных экспертов (но только в тех случаях, когда их мнения совпадали). На таком датасете можно было обучиться. А вот другая контора решила попиариться и выпустила новость, что использовала в работе несколько сотен тысяч рентгенов. Но оказалось, что больных там было только 20%. А ведь именно они являются для нас важными, ведь если нейросеть будет учиться без них, то не распознает заболевание. Более того, в эти 20% вошли несколько категорий заболеваний с разными подтипами болезней. И выяснилось, что так как это не 3D-картинка, а двухмерное изображение, то сделать с таким датасетом ничего нельзя.

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

С реализацией. Нейросети не знают, что предлагать в отсутствие информации и когда остановиться. Например, если вы завели себе новый почтовый аккаунт и нейросеть еще ничего о вас не знает, то в почте у вас первое время будет реклама, не имеющая лично к вам никакого отношения. А если вы искали в интернете диван и купили его, вам все равно еще долго будут рекламировать диваны, потому что нейросеть не в курсе, что вы уже совершили покупку. Чат-бот, полюбивший Гитлера❓Чат-бот Tay от Microsoft был создан для общения в Twitter. Обучаясь на реальных твитах, он очень быстро «полюбил» Гитлера и «возненавидел» евреев, феминисток и вообще человечество. — Прим. T&P, просто смотрел, что делают люди, и пытался мимикрировать. Имейте в виду: вы каждый день производите контент, и он может быть использован против вас.

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

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

Сегодняшнее положение

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

На сегодняшний день рынок нейронных сетей огромен — это миллиарды и миллиарды долларов. Как показывает практика, большинство технологий нейросетей по всему миру мало отличаются друг от друга. Однако применение нейросетей — это очень затратное занятие, которое в большинстве случаев могут позволить себе только крупные компании. Для разработки, обучения и тестирования нейронных сетей требуются большие вычислительные мощности, очевидно, что этого в достатке имеется у крупных игроков на рынке ИТ. Среди основных компаний, ведущих разработки в этой области можно отметить подразделение Google DeepMind, подразделение Microsoft Research, компании IBM, Facebook и Baidu.

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

Почему нейросети еще далеки до человеческого мозга?

Самым главным отличием, которое в корне меняет принцип и эффективность работы системы — это разная передача сигналов в искусственных нейронных сетях и в биологической сети нейронов. Дело в том, что в ИНС нейроны передают значения, которые являются действительными значениями, то есть числами. В человеческом мозге осуществляется передача импульсов с фиксированной амплитудой, причем эти импульсы практически мгновенные. Отсюда вытекает целый ряд преимуществ человеческой сети нейронов.

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

Итог

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

Источники

  • https://gagadget.com/another/27575-prostyimi-slovami-o-slozhnom-chto-takoe-nejronnyie-seti/
  • https://neuralnet.info/chapter/%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5/
  • https://otus.ru/nest/post/1263/
  • https://www.insales.ru/blogs/university/chto-takoe-neyroseti
  • https://finance.theoryandpractice.ru/posts/17724-ne-volshebstvo-kak-rabotayut-neyroseti-i-ikh-razrabotchiki
  • https://theoryandpractice.ru/posts/17724-ne-volshebstvo-kak-rabotayut-neyroseti-i-ikh-razrabotchiki

Понравилась статья? Поделиться с друзьями:
Adblock
detector