Материал взят с сайта http://md-it.ru/articles/html/article57.html
Зачем нужны нейронные сети?
Наверное, многие слышали понятие “нейронные сети”, ассоциативно связывая его с искусственным интеллектом, андроидами, роботами, способными учиться, глядя на людей. Одни при этом испытывают страх неизведанного, страх перед возможными последствиями, другие заинтересовываются, понимая возможное полезное применение, и видят помощь в исследовании неразрешимых сегодня задач, третьи скептически смотрят на происходящее, имея неудачный опыт в проектировании искусственных нейронных сетей (ИНС) или отсутствие же-лания в этом разбираться. В любом случае, ИНС за более чем полувековой период своего существования пережили немало взлетов и падений. В этой статье предлагается рассмотреть их возможное назначение, проблемы, связанные с их внедрением, положение дел в настоящее время, а также оценить факторы, влияющие на их развитие.
Исторический обзор
Проявление интереса к искусственным нейронным сетям было обусловлено работами пионеров в этом деле — У. Маккалоха (W. McCulloch) и У. Питтса (W. Pitts). В 1943 году внимание общественности привлекла работа под названием “Логическое исчисление идей, относящихся к нервной деятельности”, в которой они предложили математическую модель нейрона и сформулировали принципы построения искусственных нейронных сетей, согласно разработанной ими модели функционирования головного мозга. Многие ученые с энтузиазмом начали предлагать свои решения и новые архитектуры ИНС. Так, например, Д. Хебб (D. Hebb) в 1949 году высказал идеи о характере соединений нейронов мозга и их взаимодействии, представив впервые методы обучения ИНС, а крупный нейрофизиолог Фрэнк Розенблатт (F. Rosenblatt) предложил в 1957 году свою модель нейронной сети — персептрон, и архитектуру первой в мире модели нейрокомпьютера Mark. Однако его работа подверглась жесткой критике (существует мнение, что необоснованно) многих заслуженных научных авторитетов того времени. Одними из них были ранние приверженцы теории ИНС Минский (М. Minsky) и Пейперт (S. Papert), показавшие несостоятельность теории Розенблатта в 1969 году. Их работа остудила научный пыл многих ученых-энтузиастов практически на два десятилетия. Образовалось некоторое затишье, связанное с разочарованием в возможностях ИНС, вызванным не в последнюю очередь психологическим фактором, проявляющимся в неспособности человека описать словами то, как он думает. На мой взгляд, развитие теории ИНС происходило очень быстро, люди создавали то, что на тот момент не было востребовано, другими словами, теория обогнала свое время. И хотя в этот период было предложено много заслуживающих внимания разработок и исследований, научный мир относился к ним скептически. До тех пор, пока в 1982 году американским биофизиком Дж. Хопфилдом не была предложена архитектура нейронной сети (в настоящее время названная его именем), использующая энергетический подход, моделирующая ассоциативную память. Это был новый толчок для развития этой области, и в 1986 году Дж. Хинтон (J. Hinton) со своими коллегами опубликовал статью с описанием новой модели нейронной сети и алгоритмом ее обучения. В это же время появились первые коммерческие проекты нейрокомпьютеров (Mark III фирмы TRW, США).
К исследованиям вернулся и Минский, несмотря на свою предыдущую работу об ограниченности персептронов.
Дальнейшее развитие поддерживалось созданием специализированных центров нейрокомпьютеров, проведением большого числа международных конференций и форумов. Объем продаж коммерческих нейросетевых продуктов в период с 1991 по 1997 г. вырос более чем в четырнадцать раз.
Сейчас, с учетом перехода на нанотехнологии, появлением новых знаний о деятельности человеческого мозга, появились принципиально новые архитектуры, технологические решения, определены направления исследований, появился широкий спектр задач, которые не под силу решать алгоритмически даже на современных ПК.
Модель нейрона
Кора головного мозга человека содержит около 100 млрд нейронов, каждый из которых связан с 1000–10000 других нейронов, таким образом получаем приблизительно от 1014 до 1015 взаимосвязей.
Предлагаю провести небольшое обозрение. Известно, что нейрон не может изменять свое состояние больше, чем 100 раз в секунду, т. е. с частотой порядка 100 герц. Человек зрительно воспринимает окружающую информацию за 0,7–1 сек, узнавая образы, идентифицируя людей, объекты, а еще следует учитывать обработку информации с других органов чувств и управление работой организма. Однако для реализации этих действий с помощью методов алгоритмизации требуются огромные вычислительные мощности и базы данных. Для такого круга задач получается, что медленные нейроны работают гораздо быстрее самых современных компьютеров, благодаря неизвестному принципу распределения ресурсов, распределенной передаче данных. Как подсчитали специалисты ITC, для создания модели головного мозга потребовался бы компьютер с тактовой частотой 2000 терагерц, с объемом оперативной памяти 200 терабайт. Или более миллиона компьютеров средней мощности с идеальным алгоритмом распределения вычислений без различного рода затрат. Ниже приведена таблица, в которой приводится сравнение архитектур машины фон Неймана (стандартной архитектуры ПК) и биологической нейронной сети (из работы Artificial Neural Networks, Anil K. Jain, Jianchang Mao, K. M. Mohiuddin, США).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Схема действия нейрона достаточно проста. Нейрон получает импульсы от аксонов других нейронов через дендриты (приемники) и передает сигналы, сгенерированные телом клетки, вдоль своего аксона (передатчика), который в конце разветвляется на волокна. На окончаниях этих волокон находятся специальные образования — синапсы, которые влияют на величину импульсов.
Под обучением ИНС будем понимать настройку коэффициентов для эффективного выполнения специализированной задачи. Чаще всего предлагается обучающая выборка (вход-выход) и посредством итеративного приближения ИНС настраивает свои веса необходимым образом, что улучшает функционирование сети.
В этом и состоит преимущество систем на основе ИНС перед системами, в которых функционирование осуществляется по строго определенным правилам. Как происходит создание и проектирование ИНС? В упрощенном варианте этот процесс можно представить нижеописанным способом. Определяется модель процесса, для которого создается ИНС, действующие факторы, доступная информация. Затем, исходя из определенных условий, определяются правила, методы, модификации весовых коэффициентов — появляется алгоритм обучения. Такая сеть уже способна к обучению и существованию.
Вполне естественно задаться вопросом: а какие, собственно, методы используются при обучении? Обратимся кратко к этому вопросу, не углубляясь в математические и специализированные теории. Имеют место три парадигмы обучения: “с учителем”, “без учителя” и смешанная.
В первом случае на входы нейронной сети подаются значения, необходимые результаты которых известны заранее. Коэффициенты входов модифицируются таким образом, чтобы результатом работы сети были известные заранее результаты. Модифицированный вариант обучения с учителем предполагает, что известна только оценка правильности выхода нейронной сети, но не сами правильные значения выхода. Во втором случае производится структурирование и распределение данных по категориям, исходя из определенных связей между входами. Смешанный вариант обучения предполагает под собой обучение некоторой части нейронов с учителем, а остальная часть обучается вторым методом.
Типовые задачи для ИНС
В этой части статьи рассмотрим типовые задачи, в которых результаты, получаемые с помощью ИНС, более состоятельны по сравнению с результатами, полученными традиционными методами. А затем рассмотрим ряд реальных применений и исследований в настоящее время.
По мнению Anil K. Jain из Мичиганского государственного университета и специалистов Исследовательского центра IBM Jianchang Mao и K. M. Mohiuddin, список задач можно классифицировать следующим образом.
Классификация образов. Задача состоит в указании принадлежности входного образа (например, речевого сигнала или рукописного символа), представленного вектором признаков, одному или нескольким предварительно определенным классам. К известным приложениям относятся распознавание букв, распознавание речи, классификация сигнала электрокардио-граммы, классификация клеток крови, обеспечение деятельности биометрических сканеров и т. п.
Кластеризация/категоризация. При решении задачи кластеризации, которая известна также как классификация образов “без учителя”, отсутствует обучающая выборка с метками классов. Алгоритм кластеризации основан на подобии образов и размещает близкие образы в один кластер. Известны случаи применения кластеризации для извлечения знаний, сжатия данных и исследования свойств данных.
Аппроксимация функций. Предположим, что имеется обучающая выборка пар данных вход-выход, которая генерируется неизвестной функцией, зависящей от некоторого аргумента, искаженной шумом. Задача ап-проксимации состоит в нахождении оценки неизвестной функции. Аппроксимация функций необходима при решении многочисленных инженерных и научных задач моделирования. Типичным примером является шумоподавление при приеме сигнала различной природы, вне зависимости от передаваемой информации.
Предсказание/прогноз. Пусть заданы n дискретных отсчетов {y (t1), y (t2)..., y (tn)} в последовательные моменты времени t1, t2,..., tn. Задача состоит в предсказании значения y (tn+1) в некоторый будущий момент времени tn+1. Предсказание/прогноз имеют значительное влияние на принятие решений в бизнесе, науке и технике. Предсказание цен на фондовой бирже и прогноз погоды являются типичными приложениями техники предсказания/прогноза.
Оптимизация. Многочисленные проблемы в математике, статистике, технике, науке, медицине и экономике могут рассматриваться как проблемы оптимизации. Задачей алгоритма оптимизации является нахождение такого решения, которое удовлетворяет системе ограничений и максимизирует или минимизирует целевую функцию. Задача коммивояжера об оптимальной загрузке самолета, назначение штата работников по ряду умений и факторов являются классическими примерами задач оптимизации.
Память, адресуемая по содержанию (ассоциативная память). В модели вычислений фон Неймана обращение к памяти доступно только посредством адреса, который не зависит от содержания памяти. Более того, если допущена ошибка в вычислении адреса, то может быть найдена совершенно иная информация. Ассоциативная память доступна по указанию заданного содержания. Содержимое памяти может быть вызвано даже по частичному входу или искаженному содержанию. Ассоциативная память может прекрасно найти применение при создании мультимедийных информационных баз данных.
Управление. Рассмотрим динамическую систему, заданную совокупностью векторов входного управляющего воздействия, текущего состояния, выходного вектора системы. Классической постановкой задачи является расчет управляющего воздействия, чтобы в конкретный момент времени система находилась в определенной желаемой точке. Примером является оптимальное управление двигателем, рулевое управление на кораблях, самолетах.
Еще раз отметим, что мы указали только типовые задачи, в общем случае чаще всего встречаются ситуации, представляющие собой комплекс определенных ранее.
Нейросеть с обучением - реализация