- История появления нейронных сетей
- Понятие и принцип работы нейронной сети
- Плюсы и минусы нейронных сетей
- Задачи и сферы применения нейронных сетей
- Виды нейросетей
- Подходы к обучению нейронных сетей
- Сбор данных для обучения нейронной сети
- 3 проблемы функционирования нейронных сетей
- Компании, активно использующие и разрабатывающие нейронные сети
- Сферы для перспективного развития нейронных сетей
- Обучение созданию нейронных сетей
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Нейронные сети часто воспринимаются как некая инновационная технология, часть мира будущего. Однако разработки в этой области начались более полувека назад, хотя прорыв произошел относительно недавно. Для людей, далеких от программирования, работа нейронной сети сродни чуду, а ее возможности кажутся безграничными.
Однако, несмотря на действительно выдающиеся возможности в некоторых областях, нейронные сети имеют свои особенности и ограничения. В нашей статье мы расскажем, как работает такой инструмент, для каких задач он подходит лучше всего и в каких сферах будет востребован в ближайшее время.
История появления нейронных сетей
Началом работы ученых в этом направлении можно считать статью Уорена Маккалока и Уолтера Питтса, вышедшую в 1943 году. Они разработали компьютерную модель нейронной сети, опираясь на математические алгоритмы и теорию деятельности головного мозга. Следующим шагом стала книга Дональда Хебба «Организация поведения» 1949 года, в которой канадский нейропсихолог описал процесс самообучения искусственной нейронной сети.
Спустя 8 лет Фрэнком Розенблаттом была представлена математическая модель обработки информации человеческим мозгом, получившая название персептрон. Еще через три года, в 1960, этот американский ученый продемонстрировал электронное устройство, которое имитировало работу мозга, в частности, распознавала отдельные символы на карточках, которое оно «видело» своими «глазами»-камерами.
В 1969 году идея создания нейронных сетей была жестко раскритикована Минским и Пейпертом. Они указали на серьезные проблемы, препятствующие эффективному использованию искусственных нейронных сетей. Например, обратили внимание на невозможность реализации НС функции «Исключающее ИЛИ», а также на недостаточную вычислительную мощность существовавших на тот момент компьютеров. Эта статья на некоторое время подорвала интерес ученых к нейронным сетям.
Однако это направление по-прежнему представлялось весьма перспективным многим исследователям, продолжавшим попытки сформулировать принцип работы самообучаемой системы. Метод обратного распространения ошибки, предложенный в 1974 году Полом Вербосом, стал еще одним шагом на пути создания нейросети. Через год Фукусима разработал первую многослойную НС – когнитрон. В 1982 году Хопфилд добился двусторонней передачи информации между нейронами, что еще больше подогрело интерес ученых к поискам новый решений в этой отрасли.
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Скачивайте и используйте уже сегодня:
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
С начала 1990-х были сделаны важнейшие шаги в деле создания нейронных сетей, а в 2007 году Джеффри Хинтон ввел понятие глубокого обучения, что позволило приступить к использованию возможностей нейросетей в утилитарных целях, например, для распознавания лиц.
Понятие и принцип работы нейронной сети
За основу создания ИНС взят человеческий мозг, где в процессе сложного взаимодействия между нейронами, соединенными между собой синаптической связью, обеспечивается выполнение огромного количества разных функций организма. Роль нейронов в искусственных устройствах выполняют простейшие процессоры, которые собраны в крупную сеть и поэтому способны решать довольно сложные задачи.
Примером самой простой нейтронной сети служит персептрон. Он способен выполнять несложные операции на базе алгоритма двоичной классификации, например, может определить, является ли животное на рисунке собакой, или нет. В составе персептрона три типа элементов: сенсорные, ассоциативные и реагирующие. Первый слой нейронов принимает информацию извне, следующий создает набор ассоциаций после обработки в соответствии с алгоритмом, а третий выдает готовый результат.
Структурно любая нейросеть представляет собой совокупность простых процессоров, разделенных на слои, где производятся параллельные вычисления. Между отдельными слоями происходит двусторонний обмен, поэтому последовательность действий, обусловленная наличием нескольких слоев, достаточно условна.
Главное отличие ИНС от традиционных алгоритмов состоит в их способности обучаться. Эта возможность обусловлена тем, что у каждого нейрона есть собственный весовой коэффициент, определяющий его значимость для остальных нейронов.
Плюсы и минусы нейронных сетей
Перечислим главные достоинства ИНС:
- Способность игнорировать постороннюю информацию. Представьте, что вы с другом находитесь в вагоне метро и ведете увлекательную беседу. Вокруг вас множество фоновых звуков: шум поезда, объявления по радио, разговоры других людей, плач ребенка и так далее. Вы слышите все это, но при этом сосредоточены только на словах собеседника. Нейросети после обучения ведут себя аналогично: отметают лишнюю информацию, не имеющую отношения к поставленной задаче.
- Возможность сохранять работоспособность в случае утраты отдельных элементов. Предположим, что человек потерял палец в результате несчастного случая. Оставшиеся пальцы позволяют ему продолжать полноценную жизнь, поскольку функции удаленного фрагмента тела перераспределились между оставшимися. Идентичная ситуация складывается с нейросетью: повреждение некоторых компонентов не мешает ей выдавать верный результат.
- Высокая скорость работы. Благодаря тому, что ИНС состоит из тысяч микропроцессоров, взаимодействующих между собой, задачи решаются намного быстрее, чем стандартными способами.
Тем не менее, полностью полагаться на нейросети нельзя. Их можно использовать как эффективное дополнение к другим методам, но не как единственный вариант достижения цели. Причин несколько:
- Предлагаемый ИНС ответ не будет абсолютно точным, только примерным. Следовательно, нельзя полностью полагаться на результаты работы нейросети, поскольку всегда есть вероятность недостоверного решения.
- Каждый искусственный нейрон действует независимо от соседних, он не соотносит свое поведение с другими микропроцессорами. Специфика ИНС заключается в том, что нет гарантии абсолютной правдивости результата.
Задачи и области применения нейронных сетей
Сфера использования ИНС – решение аналитических задач, сопоставимых с теми, которые постоянно возникают перед человеческим мозгом. Чаще всего нейросети помогают быстро получать результаты в следующих областях:
- Классификация. ИНС определяет, соответствует ли анализируемый объект заданным параметрам, и относит его к той или иной группе. Возможности нейронных сетей используют банки для предварительной оценки платежеспособности претендента на заем.
- Прогнозирование. На основе изучения входных данных ИНС предсказывает, как поведут себя в ближайшее время на фондовом рынке акции конкретной компании – вырастут или упадут в цене.
- Распознавание. На данный момент эта функция применяется чаще остальных. Поиск по фото в Яндексе или Google, возможность отметить лица друзей на фото в социальных сетях и другие современные возможности обеспечены именно умением ИНС выделять объект среди множества подобных.
Перечисленными сферами использование нейросетей не ограничивается, есть и другие существующие и перспективные способы задействовать их для решения различных задач:
- Машинное обучение является одной из разновидностей искусственного интеллекта. Google, Яндекс, Бинг, Байду активно применяют machine learning для повышения релевантность результатов запросам пользователей. Алгоритмы самообучаются, опираясь на миллионы однотипных фраз, вводимых в поисковую строку.
- Для нормального функционирования роботов необходимо разрабатывать множество алгоритмов, и здесь не обойтись без нейросетей.
- Возможности ИНС используются архитекторами компьютерных сетей, чтобы справиться с проблемой параллельных вычислений.
- В математике нейронные сети позволяют быстрее решать сложные задачи.
Виды нейросетей
Любая ИНС включает первый, или входной, слой нейронов, который принимает сигналы и распределяет их по другим нейронам. Этот признак объединяет все сети, а разные типы выделяются в зависимости от того, какова дальнейшая ее структура и по какому принципу различные слои нейронной сети взаимодействуют межу собой.
Читайте также!
- Однонаправленные
Для этой структуры характерно движение сигнала строго от входного слоя к последнему. ИНС такого типа прекрасно зарекомендовали себя при решении таких задач, как распознавание, прогнозирование и кластеризация.
Разберем принцип работы этого вида нейронной сети на примере. Как наш мозг понимает, что на картинке изображена собака? Он пользуется набором характеристик, хранящихся в нашей памяти. Если объект на фото или рисунке соответствует перечню качеств, присущих собаке (четыре лапы, подходящий размер, хвост, шерсть и т. д.), мозг подтверждает, что мы видим именно это животное. Пес может быть зеленого цвета или лишенным растительности, но от этого он не перестанет восприниматься нами как собака.
- Рекуррентные нейронные сети
Сети прямого направления не способны запоминать результаты предыдущего анализа. Информация передается только вперед, и по способу функционирования они схожи со сложными алгоритмами.
После обучение такая нейросеть определит, какие признаки обязательно должны присутствовать у собаки, но при этом каждый раз будет проводить анализ с нуля.
Для рекуррентных нейросетей характерно наличие памяти: они способно провести аналогию между текущим состоянием и предшествующим ему. Такая ИНС сопоставит предложенное изображение собаки с тем, которое «видела» ранее.
Так, проблема автоматических переводчиков заключается в низком качестве результата. Программа соотносит значение слова в источнике с подходящим вариантом в другом языке, определяет синтаксическую функцию лексической единицы, однако готовый перевод может быть бессмысленным.
Рекуррентные нейронные сети способны проанализировать стиль текста и подобрать оптимальные соответствия из словаря. Для этого недостаточно просто знать лексику и базовые идиомы, необходимо изучать примеры текстов и выдавать результат, аналогичный представленным образцам.
Сфера применения рекуррентных нейронных сетей гораздо шире, чем однонаправленных, ведь ИНС с кратковременной памятью можно использовать для создания обучаемых ботов и даже для оценки финансового положения компании.
Подходы к обучению нейронных сетей
Принципиальное отличие ИНС от классического машинного обучения заключается в ее способности к самообучению. Если нейросеть создается для распознавания лиц, нет необходимости писать с этой целью специальный алгоритм.
При классическом подходе к решению этой задачи понадобятся совершенно разные алгоритмы для распознавания лиц и для отделения кошек от собак.
В случае с человеческими лицами пришлось бы замерять расстояния между их элементами и определять другие значимые признаки, а для распознавания животных базовыми параметрами являются размеры, формы лап, хвостов, ушей и т. д.
В результате ИНС, которая способна распознавать человеческие лица, и та, что может отличить кошек от собак, будут очень похожи между собой, отличия будут несущественными.
Говоря о возможности нейронных сетей приобретать навыки, нельзя не рассказать о глубоком обучении (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 — организация, деятельность которой признана экстремистской на территории Российской Федерации.