Нейронная сеть как работает: что это такое и как работают нейронные системы, примеры

Содержание

что это такое и как работают нейронные системы, примеры

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

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

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

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

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

Но главная особенность нейронных сетей — способность обучаться. И именно она легла в основу машинных нейросетей.

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

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

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

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

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

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

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

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

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

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

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

Обработка и выводы. У каждого нейрона есть «вес» — число внутри него, рассчитанное по особым алгоритмам. Он показывает, насколько показания нейрона значимы для всей сети. Соответственно, во время обучения веса нейронов автоматически меняются и балансируются.

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

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

Читайте также: Как построить свою первую нейросеть

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

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

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

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

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

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

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

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

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

Читайте также: Искусственный интеллект против сценаристов: как нейросети создают истории

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

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

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

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

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

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

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

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

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

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

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

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

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

Распознавание. Задача поставлена иначе: она не в том, чтобы отнести объект к одному из классов, а в том, чтобы найти нужное среди множества данных — например, лицо на картинке. «Умные» фильтры для фотографий работают именно так. Можно вспомнить многочисленные нейросети, которые превращают фотографии в картины маслом или постеры, — они тоже сначала распознают, что находится на изображении. Распознавать можно и текстовые данные, например приложения для определения названия музыкальных треков.

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

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

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

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

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

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

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

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

Рекуррентные. У этих сетей есть эффект «памяти» благодаря тому, что данные передаются в двух направлениях, а не в одном. В результате они воспринимают предыдущую полученную информацию и могут глубже ее «анализировать». Это полезно, если перед сетью стоит сложная задача вроде перевода текста. Однонаправленная нейросеть переведет каждое слово по отдельности, и получится бессвязная «каша». Рекуррентная сможет учесть контекст и перевести, например, apple tree не как «яблоко дерево», а как «яблоня».

Или более сложный пример: идиома that’s a piece of cake в контексте переведется не как «это кусок торта», а как «проще простого» в зависимости от стиля текста. На это сейчас способны не все переводчики.

Задачи для рекуррентной сети можно сформулировать так: это работа с большим объемом данных, которые надо разбить на более мелкие и обработать. Причем с учетом связей между друг другом.

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

Сверточные. Это отдельная категория нейронных сетей, менее закрытая, чем другие, благодаря принципиальной многослойности. Многослойными называются нейронные сети, в которых нейроны сгруппированы в слои. При этом каждый нейрон предыдущего слоя связан со всеми нейронами следующего слоя, а внутри слоев связи между нейронами отсутствуют. Сверточные сети используют для распознавания образов. У них особая структура слоев: часть занимается «свертыванием», преобразованием картинки, а часть — группировкой и распознаванием маленьких дискретных элементов, созданных на сверточных слоях. Таких слоев несколько. Результат — более высокая точность и качественное восприятие информации.

Интересный факт: как обычные нейросети были основаны на нейронах в головном мозгу, так сверточные на структуре зрительной коры. Это та часть мозга, которая отвечает за восприятие картинок. В ней чередуются «простые» и «сложные» клетки: первые реагируют на определенные линии и очертания, вторые на активацию конкретных простых клеток. Так происходит процесс распознавания образов в мозгу, и примерно так же устроена сверточная нейросеть.

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

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

Не совсем. Нейронные сети относят к глубокому обучению (Deep Learning), которое является частью машинного, но от классического ML подход сильно отличается. В стандартном машинном обучении программе предварительно рассказывают, как выглядит то, что она должна сделать. Например, если нужно отличить мужчину от женщины, потребуется «объяснить» модели, в чем принципиальные различия между фигурами. Это делается с помощью математических формул и абстракций, которые будут описывать параметры. Выше мы говорили про понятие карты признаков — по сути, это она и есть.

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

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

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

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

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

Но далеко не все задачи можно решить вот так. Например, робот может ответить на более менее стандартные вопросы в банковском приложении, но не поймет, что делать, если человек задаст что-то неочевидное.

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

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

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

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

Подробнее

Как работает нейронная сеть: основная информация

В статье рассказывается: 

  1. Сравнение искусственной нейронной сети с человеческим мозгом
  2. Алгоритм работы нейронной сети
  3. Типы нейронных сетей
  4. Преимущества и недостатки нейросети
  5. Сферы использования нейросетей
  6. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.

    Бесплатно от Geekbrains


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

Алгоритм работы искусственной нейронной сети так или иначе списан с деятельности человеческого мозга. По крайней мере по аналогии с ним смоделированы аналитические механизмы. Разумеется, есть и определенные отличия между биологией и «цифрой». Вот о процессе работы современной нейронной сети мы сегодня и поговорим.

Сравнение искусственной нейронной сети с человеческим мозгом

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

Сравнение искусственной нейронной сети с человеческим мозгом

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

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

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

В искусственной нейронной сети на этом моменте заострять внимание не стали. Просто построили упрощенную модель и выделили в ней две основные составляющие: алгоритм и вес решения:

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

Алгоритм работы нейронной сети

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

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

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

Каждый из нейронов имеет два основных параметра: входные (input data) и выходные (output data) данные. Входная клетка — это когда input равен output. В других случаях, на месте input образуется информация от суммы всех нейронов предыдущего слоя. Затем при помощи функции активации, она стабилизируется и передается на место output.

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

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

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

Типы нейронных сетей

Любая нейронная сеть состоит из двух основных слоев: принимающий (распределяющий) и обрабатывающий. Если в нейросети только два эти слоя, то ее считают однослойной. Если их количество больше — многослойной. Рассмотрим два этих типа искусственных нейронных сетей (ИНС) подробнее.

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

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

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

Топ-30 самых востребованных и высокооплачиваемых профессий 2022

Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ ресурсов об IT-сфере

Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT

ТОП 50+ сервисов и приложений от Geekbrains

Безопасные и надежные программы для работы в наши дни

pdf 3,7mb

doc 1,7mb


Уже скачали 16260

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

Типы нейронных сетей

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

  1. Сверточные (СНС). Это наиболее используемый тип нейронных сетей, который применяют для распознавания различной информации в видео, фото, при обработке языка и т. д. К основным характеристикам СНС относят:
    • способность справляться с большими объемами. Они могут распознавать картинку любого разрешения, вне зависимости от ее размера;
    • использование нейронов в трехмерном измерении — нейроны внутри слоя соединяются в малом поле, который называется рецептивным;
    • наличие механизма определения местоположения. Он связывает соседние слои ИНС, тем самым обеспечивая работу нелинейных фильтров. Также это позволяет охватить большее число точек-пикселей в графической картинке.

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

  2. Рекуррентные (РНС).

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

Интенсив «Путь в IT» поможет:

  • За 3 часа разбираться в IT лучше, чем 90% новичков.
  • Понять, что действительно ждет IT-индустрию в ближайшие 10 лет.
  • Узнать как по шагам c нуля выйти на доход в 200 000 ₽ в IT.

При регистрации вы получите в подарок:

«Колесо компетенций»

Тест, в котором вы оцениваете свои качества и узнаете, какая профессия в IT подходит именно вам

«Критические ошибки, которые могут разрушить карьеру»

Собрали 7 типичных ошибок, четвертую должен знать каждый!

Тест «Есть ли у вас синдром самозванца?»

Мини-тест из 11 вопросов поможет вам увидеть своего внутреннего критика

Хотите сделать первый шаг и погрузиться в мир информационных технологий? Регистрируйтесь и
смотрите интенсив:

Только до 12 декабря


Осталось 17 мест

Преимущества и недостатки нейросети

К преимуществам искусственной нейронной сети относят:

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

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

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

Сферы использования нейросетей

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

Среди основных областей практического применения нейронных сетей выделяют:

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

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

Сферы использования нейросетей

Это относится к поисковым системам Google, Yandex, Bing, Baidu. Когда пользователь вводит запрос, то алгоритмы учатся определять необходимую степень соответствия и предоставлять ту информацию, которая ищется.

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

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


Продвижение блога — Генератор
продаж


Рейтинг:
4. 2


( голосов
5 )


Поделиться статьей

Нейронные сети: что это такое и почему они важны?

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

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

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

Эта прорывная модель проложила путь исследованиям нейронных сетей в двух областях:

Биологические процессы в мозге.

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

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

Почему важны нейронные сети?

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

  • Обнаружение мошенничества с кредитными картами и Medicare.
  • Оптимизация логистики транспортных сетей.
  • Распознавание символов и голоса, также известное как обработка естественного языка.
  • Медицина и диагностика болезней.
  • Целевой маркетинг.
  • Финансовые прогнозы цен на акции, валюты, опционы, фьючерсы, рейтинги банкротства и облигаций.
  • Системы управления роботами.
  • Прогнозирование электрической нагрузки и спроса на энергию.
  • Процесс и контроль качества.
  • Идентификация химических соединений.
  • Оценка экосистем.
  • Компьютерное зрение для интерпретации необработанных фотографий и видео (например, в медицинской визуализации, робототехнике и распознавании лиц).

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

Иван Гомес
Специалист по данным и консультант
Зенкос

Типы нейронных сетей

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

  • Сверточные нейронные сети (CNN) содержат пять типов слоев: входной, сверточный, объединяющий, полносвязный и выходной. У каждого слоя есть определенная цель, такая как подведение итогов, соединение или активация. Сверточные нейронные сети популяризировали классификацию изображений и обнаружение объектов. Однако CNN также применялись в других областях, таких как обработка естественного языка и прогнозирование.
  • Рекуррентные нейронные сети (RNN) используют последовательную информацию, такую ​​как данные с отметками времени от сенсорного устройства или устное предложение, состоящее из последовательности терминов. В отличие от традиционных нейронных сетей, все входные данные рекуррентной нейронной сети не являются независимыми друг от друга, а выходные данные для каждого элемента зависят от вычислений его предыдущих элементов. RNN используются в приложениях прогнозирования и временных рядов, анализе настроений и других текстовых приложениях.
  • Нейронные сети с прямой связью, в которых каждый персептрон одного слоя связан с каждым персептроном следующего слоя. Информация передается от одного уровня к другому только в прямом направлении. Петли обратной связи отсутствуют.
  • Нейронные сети Autoencoder используются для создания абстракций, называемых кодировщиками, созданных из заданного набора входных данных. Хотя автоэнкодеры похожи на более традиционные нейронные сети, они стремятся сами моделировать входные данные, и поэтому этот метод считается неконтролируемым. Предпосылка автоэнкодеров состоит в том, чтобы снизить чувствительность к нерелевантному и повысить чувствительность к важному. По мере добавления уровней дальнейшие абстракции формулируются на более высоких уровнях (уровнях, ближайших к точке, на которой вводится уровень декодера). Затем эти абстракции могут использоваться линейными или нелинейными классификаторами.

Нейронные сети в современном мире

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

Нейронные сети для здоровья стада

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

Прочитать историю

Изучите моделирование нейронной сети

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

Запишитесь на курс

Как проводить глубокое обучение с помощью SAS

®

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

Скачать документ

Кто использует нейронные сети?

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

Науки о жизни

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

Больше решений для медико-биологических наук

Производство

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

Производственная аналитика

Банковское дело

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

Банковская аналитика

Государственный сектор

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

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

Розничная торговля и товары народного потребления

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

Розничные решения

Узнайте больше об отраслях, использующих эту технологию

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

Ли Энн Херхольд
Специалист по данным и консультант
Зенкос

Построение модели нейронной сети

В этом видеоролике вы узнаете, как использовать SAS ® Visual Data Mining and Machine Learning в контексте нейронных сетей. В этом примере исследуются драйверы посетителей веб-сайта и то, что заставляет их загружать статью с сайта ИТ-компании.

Узнайте о SAS ® Viya ®

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

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

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

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

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

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

Следующие шаги

Узнайте, какую роль нейронные сети играют в искусственном интеллекте.

SAS для решений ИИ

Рекомендованный продукт для нейронных сетей

SAS

® Визуальный анализ данных и машинное обучение

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

Попробуйте бесплатно

Рекомендуемое чтение

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

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

  • Статья
    Искусственный интеллект, машинное обучение, глубокое обучение и многое другоеИскусственный интеллект, машинное обучение и глубокое обучение призваны изменить то, как мы живем и работаем. Как они соотносятся и как меняют наш мир?

Объяснение: Нейронные сети | MIT News

За последние 10 лет самые эффективные системы искусственного интеллекта, такие как распознаватели речи на смартфонах или новейший автоматический переводчик Google, стали результатом техники, называемой «глубокое обучение».

Глубокое обучение на самом деле является новым названием подхода к искусственному интеллекту, называемого нейронными сетями, который то входит в моду, то выходит из моды уже более 70 лет. Впервые нейронные сети были предложены в 1944 Уоррена Маккалоу и Уолтера Питтса, двух исследователей из Чикагского университета, переехавших в Массачусетский технологический институт в 1952 году в качестве основателей того, что иногда называют первым отделом когнитивных наук.

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

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

«Существует представление о том, что идеи в науке чем-то похожи на эпидемии вирусов, — говорит Томасо Поджио, профессор Юджина Макдермотта в области мозга и когнитивных наук в Массачусетском технологическом институте, исследователь Института исследований мозга Макговерна в Массачусетском технологическом институте и директор Центра Массачусетского технологического института. для мозгов, разума и машин. «Очевидно, существует пять или шесть основных штаммов вирусов гриппа, и, по-видимому, каждый из них возвращается с периодом около 25 лет. Люди заражаются, у них вырабатывается иммунный ответ, и поэтому они не заражаются следующие 25 лет. А потом появляется новое поколение, готовое к заражению тем же штаммом вируса. В науке люди влюбляются в идею, воодушевляются ею, забивают ее до смерти, а затем делают прививку — они устают от нее. Так что идеи должны иметь такую ​​же периодичность!»

Важные вопросы

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

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

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

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

Разум и машины

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

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

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

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

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

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

Периодичность

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

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

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

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

Современные графические процессоры позволили одноуровневым сетям 1960-х годов и двух- или трехуровневым сетям 1980-х превратиться в современные 10-, 15- и даже 50-уровневые сети. Вот что означает «глубокое» в «глубоком обучении» — глубина слоев сети. И в настоящее время глубокое обучение отвечает за самые эффективные системы почти во всех областях исследований искусственного интеллекта.

Под капотом

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

Первая часть, которая была опубликована в прошлом месяце в International Journal of Automation and Computing , посвящена ряду вычислений, которые могут выполнять сети с глубоким обучением, а также преимуществам глубоких сетей по сравнению с более мелкими. Вторая и третья части, которые были выпущены в виде технических отчетов CBMM, посвящены проблемам глобальной оптимизации или гарантии того, что сеть нашла настройки, которые лучше всего соответствуют ее обучающим данным, и переобучения, или случаев, когда сеть становится такой настроенной.