stevsky banner dlya sayta

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

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

neiro2Нейросети для чайников

Сегодняшняя статья будет посвящена достаточно сложной теме - что такое искусственные нейронные сети и зачем они нужны. Мы расскажем вам историю создания нейронных сетей, как развивалась данная наука о сетях и что сейчас она может предложить человечеству. Тема очень сложная для понимания и, возможно, понять, что написано в данной статье не получится с первого раза, однако мы постараемся изложить информацию о нейронных сетях как можно проще. Тема нейронных сетей актуальна сейчас, как никогда - то и дело в сети встречается масса сайтов, на которых эти самые сети забавно совмещают картинки, разукрашивают ч/б фотографии, распознают рукописный текст, речь и т.д. Это лишь малая часть того, что на самом деле умеет ИНС (искусственная нейронная сеть). Возможности ИНС безграничны, однако они существенно уступают тому, что умеет человеческий мозг. По сравнению с нейронными сетями, мы спокойно можем разобрать речь собеседника в шумном помещении, узнать человека среди сотен других людей и т.д. ИНС умеет все то же самое, однако если сравнить нейросеть с каким-либо живым существом на планете, то она будет едва умнее пиявки. Все же, наш мозг добился отличной работоспособности спустя 50 000 лет эволюции (если мы говорим о Homo sapiens), а нейросети существуют всего 65 лет. Тем не менее, современные технологии сильно шагнули вперед и нет никаких сомнений, что через 10-15 лет нейрокомпьютеры вплотную приблизятся по своим возможностям к человеческому мозгу, благодаря стремительному развитию нейросетей и искусственного интеллекта в целом.

Содержание:

  1. История создания ИНС
  2. Что такое нейросеть
  3. Как работают нейронные сети
  4. Где эффективны ИНС
  5. Преимущества нейросети
  6. Недостатки нейронной сети
  7. Виды ИНС
  8. Нейросети в реальной жизни

Искусственные нейронные сети - история создания

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

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

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

К оглавлению

Нейросеть - в целом об ИНС

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

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

biologicalneuron

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

artificialneuronwelcome

А вот как выглядит наш с вами мозг, упрощенный до ИНС.

annwelcome

К оглавлению

Нейронные сети - почему они работают?

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

sinapswelcome

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

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

  • пороговая функция;
  • гистерезис;
  • сигмоид.

artificialneuronmodel

latex

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

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

howsimplify

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

К оглавлению

Когда эффективны ИНС?

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

Простые и средние по сложности, принцип решения которых известен:

  • легкие уравнения;
  • распечатка документа;
  • запуск программы.

Подобные задачи решаются с помощью обычного ПК.

Мало- среднесложные задачи с частичным знанием решения:

  • прогнозирование ситуации;
  • нахождение погрешности;
  • приблизительные ответ уравнения.

Такие задачи решаются при помощи статистики.

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

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

wheretouse

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

randomresistance

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

К оглавлению

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

1. Шум входных данных

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

2. Адаптация к изменениям

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

adaptation

3. Отказоустойчивость

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

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

resistance4

4. Быстрота работы

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

highspeed

К оглавлению

Недостатки нейронных сетей

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

1. Приблизительный ответ

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

whatisit

2. Многошаговые решения

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

nomoresteps

3. Вычислительные процессы

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

 nomath

К оглавлению

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

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

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

onelayernn

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

MultiLayerNN

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

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

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

recurr

К оглавлению

Нейронные сети - использование в реальной жизни

Искусственные нейронные сети используют практически везде. Например, все вы знаете о Google картах с режимом Street View. Так вот, при просмотре улиц каждый из нас замечал замазанные лица людей и номера машин - все это выполнили нейронные сети. Также при наборе текста посредством голоса (распознавание речи) используются нейронные сети. На просторах интернета существует множество развлекательных проектов с применением нейронных сетей. Это и приложение MSQRD - наложение всевозможных масок на лицо в реальном времени, и Андроид-приложение Mlvch, которое обрабатывает картинки при помощи ИНС, и многое другое.

Более серьезное применение нейроных сетей можно увидеть в яндексовском приложении Авто.ру, которое распознает автомобили на снимках; CaptionBot от Майкрософт - нейросеть автоматически придумывает подпись к изображениям, исходя из содержания картинок; WhatDog - распознавание породы собак, изображенных на фотографиях и т.п.

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

К оглавлению

Нейросети - что такое ИНС?

Более подробно об искусственных нейронах и сетях рассказывается на видео.


Похожие материалы:
Новые материалы по этой тематике:
Старые материалы по этой тематике:

Обновлено ( 05.01.2017 02:44 )  

Google+