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

Артем Чернодуб о том, зачем нужны нейронные сети

Нейронные сети –  один из классических инструментов из области Machine Learning или, более широко, Data Science. Понятие «нейронные сети» можно трактовать в широком и узком смысле.

В узком смысле – это определенные схемы обработки данных, включающие в себя модели нейрона: многослойные перцептоны (Multilayer Perceptrons),  сети радиальных базисных функций (Radial Basis Function Networks), глубокие  нейронные сети (Deep Neural Networks) и др.

В широком смысле это любые модели, способные обучаться на данных, в том числе и такие, в которых нейронов как таковых, представленных в явном виде, нет вообще – к примеру, машины опорных векторов (Support Vector Machines).

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

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

Допустим, нам нужно решить задачу классификации овощей. Если мы можем установить видеокамеру и придумать для нее простое аналитическое правило, к примеру: зеленое и длинное – это огурец, красное и круглое – это помидор, то нейронные сети тут не нужны.

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

Обратите внимание

Мне понравилось, как машинное обучение охарактеризовал глава маркетингового отдела Яндекс Андрей Себрант в ходе своего выступления на конференции Lviv IT Arena’2014.

 Он задался вопросом: чем Data Science, машинное обучение и нейронные сети в частности отличаются от других наук? По его выражению, в математике, физике, химии или гуманитарных дисциплинах человек “проникает умом” в суть феномена – строит его формулу и по ней получает результат.

Отличие же Machine Learning и Data Science в целом заключается в том, что всю интеллектуальную ношу мы перекладываем на модели, которые решают эти задачи, не обязательно понимая при этом, как именно они работают. То есть, подход к использованию дисциплины отличается кардинально. И поэтому это – истинная наука XXI века.

Нейронные сети — Ваша “вишенка на торте”

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

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

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

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

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

Вот вам вопрос: кому реально нужна функция распознавания отпечатков пальцев на IPhone? Ей почти никто не пользуется, тем не менее, это модно, а производителями преподносится как некое «Уау!». Это отличный повод для PR-отдела разослать пресс-релиз о новой супер-функции с высоким для него шансом быть опубликованным.

Недавно наш проект выиграл главный приз в номинации “Best Interactive Startup” на конференции стартапов IDCEE 2014, и мне, как руководителю команды Computer Vision, нравится думать, что определенные очки были получены за счет наличия в нашем продукте интересных интеллектуальных функций.

Программирование vs Data Science

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

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

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

Важно

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

В связи с этим иногда возникает проблема переобучения (overfitting), когда вы “затачиваете” модель под маленькую группу примеров. Программист с обычным детерминированным подходом, грубо говоря, обучит модель на примере одного огурца и одного помидора, и такая модель будет работать только на этих примерах.

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

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

Артем Чернодуб для Datareview.info

Источник: http://datareview.info/article/artem-chernodub-o-tom-zachem-nuzhnyi-neyronnyie-seti/

Зачем в мобильные процессоры вставляют нейронные сети

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

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

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

Компания Apple представила в этом году свой новый флагманский процессор для мобильных устройств — Apple A11 Bionic со встроенной нейронной системой, предназначенной для отдельной работы с искусственным интеллектом.

Технологический гигант Huawei стал первым среди конкурентов после Apple, кто показал аналогичную разработку — Kirin 970 может похвастаться специальным процессором нейронной обработки. По слухам, Samsung тоже ведет работу над подобным чипом. Ожидается, что таким будет следующий флагман линейки Exynos и, возможно, он дебютирует в Galaxy S9.

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

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

Ии как мозг мобильного процессора

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

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

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

Существует важное различие между искусственным интеллектом и машинным обучением, о котором стоит рассказать.

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

Совет

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

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

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

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

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

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

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

Нейронные сети — новые типы вычислений (NPU)

Возможно, самый большой вопрос, на который предстоит ответить: почему компании внезапно внедрили искусственный интеллект в АО? В чем заключается работа ИИ в процессоре? Почему именно сейчас?

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

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

Обратите внимание

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

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

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

Эффективность — это ключ

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

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

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

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

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

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

Что в итоге?

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

Например, Huawei уже рекламирует свой следующий флагман Mate 10 не как смартфон, а как «интеллектуальную машину». Без злых шуток в сторону Apple с ее A11 Bionic не обошлось, но что значит это словосочетание? На деле Mate 10 окажется таким же iPhone 8 — флагманским смартфоном с процессором, умеющим работать с искусственным интеллектом. Huawei переигрывает.

А что думают читатели Pixel Story о процессорах на базе ИИ? Выведут ли они производительность и эффективность современных смартфонов на новый уровень? Пишите в комментариях!

Источник: https://pixel-story.ru/2017/10/zachem-v-processory-vstavlyayut-nejronnye-seti/

Как устроены искусственные нейронные сети

Да, да это именно та самая штука, которая может найти вашу страницу в соц сетях по фотографии.

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

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

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

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

Важно

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

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

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

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

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

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

Как происходит распознание образов

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

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

Долго ли учится нейронная сеть?

И нет и да. Все зависит от необходимой точности 

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

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

Читайте также:  Российский банк систематизирует обращения клиентов при помощи искусственного интеллекта

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

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

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

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

Источник: https://cadelta.ru/science/id1034

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

Первая половина 2016 года ознаменовалась множеством разработок в сфере нейронных сетей. Демонстрацию своих алгоритмов производили Microsoft (ряд сервисов для распознавания изображений), Google (сеть-игрок в го AlphaGo), стартапы Prisma, MSQRD, и другие.

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

Ru Group, «Яндекса», Microsoft и МФТИ.

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

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

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

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

Совет

Нейронная сеть не только моделирует деятельность, но и равняется на структуру человеческой нервной системы. Такая сеть включает в себя большое количество индивидуальных вычислительных элементов («нейронов»). Преимущественно каждый «нейрон» можно отнести к определённому пласту сети.

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

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

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

— анализ данных,

— принятие решений,

— прогнозирование,

— оптимизацию,

— идентификацию образов.

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

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

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

По мнению Влада Шершульского, в недалёкой перспективе (5-10 лет) нейронные сети приобретут ещё более широкое использование.

Обратите внимание

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

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

Михаил Бурцев — заведующий лабораторией нейросистем и глубокого обучения Центра живых систем МФТИ, приводит вероятную карту прогресса нейросетей на 2016-2018 годы:

Источник: https://appsstudio.ru/blog/future/komu-i-zachem-nuzhny-neyronnye-seti-i-kakuyu-mogut-prinosit-pribyl

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



Что же такое искусственные нейронные сети? Фактически, это математическая модель, абстракция.

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

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

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

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

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

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

Важно

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

Рис. 1. Типовая структура нейронной сети

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

Рис. 2. Структура нейрона

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

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

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

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

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

Обычно необходимо около 10 таких итераций.

Из топологий нейронных сетей выделяют сети прямого распространения (Feedforward), радиально-базисные функции (RBF), рекурентные нейронные сети, сверточные сети (LeNet-5, неокогнитрон), самоорганизующаяся карта Кохонена (SOM), а также адаптивно-резонансная теория.

В Feedforward-сетях входная информация слой за слоем обрабатывается и отдается на выход. В сетях обратного распространения входная информация так же слой за слоем обрабатывается, но выходной слой отправляется снова на вход.

В частности радиальная сеть не удовлетворяет стандартам качества, она выдает, в среднем, 72 процента верных исходов.

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

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

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

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

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

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

Обратите внимание

Подобные сети достаточной сложны и требовательны к вычислительным ресурсам, например, для распознавания древнеегипетских иероглифов нейросеть обучалась в течении недели беспрерывной работы и насчитывала более 700 000 нейронов [1].

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

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

Для решения задач связанных с ассоциативной памятью используют сеть Коско (двунаправленная ассоциативная память).

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

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

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

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

Важно

Это такие алгоритмы как «boosting», «рандомизированный решающий лес» и машина опорных векторов.

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

Литература:

  1. «Модели и методы распознавания иероглифических текстов на примере древнеегипетского языка», диссертация к. т.н. Кугаевских Александра Владимировича.
  2. http://www.dissercat.com/content/modeli-i-metody-raspoznavaniya-ieroglificheskikh-tekstov-na-primere-drevneegipetskogo-yazyka
  3. Рассел С. Искусственный интеллект. Современный подход / С. Рассел, П. Норвиг. — 2-е изд. — М.: Вильямс, 2007. — 1408 с.
  4. Каляев И. А. Модели и алгоритмы коллективного управления в группах роботов / И. А. Каляев, А. Р. Гайдук, С. Г. Капустян. — М.: ФИЗМАТЛИТ, 2009. — 280 с.
  5. «Об интеллекте». Джефф Хокинс, Сандра Блейксли, 2004 год.
  6. Игнатьев Н. А. Выбор минимальной конфигурации нейронных сетей // Вычисл. технологии. 2001. Т. 6, № 1. С. 23–28.
  7. Игнатьев Н. А. Извлечение явных знаний из разнотипных данных с помощью нейронных сетей // Вычисл. технологии. 2003. Т. 8, № 2. С. 69–73.
  8. Игнатьев Н. А., Мадрахимов Ш. Ф. О некоторых способах повышения прозрачности нейронных сетей // Вычисл. технологии. 2003. Т. 8, № 6. С. 31–37.
  9. Прикладная статистика: Классификация и снижение размерности: Справочное издание / С. А. Айвазян, В. М. Бухштабер, И. С. Енюков, Л. Д. Мешалкин. М.: Финансы и статистика, 1989.

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

Источник: https://moluch.ru/archive/138/38781/

Что такое нейронные сети и для чего они нужны

Нейросети (искусственные нейронные сети) представляют собой обучаемую систему.

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

Объединенные в сети такие нейроны способны решать широкий спектр задач.

Как создавались нейросети

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

В 1943 году Нейропсихолог Уоррен Мак-Каллок в тандеме с математиком Уолтером Питтсом попытались описать принципы действия нейросети. Через пятнадцать лет нейрофизиолог Фрэне Розенблатт подготовил образец искусственной нейросети.

И лишь в 2010 году был раскрыт потенциал машинного обучения.

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

Создана нейросеть по типу нейронной сети живого организма.

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

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

Решаемые нейросетью задачи

Нейросети способны решать такие типы задач как сортировка, прогнозирование и распознавание событий и объектов.

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

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

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

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

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

Обучение нейросети

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

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

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

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

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

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

Спектр применения нейросетей достаточно велик и постоянно расширяется.

Источник: https://srochnyj-zaym.ru/chto-takoe-nejronnye-seti-i-dlya-chego-oni-nuzhny/

Ссылка на основную публикацию