Главная страница
Навигация по странице:

  • Типы Нейронных сетей https://tproger.ru/translations/neural-network-zoo-1/ Решение задач нейронными сетями

  • 1. Настройка одноэлементных систем для решения задач

  • Задача линейной регрессии

  • Задача четкого разделения двух классов

  • История развития нейронных сетей. Httpsfuture2day runejronnyeseti#


    Скачать 1.07 Mb.
    НазваниеHttpsfuture2day runejronnyeseti#
    АнкорИстория развития нейронных сетей
    Дата04.05.2023
    Размер1.07 Mb.
    Формат файлаdocx
    Имя файлаИстория развития нейронных сетей.docx
    ТипДокументы
    #1108649
    страница3 из 5
    1   2   3   4   5

    «Шла машина из Тамбова» или чем занимался Маккарти в СССР



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

    Сначала они заехали в Киев и познакомились с академиком Виктором Глушковым, автором концепции ОГАС, а также с профессором Киевского политехнического института Алексеем Ивахненко, о котором речь пойдёт далее. Затем последовал визит в Тбилиси, где западных гостей встречал директор Института систем управления Академии наук Грузинской ССР Арчил Элиашвили. Там над многослойными (или, как их называли в советской литературе, «многорядными») перцептронами работали исследователи, имена которых сейчас даже человеку, подкованному в теме, мало что скажут. Они занимались в том числе системами распознавания речи. Уинстон Нельсон (Winston Nelson) из Лаборатории Белла, участвовавший в делегации, описывает визит в грузинскую лабораторию так:

    «Там на полу был небольшой робот, и он передвигался согласно произносимым вслух командам. <...> А затем мы вернулись в офис директора, где стоял длинный стол, уставленный вазами с фруктами, хачапури и превосходным грузинским коньяком».


    Помимо Одессы, Киева и Тбилиси, делегация посетила Баку, Москву, Минск, Ленинград и несколько других городов союзных республик. В Москве Маккарти встретился со своим старым знакомым — академиком Андреем Ершовым. Коллеги познакомились в декабре 1958 года в Великобритании на Конференции по автоматизации мыслительных процессов. После визита в Москву Маккарти в сопровождении Ершова отправился в новосибирский Академгородок, откуда через Москву вернулся домой (в реалиях холодной войны, когда Новосибирск был одним из полузакрытых научных центров, Ершову стоило больших трудов согласовать этот визит). 

    Через три года Маккарти ещё раз приехал в Академгородок — теперь уже на два месяца и в качестве сотрудника Вычислительного центра: он прочитал курс по верификации программ в Новосибирском университете. В ходе одной из поездок Маккарти познакомился с Александром Кронродом, который работал над шахматной программой, наследницей которой стала знаменитая «Каисса», и договорился о проведении первого в мире шахматного матча между компьютерными программами. В этом матче в 1967-м году советская шахматная программа, разработанная в Институте теоретической и экспериментальной физики, победила программу Стэнфордского университета со счётом 3-1.



    Типы Нейронных сетей

    https://tproger.ru/translations/neural-network-zoo-1/

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

    http://www.gotai.net/documents/doc-art-003-05.aspx

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

    1. Классификация (с учителем) (персептрон Розенблатта [1-3]).

    2. Ассоциативная память (сети Хопфилда [4-7]).

    3. Решение систем линейных уравнений (сети Хопфилда [8]).

    4. Восстановление пробелов в данных (сети Хопфилда).

    5. Кластер-анализ и классификация (без учителя) (сети Кохонена [9-12]).

    Начнем мы, однако, не с сетей, а с систем, состоящих из одного элемента.

    1. Настройка одноэлементных систем для решения задач

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

    1. Линейная регрессия и восстановление простейших закономерностей [13-14];

    2. Линейная фильтрация и адаптивная обработка сигналов [15];

    3. Линейное разделение классов и простейшие задачи распознавания образов [16-18].

    Задача линейной регрессии состоит в поиске наилучшего линейного приближения функции, заданной конечным набором значений: дана выборка значений вектора аргументов x1 , ..., xm, заданы значения функции F в этих точках: F(x i)=fi, требуется найти линейную (неоднородную) функцию j(x)=(a,x)+a0, ближайшую к F. Чтобы однозначно поставить задачу, необходимо доопределить, что значит «ближайшую». Наиболее популярен метод наименьших квадратов, согласно которому j ищется из условия



    (1)

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

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



    Найдем производные минимизируемой функции H по настраиваемым параметрам:



    где x ijj-я координата вектора x i.

    Приравнивая частные производные H нулю, получаем уравнения, из которых легко найти все aj (j=0,...,n). Решение удобно записать в общем виде, если для всех i =1,...,m обозначить и рассматривать n+1-мерные векторы данных x i и коэффициентов a. Тогда



    Обозначим p n+1-мерный вектор с координатами ; Q - матрицу размером (n+1)´(n+1) с элементами .

    В новых обозначениях решение задачи линейной регрессии имеет вид:

    j(x)=(a,x), a=Q1p.

    (2)

    Приведем это решение в традиционных обозначениях математической статистики. Обозначим Mî среднее значение j-й координаты векторов исходной выборки:

    .

    Пусть M ‑ вектор с координатами Mî. Введем также обозначение sj для выборочного среднеквадратичного отклонения:



    Величины sj задают естественный масштаб для измерения j-х координат векторов x. Кроме того, нам потребуются величина sf и коэффициенты корреляции f с j-ми координатами векторов xrfj:



    Вернемся к n-мерным векторам данных и коэффициентов. Представим, что векторы сигналов проходят предобработку ‑ центрирование и нормировку и далее мы имеем дело с векторами y i:



    Это, в частности, означает, что все рассматриваемые координаты вектора x имеют ненулевую дисперсию, т.е. постоянные координаты исключаются из рассмотрения ‑ они не несут полезной информации. Уравнения регрессии будем искать в форме: j(y)=(b,y)+b0. Получим:

    b0=Mf, b=sfR1Rf,

    (3)

    где Rf ‑ вектор коэффициентов корреляции f с j-ми координатами векторов x, имеющий координаты rfj, R ‑ матрица коэффициентов корреляции между координатами вектора данных:



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

    В рамках первого подхода рассмотрим, как будет изменяться a из формулы (2) при добавлении нового вектора данных. В первом порядке теории возмущений найдем изменение вектора коэффициента a при изменении вектора p и матрицы Q:



    Пусть на выборке вычислены p, Q, Q1. При получении нового вектора данных xm+1 и соответствующего значения F(xm+1)=fm+1 имеем 2:



    (4)

    где ‑ ошибка на вектореданных xm+1 регрессионной зависимости, полученной на основании выборки .

    Пересчитывая по приведенным формулам p, Q, Q1 и a после каждого получения данных, получаем процесс, в котором последовательно уточняются уравнения линейной регрессии. И требуемый объем памяти, и количество операций имеют порядок n2 ‑ из-за необходимости накапливать и модифицировать матрицу Q1. Конечно, это меньше, чем потребуется на обычное обращение матрицы Q на каждом шаге, однако следующий простой алгоритм еще экономнее. Он вовсе не обращается к матрицам Q, Q1 и основан на уменьшении на каждом шаге величины ‑ квадрата ошибки на вектореданных xm+1 регрессионной зависимости, полученной на основании выборки .

    Вновь обратимся к формуле (2) и будем рассматривать n+1-мерные векторы данных и коэффициентов. Обозначим . Тогда



    (5)

    Последняя элементарная формула столь важна в теории адаптивных сумматоров, что носит «именное название» ‑ формула Уидроу. «Обучение» адаптивного сумматора методом наискорейшего спуска состоит в изменении вектора коэффициентов a в направлении антиградиента D2: на каждом шаге к a добавляется h´D´x, где h величина шага.

    Если при каждом поступлении нового вектора данных x изменять a указанным образом, то получим последовательную процедуру построения линейной аппроксимации функции F(x). Такой алгоритм обучения легко реализуется аппаратными средствами (изменение веса связи aj есть произведение прошедшего по ней сигнала xj на ошибку D и на величину шага). Возникает, однако, проблема сходимости: если h слишком мало, то сходимость будет медленной, если же слишком велико, то произойдет потеря устойчивости и сходимости не будет вовсе. Детальному изложению этого подхода и его приложений посвящен учебник [15].

    Задача четкого разделения двух классов по обучающей выборке ставится так: имеется два набора векторов x1 , ..., xm и y1,...,ym . Заранее известно, что x i относится к первому классу, а y i - ко второму. Требуется построить решающее правило, то есть определить такую функцию f(x), что при f(x)>0 вектор x относится к первому классу, а при f(x)<0 ‑ ко второму.

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

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

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

    1. искать дополнительные признаки, позволяющие разделить классы;

    2. примириться с неизбежностью ошибок, назначить за каждый тип ошибок свой штраф (c12 - штраф за то, что объект первого класса отнесен ко второму, c21 - за то, что объект второго класса отнесен к первому) и строить разделяющее правило так, чтобы минимизировать математическое ожидание штрафа;

    3. перейти к нечеткому разделению классов - строить так называемые "функции принадлежности" f1(x) и f2(x) ‑ fi(x) оценивает степень уверенности при отнесении объекта к i -му классу (i =1,2), для одного и того же x может быть так, что и f1(x)>0, и f2(x)>0.

    Линейное разделение классов состоит в построении линейного решающего правила ‑ то есть такого вектора a и числа a0 (называемого порогом), что при (x,a)>a0 x относится к первому классу, а при (x, a)0 - ко второму.

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

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

    a= (y1+ y2+...+ym)/m ‑(x1+ x2+...+ x n)/n.

    (6)

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

    a= ((y1+ y2+...+ym)/m ‑(x1+ x2+...+ x n)/n)/||(y1+ y2+...+ym)/m ‑(x1+ x2+...+ x n)/n||.

    Выбор a0 может производиться из различных соображений. Простейший вариант ‑ посередине между центрами масс выборок:

    a0=(((y1+ y2+...+ym)/m,a)+((x1+ x2+...+ x n)/n,a))/2.

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

    Можно для каждого класса построить приближенную плотность вероятностей распределения проекций его точек на прямую (это намного проще, чем для многомерного распределения) и выбирать a0, минимизируя вероятность ошибки. Пусть решающее правило имеет вид: при (x, a)>a0 x относится к первому классу, а при (x, a)0 ‑ ко второму. В таком случае вероятность ошибки будет равна



    где p1, p2 ‑ априорные вероятности принадлежности объекта соответствующему классу,

    r1(c), r2(c) ‑ плотности вероятности для распределения проекций c точек x в каждом классе.

    Приравняв нулю производную вероятности ошибки по a0, получим: число a0, доставляющее минимум вероятности ошибки, является корнем уравнения:

    p1r1(c)=p2r2(c),

    (7)

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

    Если принять гипотезу о нормальности распределений:

    ,

    то для определения a0 получим:

    ,



    Если это уравнение имеет два корня y=a1, a2, (a12) то наилучшим решающим правилом будет: при a1<(x, a)2 объект принадлежит одному классу, а при a1>(x, a) или (x, a)>a2 ‑ другому (какому именно, определяется тем, которое из произведений p iri(c) больше). Если корней нет, то оптимальным является отнесение к одному из классов. Случай единственного корня представляет интерес только тогда, когда s1=s2. При этом уравнение превращается в линейное и мы приходим к исходному варианту ‑ единственной разделяющей точке a0.

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

    Если сразу ставить задачу об оптимальном разделении многомерных нормальных распределений, то получим, что наилучшей разделяющей поверхностью является квадрика (на прямой типичная «квадрика» ‑ две точки). Предполагая, что ковариационные матрицы классов совпадают (в одномерном случае это предположение о том, что s1=s2), получаем линейную разделяющую поверхность. Она ортогональна прямой, соединяющей центры выборок не в обычном скалярном произведении, а в специальном: , где S ‑ общая ковариационная матрица классов. За деталями отсылаем к прекрасно написанной книге [17], см. также [11,12,16].

    Важная возможность усовершенствовать разделяющее правило состоит с использовании оценки не просто вероятности ошибки, а среднего риска: каждой ошибке приписывается «цена» ci и минимизируется сумма c1p1r1(c)+c2p2r2(c). Ответ получается практически тем же (всюду p i заменяются на cip i), но такая добавка важна для многих приложений.

    Требование безошибочности разделяющего правила на обучающей выборке принципиально отличается от обсуждавшихся критериев оптимальности. На основе этого требования строится персептрон Розенблатта ‑ «дедушка» современных нейронных сетей [1].

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

    (x i, a)>a0 (i =1,...,n)

    (yj , a)0 (j=1,...,m).

    Здесь x i (i =1,..,n) - векторы из обучающей выборки, относящиеся к первому классу, а yj (j=1,..,n) - ко второму.

    Удобно переформулировать задачу. Увеличим размерности всех векторов на единицу, добавив еще одну координату ‑a0 к a, x0 =1 - ко всем x и y0 =1 ‑ ко всем y . Сохраним для новых векторов прежние обозначения - это не приведет к путанице.

    Наконец, положим z i =x i (i =1,...,n), zj = ‑yj (j=1,...,m).

    Тогда получим систему n+m неравенств

    (z i,a)>0 (i =1,...,n+m),

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

    Итерационный алгоритм решения этой системы чрезвычайно прост. Он основан на том, что для любого вектора x его скалярный квадрат (x,x) больше нуля. Пусть a ‑ некоторый вектор, претендующий на роль решения неравенств (z i,a)>0 (i =1,...,n+m), однако часть из них не выполняется. Прибавим те z i, для которых неравенства имеют неверный знак, к вектору a и вновь проверим все неравенства (z i,a)>0 и т.д. Если они совместны, то процесс сходится за конечное число шагов. Более того, добавление z i к a можно производить сразу после того, как ошибка ((z i,a)<0) обнаружена, не дожидаясь проверки всех неравенств ‑ и этот вариант алгоритма тоже сходится [2].
    1   2   3   4   5


    написать администратору сайта