Нейронные сети как работают: как работают и где используются

Содержание

как работают и где используются

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

  1. История появления нейронных сетей
  2. Понятие и принцип работы нейронной сети
  3. Плюсы и минусы нейронных сетей
  4. Задачи и сферы применения нейронных сетей
  5. Виды нейросетей
  6. Подходы к обучению нейронных сетей
  7. Сбор данных для обучения нейронной сети
  8. 3 проблемы функционирования нейронных сетей
  9. Компании, активно использующие и разрабатывающие нейронные сети
  10. Сферы для перспективного развития нейронных сетей
  11. Обучение созданию нейронных сетей

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

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

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

Началом работы ученых в этом направлении можно считать статью Уорена Маккалока и Уолтера Питтса, вышедшую в 1943 году. Они разработали компьютерную модель нейронной сети, опираясь на математические алгоритмы и теорию деятельности головного мозга. Следующим шагом стала книга Дональда Хебба «Организация поведения» 1949 года, в которой канадский нейропсихолог описал процесс самообучения искусственной нейронной сети.

Спустя 8 лет Фрэнком Розенблаттом была представлена математическая модель обработки информации человеческим мозгом, получившая название персептрон. Еще через три года, в 1960, этот американский ученый продемонстрировал электронное устройство, которое имитировало работу мозга, в частности, распознавала отдельные символы на карточках, которое оно «видело» своими «глазами»-камерами.

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

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

Однако это направление по-прежнему представлялось весьма перспективным многим исследователям, продолжавшим попытки сформулировать принцип работы самообучаемой системы. Метод обратного распространения ошибки, предложенный в 1974 году Полом Вербосом, стал еще одним шагом на пути создания нейросети. Через год Фукусима разработал первую многослойную НС – когнитрон. В 1982 году Хопфилд добился двусторонней передачи информации между нейронами, что еще больше подогрело интерес ученых к поискам новый решений в этой отрасли.

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

Понятие и принцип работы нейронной сети

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

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

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

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

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

Плюсы и минусы нейронных сетей

Перечислим главные достоинства ИНС:

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

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

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

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

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

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

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

pdf 3,7mb

doc 1,7mb


Уже скачали 15225

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

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

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

Задачи и области применения нейронных сетей

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

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

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

  • Машинное обучение является одной из разновидностей искусственного интеллекта. Google, Яндекс, Бинг, Байду активно применяют machine learning для повышения релевантность результатов запросам пользователей. Алгоритмы самообучаются, опираясь на миллионы однотипных фраз, вводимых в поисковую строку.
  • Для нормального функционирования роботов необходимо разрабатывать множество алгоритмов, и здесь не обойтись без нейросетей.
  • Возможности ИНС используются архитекторами компьютерных сетей, чтобы справиться с проблемой параллельных вычислений.
  • В математике нейронные сети позволяют быстрее решать сложные задачи.

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

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

  • Однонаправленные

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

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

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

  • Рекуррентные нейронные сети

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

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

Рекуррентные нейронные сети

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

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

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

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

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

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

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

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

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

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

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

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

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

Только до 20 октября


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

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

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

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

Подходы к обучению нейронных сетей

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

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

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

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

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

Говоря о возможности нейронных сетей приобретать навыки, нельзя не рассказать о глубоком обучении (Deep Learning). Чтобы не связывать с этим термином неких загадочных характеристик, как это часто бывает при недостатке информации, разберемся, что скрывается за этим модным понятием.

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

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

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

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

Подходы к обучению нейронных сетей

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

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

Сбор данных для обучения нейронной сети

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

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

Нечисловые данные в целом считаются для нейронной сети более сложным вариантом решения поставленной задачи. В качестве примера можно привести номинальные переменные типа Пол = {Муж, Жен}.

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

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

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

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

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

Сбор данных для обучения нейронной сети

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

3 проблемы функционирования нейронных сетей

  • Переобучение

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

  • «Забывчивость»

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

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

  • Закрытость и непредсказуемость

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

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

Компании, активно использующие и разрабатывающие нейронные сети

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

В числе наиболее активных разработчиков – Google, в подразделении которого Google DeepMind создана сеть AlphaGo, а также Google Brain. У Microsoft работы в этом направлении ведутся лабораторией Microsoft Research. Собственные ИНС проектируют и выпускают IBM, Facebook* (а именно Facebook* AI Research), Baidu (Baidu Institute of Deep Learning). Во многих технических университетах есть лаборатории, занятые созданием ИНС.

Компании, активно использующие и разрабатывающие нейронные сети

Стартаперов это направление привлекает тоже довольно часто. В качестве одного из наиболее успешных примеров вспомним компанию ClarifAI, основанную выходцами из Google. Их нейросеть признана лучшим инструментом распознавания изображений. Кроме этих разработчиков есть MSQRD, Prisma и другие стартапы, в том числе в России.

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

Яндекс также не обходит стороной тему нейросетей, активно применяя их для работы со звуком и изображениями. Перспективным считается задействование возможностей ИНС для работы с текстами, этим направлением занимаются лаборатории нескольких вузов – МФТИ, МГУ, ВШЭ, Сколтех и т. д.

Сферы для перспективного развития нейронных сетей

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

В других отраслях нейронным сетям тоже найдется дело.

  • Аграрный сектор

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

  • Медицина

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

  • Маркетинг

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

  • E-commerce

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

Обучение созданию нейронных сетей

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

По окончании курсов вы сможете претендовать на такие вакансии, как:

  • Data Scientist
  • Data Analyst
  • Machine Learning Engineer
  • Computer Vision-специалист
  • NLP-специалист

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

Можно выбрать подходящие форматы обучения:

  • Занятия в группе с преподавателем
  • Видеоуроки и вебинары
  • Видеозаписи занятий
  • Выполнение домашних заданий
  • Практические задания
  • Онлайн-встречи с экспертами
  • Личные консультации

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

*Facebook — организация, деятельность которой признана экстремистской на территории Российской Федерации.


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


Рейтинг:
5


( голосов
7 )


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

Что такое нейронная сеть? | ForkLog


29. 09.2021

ForkLog

#Искусственный Интеллект#нейросети

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

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

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

Чем нейросеть отличается от ИИ и МО?

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

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

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

Из чего состоит нейросеть?

Подобная естественному аналогу искусственная нейросеть состоит из нейронов и синапсов.

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

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

Основные типы нейронов:

  • входной (input) — слой нейронов, получающий информацию;
  • скрытый (hidden) — некоторое количество слоев, обрабатывающих информацию;
  • выходной (output) — слой нейронов, представляющий результаты вычислений.

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

Параметром синапса является вес — коэффициент, из-за которого передаваемая информация из одного нейрона другому может изменяться.

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

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

Как работает нейросеть?

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

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

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

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

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

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

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

Как нейросеть обучается?

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

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

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

Что такое набор данных?

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

Датасеты бывают трех видов:

  • тренировочный (training dataset) — используется при обучении нейросети;
  • тестовый (test dataset) — необходим для проверки точности обучения;
  • валидационный (validation dataset) — независимый набор данных, использующийся для финальной оценки точности алгоритма.

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

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

Другое исследование MIT показало, что безответственность работников краудсорсингового маркетплейса Amazon Mechanical Turk препятствуют развитию систем генерации текстов. Дело в том, что им платят за единицу размеченной информации. Как правило, такие работники стараются работать быстро и не особо вникая в достоверность разметки.

Чтобы не допустить такого, исследователи призывают разработчиков соблюдать «гигиену» данных.

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

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

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

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

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

Помимо этого, подобные системы начинают находить применение практически во всех отраслях, включая:

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

Какие трудности/недостатки у нейросетей?

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

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

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

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

Всего известно около 30 различных типов нейронных сетей, которые подходят для разных типов задач. Например, сверточные нейронные сети (CNN) обычно используются для задач компьютерного зрения, в то время как рекуррентные нейронные сети (RNN) — для обработки языка.

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

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

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

Генеративные состязательные сети (GAN) состоят сразу из двух нейросетей: генератора, который создает контент, и дискриминатора, оценивающего его.

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

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

Типичное применение GAN-архитектур — стилизация фотографий, создание дипфейков, генерирование аудиофайлов и прочее.

Приведет ли нейросеть к созданию общего ИИ?

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

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

Подписывайтесь на новости ForkLog в Telegram: ForkLog AI — все новости из мира ИИ!

Нашли ошибку в тексте? Выделите ее и нажмите CTRL+ENTER

Материалы по теме

Что такое нейронная сеть? Руководство по искусственному интеллекту и машинному обучению — AWS

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

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

Знакомство с глубоким обучением

В чем заключается важность нейронных сетей?

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

Обобщать и делать выводы

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

  • Не подскажете как произвести оплату?
  • Как мне перевести деньги?

Нейронная сеть поймет, что оба предложения означают одно и то же. Также она может определить, что Бакстер-роуд — это место, а Бакстер Смит — это имя человека.

Выявлять скрытые отношения и закономерности

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

Создавать автономные самообучающиеся системы

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

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

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

Для чего используются нейронные сети?

Нейронные сети распространены во множестве отраслей. В их числе:

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

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

Машинное зрение

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

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

Распознавание речи

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

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

Обработка естественного языка

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

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

Сервисы рекомендаций

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

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

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

Архитектура базовой нейронной сети

Базовая нейронная сеть содержит три слоя взаимосвязанных искусственных нейронов:

Входной слой

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

Скрытый слой

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

Выходной слой

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

Архитектура глубокой нейронной сети

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

Какие типы нейронных сетей существуют?

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

Нейронные сети прямого распространения

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

Алгоритм обратного распространения

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

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

Сверточные нейронные сети

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

Как обучать нейронные сети?

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

Контролируемое обучение

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

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

Что такое глубокое обучение в контексте нейронных сетей?

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

Машинное обучение и глубокое обучение

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

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

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

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

Что такое сервисы глубокого обучения в AWS?

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

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

Начните работу с нейронными сетями глубокого обучения в AWS с помощью Amazon SageMaker, чтобы быстро и легко создавать, обучать и развертывать модели в любом масштабе. Также можно использовать решение AWS Deep Learning AMI для разработки пользовательских сред и рабочих процессов для глубокого обучения.

Создайте бесплатный аккаунт AWS, чтобы начать работу уже сегодня.

Дальнейшие шаги AWS

Дополнительные ресурсы по продукту

Подробнее о сервисах глубокого обучения 

Зарегистрируйте бесплатный аккаунт AWS

Зарегистрируйте бесплатный аккаунт AWS и приступайте к изучению уровня бесплатного пользования AWS.

Регистрация 

Начать разработку в консоли

Начните разработку с использованием нейронных сетей в консоли управления AWS.

Вход 

Вход в Консоль

Подробнее об AWS

  • Что такое AWS?
  • Что такое облачные вычисления?
  • Инклюзивность, многообразие и равенство AWS
  • Что такое DevOps?
  • Что такое контейнер?
  • Что такое озеро данных?
  • Безопасность облака AWS
  • Новые возможности
  • Блоги
  • Пресс‑релизы

Ресурсы для работы с AWS

  • Начало работы
  • Обучение и сертификация
  • Портфолио решений AWS
  • Центр архитектурных решений
  • Вопросы и ответы по продуктам и техническим темам
  • Отчеты аналитиков
  • Партнерская сеть AWS

Разработчики на AWS

  • Центр разработчика
  • Пакеты SDK и инструментарий
  • . NET на AWS
  • Python на AWS
  • Java на AWS
  • PHP на AWS
  • JavaScript на AWS

Поддержка

  • Связаться с нами
  • Работа в AWS
  • Обратиться в службу поддержки
  • Центр знаний
  • AWS re:Post
  • Обзор AWS Support
  • Юридическая информация

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

Поддержка AWS для Internet Explorer заканчивается 07/31/2022. Поддерживаемые браузеры: Chrome, Firefox, Edge и Safari.
Подробнее »

Как работают нейронные сети. Простое введение

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

Фото: У компьютеров и мозга много общего, но по сути они очень разные. Что произойдет, если вы объедините лучшее из обоих миров — систематическую мощь компьютера и тесно связанные между собой клетки мозга? Вы получаете великолепно полезную нейронную сеть.

Содержание

  1. Чем мозг отличается от компьютера
  2. Что такое нейронная сеть?
  3. Из чего состоит нейронная сеть?
  4. Как нейронная сеть учится?
  5. Как это работает на практике?
  6. Для чего используются нейронные сети?
  7. Узнать больше

Чем мозг отличается от компьютера

Вы часто слышите, как люди сравнивают человеческий мозг и электронный компьютер, и, на первый взгляд, у них есть что-то общее. Типичный мозг содержит примерно 100 миллиардов крошечных клеток, называемых 9.0007 нейронов (никто точно не знает, сколько их, и оценки варьируются от примерно 50 миллиардов до целых 500 миллиардов) [1]. Каждый нейрон состоит из клеточного тела (центральной массы клетки) с рядом отходящих от него связей: многочисленных дендритов (входы клетки — несущие информацию к телу клетки) и одного аксона (выход клетки — перенос информации). Нейроны настолько крошечные, что вы можете упаковать около 100 их клеточных тел в один миллиметр. (Стоит также мимоходом отметить, что нейроны составляют лишь 10–50 процентов всех клеток головного мозга; остальные — это глиальные клетки, также называемые нейроглией, которые поддерживают и защищают нейроны и питают их энергией, позволяющей им работать и расти.) [1] Внутри компьютера эквивалентом клетки мозга является
наноскопически крошечное переключающее устройство, называемое транзистором. Самые современные микропроцессоры (одночиповые компьютеры) содержат более 30 миллиардов транзисторов; даже базовый микропроцессор Pentium
примерно 20 лет назад было около 50 миллионов транзисторов, упакованных в интегральную схему площадью всего 25 мм (меньше почтовой марки)! [2]

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

На этом сравнение между компьютерами и мозгом начинается и заканчивается, потому что это две совершенно разные вещи. Дело не только в том, что компьютеры — это холодные металлические ящики, набитые двоичными числами, а мозги — теплые, живые вещи, наполненные мыслями, чувствами и воспоминаниями. Настоящая разница в том, что компьютеры и мозг «думают» совершенно по-разному.
транзисторы в компьютере соединены относительно простыми последовательными цепями (каждый из них соединен, может быть, с двумя или тремя другими в базовом устройстве, известном как логические вентили), в то время как нейроны в мозгу плотно связаны между собой сложными параллельными способами (каждый из них связан примерно с 10 000 своих соседей). [3]

Это существенное структурное различие между компьютерами (возможно, с несколькими сотнями миллионов транзисторов, соединенных относительно простым способом) и мозгом (возможно, в 10–100 раз больше клеток мозга, соединенных более богатыми и сложными способами) и заставляет их «думать» совершенно по-разному. . Компьютеры идеально спроектированы для хранения огромных объемов бессмысленной (для них) информации и переупорядочения ее любым количеством способов в соответствии с точными инструкциями (программами), которые мы вводим в них заранее. Мозг, с другой стороны, учится медленно, более окольным путем, часто требуются месяцы или годы, чтобы понять что-то действительно сложное. Но, в отличие от компьютеров, они могут спонтанно объединять информацию поразительными новыми способами — вот откуда исходит человеческое творчество Бетховена или Шекспира — распознавать оригинальные закономерности, устанавливать связи и видеть то, что они узнали, в совершенно ином свете. .

Разве не было бы здорово, если бы компьютеры были больше похожи на мозги? Вот где на помощь приходят нейронные сети!

Фото: Электронный мозг? Не совсем. Компьютерные чипы состоят из тысяч, миллионов, а иногда и миллиардов крошечных электронных переключателей, называемых транзисторами. Звучит как много, но их все равно гораздо меньше, чем клеток в человеческом мозгу.

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

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

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

Реальные и искусственные нейронные сети

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

Из чего состоит нейронная сеть?

Типичная нейронная сеть имеет от нескольких десятков до сотен, тысяч или даже миллионов искусственных нейронов, называемых
Блоки расположены в виде ряда слоев, каждый из которых соединяется со слоями с любой стороны. Некоторые из них, известные как входных блоков , предназначены для получения различных форм информации из внешнего мира, которую сеть будет пытаться узнать, распознать или иным образом обработать. Другие единицы находятся на противоположной стороне сети и сигнализируют, как она реагирует на полученную информацию; они известны как единиц вывода . Между входными и выходными блоками находится один или несколько слоев из скрытых блоков , которые вместе составляют большую часть искусственного мозга. Большинство нейронных сетей полностью связаны , что означает, что каждая скрытая единица и каждая выходная единица связаны с каждой единицей в слоях с обеих сторон. Связи между одной единицей и другой представлены числом, называемым весом , которое может быть как положительным (если одна единица возбуждает другую), так и отрицательным (если одна единица подавляет или тормозит другую). Чем выше вес, тем большее влияние одна единица оказывает на другую. (Это соответствует тому, как реальные клетки мозга запускают друг друга через крошечные промежутки, называемые синапсами.)

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

Хотя простая нейронная сеть для решения простых задач может состоять всего из трех слоев, как показано здесь, она также может состоять из множества различных слоев между входом и выходом. Более богатая структура, подобная этой, называется 9.0007 глубокая нейронная сеть (DNN) и обычно используется для решения гораздо более сложных задач. Теоретически DNN может отображать любые входные данные в любые выходные, но недостатком является то, что ей требуется значительно больше обучения: ей нужно «увидеть» миллионы или миллиарды примеров по сравнению, возможно, с сотнями или тысячами, которые более простая сеть может понадобиться. Глубоко или «поверхностно», как бы оно ни было структурировано и как бы мы ни изображали его на странице, стоит еще раз напомнить себе, что нейронная сеть — это , а не , на самом деле мозг или что-то вроде мозга. В конце концов, это набор умной математики… куча уравнений… алгоритм, если хотите. [4]

Как нейронная сеть учится?

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

Фото: Боулинг: Вы учитесь делать такие искусные вещи с помощью нейронной сети внутри вашего мозга. Каждый раз, когда вы бросаете мяч неправильно, вы узнаете, какие исправления вам нужно внести в следующий раз. Фото Кеннета Р. Хендрикса/ВМС США
Опубликован в
Фликр.

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

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

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

Как это работает на практике?

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

Это не означает, что нейронная сеть может просто «смотреть» на предметы мебели и мгновенно осмысленно реагировать на них; ведет себя не по-человечески. Рассмотрим пример, который мы только что привели: сеть на самом деле не просматривает предметы мебели. Входы в сеть, по существу, представляют собой двоичные числа: каждая единица ввода либо включена, либо выключена. Таким образом, если бы у вас было пять блоков ввода, вы могли бы ввести информацию о пяти различных характеристиках разных стульев, используя бинарные ответы (да/нет). Вопросы могут быть такими: 1) Есть ли у него спинка? 2) Есть ли у него верх? 3) Мягкая ли обивка? 4) Можно ли на нем комфортно сидеть в течение длительного времени? 5) Можете ли вы положить много вещей поверх него? Тогда типичный стул будет представлен как «Да», «Нет», «Да», «Да», «Нет» или 10110 в двоичном формате, в то время как типичный стол может быть «Нет», «Да», «Нет», «Нет», «Да» или 01001. Таким образом, на этапе обучения сеть просто глядя на множество чисел, таких как 10110 и 01001, и узнавая, что некоторые из них означают стул (что может быть результатом 1), а другие означают стол (вывод 0).

Для чего используются нейронные сети?

Фото: Последние два десятилетия НАСА экспериментирует с самообучающейся нейронной сетью под названием
Интеллектуальная система управления полетом (IFCS), которая может помочь пилотам посадить самолеты после серьезных сбоев или повреждений в бою. Прототип был испытан на этом модифицированном самолете NF-15B (родственник McDonnell Douglas F-15). Фото Джима Росса любезно предоставлено
НАСА.

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

Есть много применений нейронных сетей и в сфере безопасности. Предположим, вы управляете банком, в котором каждую минуту через вашу компьютерную систему проходят тысячи транзакций по кредитным картам. Вам нужен быстрый автоматизированный способ идентификации любых транзакций, которые могут быть мошенническими, и для этого идеально подходит нейронная сеть. Ваши входные данные могут быть такими, как 1) Действительно ли владелец карты присутствует? 2) Был ли использован действительный PIN-код? 3) Было ли совершено пять или более транзакций по этой карте за последние 10 минут? 4) Карта используется в другой стране, в которой она зарегистрирована? -и так далее.
Имея достаточно подсказок, нейронная сеть может помечать любые транзакции, которые выглядят подозрительно, позволяя оператору-человеку исследовать их более внимательно. Очень похожим образом банк может использовать нейронную сеть, чтобы решить, давать ли кредиты людям на основе их прошлой кредитной истории, текущих доходов и послужного списка.

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

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

Автоматический перевод Google, например, за последние несколько лет все чаще использует эту технологию для преобразования слов на одном языке (ввод сети) в эквивалентные слова на другом языке (выход сети). В 2016 году Google
объявила, что использует нечто, называемое нейронным машинным переводом (NMT), для мгновенного преобразования целых предложений с
Сокращение ошибок на 55–85 процентов. Это всего лишь один пример того, как Google внедряет технологию нейронных сетей: Google Brain.
это название, которое она дала масштабным исследовательским усилиям, в которых нейронные методы применяются ко всему спектру ее продуктов, включая
свою поисковую систему. Он также использует глубокие нейронные сети для поддержки рекомендаций, которые вы видите на YouTube, с моделями, которые «изучают примерно
одного миллиарда параметров и обучаются на сотнях миллиардов примеров». [5]

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

Как работают нейронные сети. Простое введение

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

Фото: У компьютеров и мозга много общего, но по сути они очень разные. Что произойдет, если вы объедините лучшее из обоих миров — систематическую мощь компьютера и тесно связанные между собой клетки мозга? Вы получаете великолепно полезную нейронную сеть.

Содержание

  1. Чем мозг отличается от компьютера
  2. Что такое нейронная сеть?
  3. Из чего состоит нейронная сеть?
  4. Как нейронная сеть учится?
  5. Как это работает на практике?
  6. Для чего используются нейронные сети?
  7. Узнать больше

Чем мозг отличается от компьютера

Вы часто слышите, как люди сравнивают человеческий мозг и электронный компьютер, и, на первый взгляд, у них есть что-то общее. Типичный мозг содержит примерно 100 миллиардов крошечных клеток, называемых 9.0007 нейронов (никто точно не знает, сколько их, и оценки варьируются от примерно 50 миллиардов до целых 500 миллиардов) [1]. Каждый нейрон состоит из клеточного тела (центральной массы клетки) с рядом отходящих от него связей: многочисленных дендритов (входы клетки — несущие информацию к телу клетки) и одного аксона (выход клетки — перенос информации). Нейроны настолько крошечные, что вы можете упаковать около 100 их клеточных тел в один миллиметр. (Стоит также мимоходом отметить, что нейроны составляют лишь 10–50 процентов всех клеток головного мозга; остальные — это глиальные клетки, также называемые нейроглией, которые поддерживают и защищают нейроны и питают их энергией, позволяющей им работать и расти.) [1] Внутри компьютера эквивалентом клетки мозга является
наноскопически крошечное переключающее устройство, называемое транзистором. Самые современные микропроцессоры (одночиповые компьютеры) содержат более 30 миллиардов транзисторов; даже базовый микропроцессор Pentium
примерно 20 лет назад было около 50 миллионов транзисторов, упакованных в интегральную схему площадью всего 25 мм (меньше почтовой марки)! [2]

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

На этом сравнение между компьютерами и мозгом начинается и заканчивается, потому что это две совершенно разные вещи. Дело не только в том, что компьютеры — это холодные металлические ящики, набитые двоичными числами, а мозги — теплые, живые вещи, наполненные мыслями, чувствами и воспоминаниями. Настоящая разница в том, что компьютеры и мозг «думают» совершенно по-разному.
транзисторы в компьютере соединены относительно простыми последовательными цепями (каждый из них соединен, может быть, с двумя или тремя другими в базовом устройстве, известном как логические вентили), в то время как нейроны в мозгу плотно связаны между собой сложными параллельными способами (каждый из них связан примерно с 10 000 своих соседей). [3]

Это существенное структурное различие между компьютерами (возможно, с несколькими сотнями миллионов транзисторов, соединенных относительно простым способом) и мозгом (возможно, в 10–100 раз больше клеток мозга, соединенных более богатыми и сложными способами) и заставляет их «думать» совершенно по-разному. . Компьютеры идеально спроектированы для хранения огромных объемов бессмысленной (для них) информации и переупорядочения ее любым количеством способов в соответствии с точными инструкциями (программами), которые мы вводим в них заранее. Мозг, с другой стороны, учится медленно, более окольным путем, часто требуются месяцы или годы, чтобы понять что-то действительно сложное. Но, в отличие от компьютеров, они могут спонтанно объединять информацию поразительными новыми способами — вот откуда исходит человеческое творчество Бетховена или Шекспира — распознавать оригинальные закономерности, устанавливать связи и видеть то, что они узнали, в совершенно ином свете. .

Разве не было бы здорово, если бы компьютеры были больше похожи на мозги? Вот где на помощь приходят нейронные сети!

Фото: Электронный мозг? Не совсем. Компьютерные чипы состоят из тысяч, миллионов, а иногда и миллиардов крошечных электронных переключателей, называемых транзисторами. Звучит как много, но их все равно гораздо меньше, чем клеток в человеческом мозгу.

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

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

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

Реальные и искусственные нейронные сети

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

Из чего состоит нейронная сеть?

Типичная нейронная сеть имеет от нескольких десятков до сотен, тысяч или даже миллионов искусственных нейронов, называемых
Блоки расположены в виде ряда слоев, каждый из которых соединяется со слоями с любой стороны. Некоторые из них, известные как входных блоков , предназначены для получения различных форм информации из внешнего мира, которую сеть будет пытаться узнать, распознать или иным образом обработать. Другие единицы находятся на противоположной стороне сети и сигнализируют, как она реагирует на полученную информацию; они известны как единиц вывода . Между входными и выходными блоками находится один или несколько слоев из скрытых блоков , которые вместе составляют большую часть искусственного мозга. Большинство нейронных сетей полностью связаны , что означает, что каждая скрытая единица и каждая выходная единица связаны с каждой единицей в слоях с обеих сторон. Связи между одной единицей и другой представлены числом, называемым весом , которое может быть как положительным (если одна единица возбуждает другую), так и отрицательным (если одна единица подавляет или тормозит другую). Чем выше вес, тем большее влияние одна единица оказывает на другую. (Это соответствует тому, как реальные клетки мозга запускают друг друга через крошечные промежутки, называемые синапсами.)

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

Хотя простая нейронная сеть для решения простых задач может состоять всего из трех слоев, как показано здесь, она также может состоять из множества различных слоев между входом и выходом. Более богатая структура, подобная этой, называется 9.0007 глубокая нейронная сеть (DNN) и обычно используется для решения гораздо более сложных задач. Теоретически DNN может отображать любые входные данные в любые выходные, но недостатком является то, что ей требуется значительно больше обучения: ей нужно «увидеть» миллионы или миллиарды примеров по сравнению, возможно, с сотнями или тысячами, которые более простая сеть может понадобиться. Глубоко или «поверхностно», как бы оно ни было структурировано и как бы мы ни изображали его на странице, стоит еще раз напомнить себе, что нейронная сеть — это , а не , на самом деле мозг или что-то вроде мозга. В конце концов, это набор умной математики… куча уравнений… алгоритм, если хотите. [4]

Как нейронная сеть учится?

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

Фото: Боулинг: Вы учитесь делать такие искусные вещи с помощью нейронной сети внутри вашего мозга. Каждый раз, когда вы бросаете мяч неправильно, вы узнаете, какие исправления вам нужно внести в следующий раз. Фото Кеннета Р. Хендрикса/ВМС США
Опубликован в
Фликр.

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

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

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

Как это работает на практике?

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

Это не означает, что нейронная сеть может просто «смотреть» на предметы мебели и мгновенно осмысленно реагировать на них; ведет себя не по-человечески. Рассмотрим пример, который мы только что привели: сеть на самом деле не просматривает предметы мебели. Входы в сеть, по существу, представляют собой двоичные числа: каждая единица ввода либо включена, либо выключена. Таким образом, если бы у вас было пять блоков ввода, вы могли бы ввести информацию о пяти различных характеристиках разных стульев, используя бинарные ответы (да/нет). Вопросы могут быть такими: 1) Есть ли у него спинка? 2) Есть ли у него верх? 3) Мягкая ли обивка? 4) Можно ли на нем комфортно сидеть в течение длительного времени? 5) Можете ли вы положить много вещей поверх него? Тогда типичный стул будет представлен как «Да», «Нет», «Да», «Да», «Нет» или 10110 в двоичном формате, в то время как типичный стол может быть «Нет», «Да», «Нет», «Нет», «Да» или 01001. Таким образом, на этапе обучения сеть просто глядя на множество чисел, таких как 10110 и 01001, и узнавая, что некоторые из них означают стул (что может быть результатом 1), а другие означают стол (вывод 0).

Для чего используются нейронные сети?

Фото: Последние два десятилетия НАСА экспериментирует с самообучающейся нейронной сетью под названием
Интеллектуальная система управления полетом (IFCS), которая может помочь пилотам посадить самолеты после серьезных сбоев или повреждений в бою. Прототип был испытан на этом модифицированном самолете NF-15B (родственник McDonnell Douglas F-15). Фото Джима Росса любезно предоставлено
НАСА.

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

Есть много применений нейронных сетей и в сфере безопасности. Предположим, вы управляете банком, в котором каждую минуту через вашу компьютерную систему проходят тысячи транзакций по кредитным картам. Вам нужен быстрый автоматизированный способ идентификации любых транзакций, которые могут быть мошенническими, и для этого идеально подходит нейронная сеть. Ваши входные данные могут быть такими, как 1) Действительно ли владелец карты присутствует? 2) Был ли использован действительный PIN-код? 3) Было ли совершено пять или более транзакций по этой карте за последние 10 минут? 4) Карта используется в другой стране, в которой она зарегистрирована? -и так далее.
Имея достаточно подсказок, нейронная сеть может помечать любые транзакции, которые выглядят подозрительно, позволяя оператору-человеку исследовать их более внимательно. Очень похожим образом банк может использовать нейронную сеть, чтобы решить, давать ли кредиты людям на основе их прошлой кредитной истории, текущих доходов и послужного списка.

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

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

Автоматический перевод Google, например, за последние несколько лет все чаще использует эту технологию для преобразования слов на одном языке (ввод сети) в эквивалентные слова на другом языке (выход сети). В 2016 году Google
объявила, что использует нечто, называемое нейронным машинным переводом (NMT), для мгновенного преобразования целых предложений с
Сокращение ошибок на 55–85 процентов. Это всего лишь один пример того, как Google внедряет технологию нейронных сетей: Google Brain.
это название, которое она дала масштабным исследовательским усилиям, в которых нейронные методы применяются ко всему спектру ее продуктов, включая
свою поисковую систему. Он также использует глубокие нейронные сети для поддержки рекомендаций, которые вы видите на YouTube, с моделями, которые «изучают примерно
одного миллиарда параметров и обучаются на сотнях миллиардов примеров». [5]

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

Как работают нейронные сети. Простое введение

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

Фото: У компьютеров и мозга много общего, но по сути они очень разные. Что произойдет, если вы объедините лучшее из обоих миров — систематическую мощь компьютера и тесно связанные между собой клетки мозга? Вы получаете великолепно полезную нейронную сеть.

Содержание

  1. Чем мозг отличается от компьютера
  2. Что такое нейронная сеть?
  3. Из чего состоит нейронная сеть?
  4. Как нейронная сеть учится?
  5. Как это работает на практике?
  6. Для чего используются нейронные сети?
  7. Узнать больше

Чем мозг отличается от компьютера

Вы часто слышите, как люди сравнивают человеческий мозг и электронный компьютер, и, на первый взгляд, у них есть что-то общее. Типичный мозг содержит примерно 100 миллиардов крошечных клеток, называемых 9.0007 нейронов (никто точно не знает, сколько их, и оценки варьируются от примерно 50 миллиардов до целых 500 миллиардов) [1]. Каждый нейрон состоит из клеточного тела (центральной массы клетки) с рядом отходящих от него связей: многочисленных дендритов (входы клетки — несущие информацию к телу клетки) и одного аксона (выход клетки — перенос информации). Нейроны настолько крошечные, что вы можете упаковать около 100 их клеточных тел в один миллиметр. (Стоит также мимоходом отметить, что нейроны составляют лишь 10–50 процентов всех клеток головного мозга; остальные — это глиальные клетки, также называемые нейроглией, которые поддерживают и защищают нейроны и питают их энергией, позволяющей им работать и расти.) [1] Внутри компьютера эквивалентом клетки мозга является
наноскопически крошечное переключающее устройство, называемое транзистором. Самые современные микропроцессоры (одночиповые компьютеры) содержат более 30 миллиардов транзисторов; даже базовый микропроцессор Pentium
примерно 20 лет назад было около 50 миллионов транзисторов, упакованных в интегральную схему площадью всего 25 мм (меньше почтовой марки)! [2]

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

На этом сравнение между компьютерами и мозгом начинается и заканчивается, потому что это две совершенно разные вещи. Дело не только в том, что компьютеры — это холодные металлические ящики, набитые двоичными числами, а мозги — теплые, живые вещи, наполненные мыслями, чувствами и воспоминаниями. Настоящая разница в том, что компьютеры и мозг «думают» совершенно по-разному.
транзисторы в компьютере соединены относительно простыми последовательными цепями (каждый из них соединен, может быть, с двумя или тремя другими в базовом устройстве, известном как логические вентили), в то время как нейроны в мозгу плотно связаны между собой сложными параллельными способами (каждый из них связан примерно с 10 000 своих соседей). [3]

Это существенное структурное различие между компьютерами (возможно, с несколькими сотнями миллионов транзисторов, соединенных относительно простым способом) и мозгом (возможно, в 10–100 раз больше клеток мозга, соединенных более богатыми и сложными способами) и заставляет их «думать» совершенно по-разному. . Компьютеры идеально спроектированы для хранения огромных объемов бессмысленной (для них) информации и переупорядочения ее любым количеством способов в соответствии с точными инструкциями (программами), которые мы вводим в них заранее. Мозг, с другой стороны, учится медленно, более окольным путем, часто требуются месяцы или годы, чтобы понять что-то действительно сложное. Но, в отличие от компьютеров, они могут спонтанно объединять информацию поразительными новыми способами — вот откуда исходит человеческое творчество Бетховена или Шекспира — распознавать оригинальные закономерности, устанавливать связи и видеть то, что они узнали, в совершенно ином свете. .

Разве не было бы здорово, если бы компьютеры были больше похожи на мозги? Вот где на помощь приходят нейронные сети!

Фото: Электронный мозг? Не совсем. Компьютерные чипы состоят из тысяч, миллионов, а иногда и миллиардов крошечных электронных переключателей, называемых транзисторами. Звучит как много, но их все равно гораздо меньше, чем клеток в человеческом мозгу.

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

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

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

Реальные и искусственные нейронные сети

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

Из чего состоит нейронная сеть?

Типичная нейронная сеть имеет от нескольких десятков до сотен, тысяч или даже миллионов искусственных нейронов, называемых
Блоки расположены в виде ряда слоев, каждый из которых соединяется со слоями с любой стороны. Некоторые из них, известные как входных блоков , предназначены для получения различных форм информации из внешнего мира, которую сеть будет пытаться узнать, распознать или иным образом обработать. Другие единицы находятся на противоположной стороне сети и сигнализируют, как она реагирует на полученную информацию; они известны как единиц вывода . Между входными и выходными блоками находится один или несколько слоев из скрытых блоков , которые вместе составляют большую часть искусственного мозга. Большинство нейронных сетей полностью связаны , что означает, что каждая скрытая единица и каждая выходная единица связаны с каждой единицей в слоях с обеих сторон. Связи между одной единицей и другой представлены числом, называемым весом , которое может быть как положительным (если одна единица возбуждает другую), так и отрицательным (если одна единица подавляет или тормозит другую). Чем выше вес, тем большее влияние одна единица оказывает на другую. (Это соответствует тому, как реальные клетки мозга запускают друг друга через крошечные промежутки, называемые синапсами.)

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

Хотя простая нейронная сеть для решения простых задач может состоять всего из трех слоев, как показано здесь, она также может состоять из множества различных слоев между входом и выходом. Более богатая структура, подобная этой, называется 9.0007 глубокая нейронная сеть (DNN) и обычно используется для решения гораздо более сложных задач. Теоретически DNN может отображать любые входные данные в любые выходные, но недостатком является то, что ей требуется значительно больше обучения: ей нужно «увидеть» миллионы или миллиарды примеров по сравнению, возможно, с сотнями или тысячами, которые более простая сеть может понадобиться. Глубоко или «поверхностно», как бы оно ни было структурировано и как бы мы ни изображали его на странице, стоит еще раз напомнить себе, что нейронная сеть — это , а не , на самом деле мозг или что-то вроде мозга. В конце концов, это набор умной математики… куча уравнений… алгоритм, если хотите. [4]

Как нейронная сеть учится?

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

Фото: Боулинг: Вы учитесь делать такие искусные вещи с помощью нейронной сети внутри вашего мозга. Каждый раз, когда вы бросаете мяч неправильно, вы узнаете, какие исправления вам нужно внести в следующий раз. Фото Кеннета Р. Хендрикса/ВМС США
Опубликован в
Фликр.

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

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

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

Как это работает на практике?

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

Это не означает, что нейронная сеть может просто «смотреть» на предметы мебели и мгновенно осмысленно реагировать на них; ведет себя не по-человечески. Рассмотрим пример, который мы только что привели: сеть на самом деле не просматривает предметы мебели. Входы в сеть, по существу, представляют собой двоичные числа: каждая единица ввода либо включена, либо выключена. Таким образом, если бы у вас было пять блоков ввода, вы могли бы ввести информацию о пяти различных характеристиках разных стульев, используя бинарные ответы (да/нет). Вопросы могут быть такими: 1) Есть ли у него спинка? 2) Есть ли у него верх? 3) Мягкая ли обивка? 4) Можно ли на нем комфортно сидеть в течение длительного времени? 5) Можете ли вы положить много вещей поверх него? Тогда типичный стул будет представлен как «Да», «Нет», «Да», «Да», «Нет» или 10110 в двоичном формате, в то время как типичный стол может быть «Нет», «Да», «Нет», «Нет», «Да» или 01001. Таким образом, на этапе обучения сеть просто глядя на множество чисел, таких как 10110 и 01001, и узнавая, что некоторые из них означают стул (что может быть результатом 1), а другие означают стол (вывод 0).

Для чего используются нейронные сети?

Фото: Последние два десятилетия НАСА экспериментирует с самообучающейся нейронной сетью под названием
Интеллектуальная система управления полетом (IFCS), которая может помочь пилотам посадить самолеты после серьезных сбоев или повреждений в бою. Прототип был испытан на этом модифицированном самолете NF-15B (родственник McDonnell Douglas F-15). Фото Джима Росса любезно предоставлено
НАСА.

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

Есть много применений нейронных сетей и в сфере безопасности. Предположим, вы управляете банком, в котором каждую минуту через вашу компьютерную систему проходят тысячи транзакций по кредитным картам. Вам нужен быстрый автоматизированный способ идентификации любых транзакций, которые могут быть мошенническими, и для этого идеально подходит нейронная сеть. Ваши входные данные могут быть такими, как 1) Действительно ли владелец карты присутствует? 2) Был ли использован действительный PIN-код? 3) Было ли совершено пять или более транзакций по этой карте за последние 10 минут? 4) Карта используется в другой стране, в которой она зарегистрирована? -и так далее.
Имея достаточно подсказок, нейронная сеть может помечать любые транзакции, которые выглядят подозрительно, позволяя оператору-человеку исследовать их более внимательно. Очень похожим образом банк может использовать нейронную сеть, чтобы решить, давать ли кредиты людям на основе их прошлой кредитной истории, текущих доходов и послужного списка.

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

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

Автоматический перевод Google, например, за последние несколько лет все чаще использует эту технологию для преобразования слов на одном языке (ввод сети) в эквивалентные слова на другом языке (выход сети). В 2016 году Google
объявила, что использует нечто, называемое нейронным машинным переводом (NMT), для мгновенного преобразования целых предложений с
Сокращение ошибок на 55–85 процентов.