Среди различных структур нейронных сетей (НС) одной из наиболее
известных является многослойная структура, в которой каждый нейрон
произвольного
слоя связан со всеми
Один из вариантов решения этой проблемы — разработка наборов выходных
сигналов, соответствующих входным, для каждого слоя НС, что, конечно,
является очень трудоемкой операцией и не всегда осуществимо. Второй
вариант — динамическая подстройка весовых коэффициентов
Сетевые конфигурации:
Нейрон. На рис. 4.1 показан нейрон, используемый в качестве основного
строительного блока в
(рис 4.1) Эта сумма, обозначаемая $$NET$$, должна быть вычислена для каждого
нейрона сети. После того, как величина $$NET$$ вычислена, она
модифицируется с помощью
Как показывает уравнение (1), эта функция, называемая сигмоидом, весьма удобна, так как имеет
простую производную, что используется
при реализации
Сигмоид, который иногда называется также логистической или сжимающей функцией, сужает диапазон изменения $$NET$$ так, что значение $$OUT$$ лежит между нулем и единицей. Как указывалось выше, многослойные нейронные сети обладают большей представляющей мощностью, чем однослойные, лишь в случае присутствия нелинейности. Сжимающая функция обеспечивает требуемую нелинейность.
В действительности имеется множество функций, которые могли бы быть
использованы. Для NET близка к нулю) кривая
вход-выход имеет сильный наклон, дающий большое усиление. Когда величина
сигнала становится больше, усиление падает. Таким образом, большие сигналы
воспринимаются сетью без насыщения, а слабые сигналы проходят по сети без
чрезмерного ослабления. Многослойная сеть. Рассмотрим иерархическую
сетевую структуру, в которой связанные между собой нейроны объединены в
несколько слоев (см. рис. 4.2). На возможность построения таких
архитектур указал еще Ф.Розенблатт, однако им не была решена проблема
обучения. Межнейронные синаптические связи сети устроены таким образом,
что каждый нейрон на данном уровне иерархии принимает и обрабатывает
сигналы от каждого нейрона более низкого уровня. Таким образом, в данной
сети имеется выделенное направление распространения нейроимпульсов — от
(рис 4.2) Традиционно рассматривается аналоговая логика, при которой допустимые
состояния синаптических связей определяются произвольными действительными
числами, а степени активности нейронов -
Мы рассмотрим классический вариант многослойной сети с аналоговыми
В литературе нет единого мнения относительно того, что именно считать числом слоев в таких сетях. Одни авторы используют число слоев нейронов (включая несуммирующий входной слой), другие — число слоев весов. Так как последнее определение - функционально описательное, то оно будет использовано и нами. Согласно этому определению, сеть на рис. 4.2 рассматривается как двухслойная. Нейрон объединен с множеством весов, присоединенных к его входу. Таким образом, веса первого слоя оканчиваются на нейронах первого слоя. Вход распределительного слоя считается нулевым слоем.
Обзор обучения. Целью обучения сети является такая подстройка ее весов, чтобы приложение некоторого множества входов приводило к требуемому множеству выходов. Для краткости эти множества входов и выходов будут называться векторами. При обучении предполагается, что для каждого входного вектора существует парный ему целевой вектор, задающий требуемый выход. Вместе они называются обучающей парой. Как правило, сеть обучается на многих парах. Например, входная часть обучающей пары может состоять из набора нулей и единиц, представляющего двоичный образ некоторой буквы алфавита. На рис. 4.3 показано множество входов для буквы "А", нанесенной на сетке. Если через квадрат проходит линия, то соответствующий нейронный вход равен единице, в противном случае он равен нулю. Выход может быть числом, представляющим букву "А", или другим набором из нулей и единиц, который может быть использован для получения выходного образа. При необходимости распознавать с помощью сети все буквы латинского алфавита, потребовалось бы 26 обучающих пар. Такая группа обучающих пар называется обучающим множеством.
(рис 4.3) Перед началом обучения всем весам должны быть присвоены небольшие начальные значения, выбранные случайным образом. Это гарантирует, что в сети не произойдет насыщения большими значениями весов, и предотвращает ряд других некорректных случаев. Например, если всем весам придать одинаковые начальные значения, а для требуемого функционирования нужны неравные значения, то сеть не сможет обучиться.
Обучение
Операции, выполняемые шагами 1 и 2, сходны с теми, которые выполняются при функционировании уже обученной сети, — подается входной вектор и вычисляется получающийся выход. Вычисления выполняются послойно. На рис. 4.2 сначала вычисляются выходы нейронов слоя $$j$$, затем они используются в качестве входов слоя $$k$$, после чего вычисляются выходы нейронов слоя $$k$$, которые и образуют выходной вектор сети.
На шаге 3 каждый из выходов сети, которые на рис. 4.2 обозначены $$OUT$$, вычитается из соответствующей компоненты целевого вектора, чтобы получить значение ошибки. Эта ошибка используется на шаге 4 для коррекции весов сети, причем знак и величина изменений весов определяются алгоритмом обучения (см. ниже).
После достаточного числа повторений этих четырех шагов разность между действительными и целевыми выходами должна уменьшиться до приемлемой величины: при этом говорят, что сеть обучилась. Теперь сеть используется для распознавания, и веса не изменяются.
На шаги 1 и 2 можно смотреть как на "проход вперед", так как сигнал распространяется по сети от входа к выходу. Шаги 3, 4 составляют "обратный проход", здесь вычисляемый сигнал ошибки распространяется обратно по сети и используется для подстройки весов. Эти два прохода теперь будут детализированы и записаны как математические выражения.
Проход вперед. Шаги 1 и 2 могут быть выражены в векторной форме следующим образом: подается входной вектор $$X$$ и на выходе получается вектор $$Y.$$ Векторная пара вход — цель $$X$$ и $$Y$$ берется из обучающего множества. Вычисления проводятся над вектором $$X$$, чтобы получить выходной вектор $$Y.$$
Как мы видели, вычисления в многослойных сетях выполняются слой за слоем, начиная с ближайшего к входу. Величина $$NET$$ каждого нейрона первого слоя вычисляется как взвешенная сумма входов нейрона. Затем активационная функция $$F$$ "сжимает" $$NET$$ и дает величину $$OUT$$ для каждого нейрона в этом слое. Когда множество выходов слоя получено, оно является входным множеством для следующего слоя. Процесс повторяется слой за слоем, пока не будет получено заключительное множество выходов сети.
Этот процесс может быть выражен в сжатой форме с помощью векторной нотации. Веса между нейронами будем рассматривать как матрицу $$W.$$ Например, вес от нейрона 8 в слое 2 к нейрону 5 слоя 3 обозначается $$w_{8,5}.$$ Тогда $$NET$$ -вектор слоя $$N$$ может быть выражен не как сумма произведений, а как произведение $$X$$ и $$W.$$ В векторном обозначении $$N = XW.$$ Покомпонентным применением функции $$F$$ к $$NET$$ -вектору $$N$$ получаем выходной вектор $$О.$$ Таким образом, для данного слоя вычислительный процесс описывается следующим выражением:
$$O=F(XW).$$Выходной вектор одного слоя является входным вектором для следующего, поэтому вычисление выходов последнего слоя требует применения уравнения (3) к каждому слою от входа сети к ее выходу.
Обратный проход. Подстройка весов выходного слоя. Так
как для каждого нейрона
Рассмотрим процесс обучения для одного веса от нейрона $$p$$ в скрытом слое $$j$$ к нейрону $$q$$ в выходном слое $$k.$$ Выход нейрона слоя $$k$$, вычитаемый из целевого значения (Target), дает сигнал ошибки. Он умножается на производную сжимающей функции $$[OUT(1 - OUT)]$$, вычисленную для этого нейрона слоя $$k$$, давая, таким образом, величину $$\delta.$$
$$\delta=OUT (1-OUT)(Target-OUT).$$Затем $$\delta$$ умножается на величину $$OUT$$ нейрона $$j$$, из которого выходит рассматриваемый вес. Это произведение, в свою очередь, умножается на коэффициент скорости обучения $$\eta$$ (обычно от 0,01 до 1,0), и результат прибавляется к весу. Такая же процедура выполняется для каждого веса от нейрона скрытого слоя к нейрону в выходном слое.
Следующие уравнения иллюстрируют это вычисление:
$$\Delta w_{pq,k}=\eta \delta_{q,k}OUT_{pj},$$ $$w_{pq,k}(n+1)=w_{pq,k}(n)+\Delta w_{pq,k},$$где $$w_{pq,k}(n)$$ — величина веса от нейрона $$p$$ в скрытом слое $$k$$ к нейрону $$q$$ в выходном слое на шаге $$n$$ (до коррекции); отметим, что индекс $$k$$ относится к слою, в котором заканчивается данный вес (т. е. к слою, с которым он объединен); $$w_{pq,k}(n+1)$$ — величина веса на шаге $$n + 1$$ (после коррекции); $$\delta_{q,k}$$ — величина $$\delta$$ для нейрона $$q$$, в выходном слое $$k$$ ; $$OUT_{p,j}$$ — величина $$OUT$$ для нейрона $$p$$ в скрытом слое $$j.$$
Подстройка весов
скрытого слоя. Рассмотрим один нейрон в
скрытом слое, предшествующем выходному слою. При проходе вперед этот
нейрон передает свой выходной сигнал нейронам в выходном слое через
соединяющие их веса. Во время обучения эти веса функционируют в
обратном порядке, пропуская величину $$\delta$$ от
Когда значение $$\delta$$ получено, веса, питающие первый скрытый уровень, могут быть подкорректированы с помощью уравнений (5) и (6), где индексы модифицируются в соответствии со слоем.
(рис 4.4) Для каждого нейрона в данном скрытом слое должно быть вычислено $$\delta$$ и подстроены все веса, ассоциированные с этим слоем. Этот процесс повторяется слой за слоем по направлению к входу, пока все веса не будут подкорректированы.
С помощью векторных обозначений операция обратного распространения ошибки
может быть записана значительно компактнее. Обозначим множество величин $$\delta$$
Добавление
нейронного смещения. Во многих случаях желательно наделять каждый
нейрон обучаемым смещением. Это позволяет сдвигать начало отсчета
логистической функции, давая эффект, аналогичный
подстройке порога
Импульс. Существует метод
ускорения обучения для
где $$\alpha$$ — коэффициент импульса, который обычно устанавливается около 0,9.
Используя метод импульса, сеть стремится идти по дну "узких оврагов" поверхности ошибки (если таковые имеются), а не двигаться "от склона к склону". Этот метод, по-видимому, хорошо работает на некоторых задачах, но дает слабый или даже отрицательный эффект на других.
Существует сходный метод, основанный на экспоненциальном сглаживании, который может иметь преимущество в ряде приложений.
$$\Delta w_{pq,k}(n+1)=(1-\alpha)\delta_{q,k}OUT_{p,j}+\alpha\Delta w_{pq,k}(n).$$Затем вычисляется изменение веса
$$w_{pq,k}(n+1)=w_{pq,k}(n)+\eta\Delta w_{pq,k}(n+1),$$где $$\alpha$$ — коэффициент сглаживания, варьируемый в диапазоне
от 0,0
до 1,0. Если $$\alpha$$ равен 1,0, то новая коррекция игнорируется и
повторяется предыдущая. В области между 0 и 1 коррекция веса сглаживается
величиной, пропорциональной $$\alpha.$$ По-прежнему, $$\eta$$ является коэффициентом скорости обучения, служащим для
управления
Многими исследователями были предложены методы улучшения и
обобщения описанного выше основного
Метод ускорения
Метод улучшения характеристик обучения
С помощью таких простых средств время
Методика обратного распространения применима и к
Обратное распространение было применено в широкой сфере прикладных исследований. Некоторые из них описываются здесь, чтобы продемонстрировать богатые возможности этого метода.
Фирма NEC в Японии объявила недавно, что обратное распространение
было ею использовано для визуального распознавания букв, причем точность
превысила 99%. Это улучшение было достигнуто с помощью комбинации
обычных алгоритмов с
Достигнут впечатляющий успех с Net-Talk системой, которая превращает печатный английский текст в высококачественную речь. Магнитофонная запись процесса обучения сильно напоминает звуки голоса ребенка на разных этапах обучения речи.
Обратное распространение также использовалось в машинном распознавании
рукописных английских слов. Буквы, нормализованные по размеру,
наносились на сетку, и брались проекции линий, пересекающих квадраты
сетки. Эти проекции служили затем входами для
Обратное распространение успешно применяется при сжатии изображений, когда образы представляются одним битом на пиксель, что явилось восьмикратным улучшением по сравнению с входными данными.
Среди различных структур нейронных сетей (НС) одной из наиболее
известных является многослойная структура, в которой каждый нейрон
произвольного
слоя связан со всеми
Один из вариантов решения этой проблемы — разработка наборов выходных
сигналов, соответствующих входным, для каждого слоя НС, что, конечно,
является очень трудоемкой операцией и не всегда осуществимо. Второй
вариант — динамическая подстройка весовых коэффициентов
Сетевые конфигурации:
Нейрон. На рис. 4.1 показан нейрон, используемый в качестве основного
строительного блока в
(рис 4.1) Эта сумма, обозначаемая $$NET$$, должна быть вычислена для каждого
нейрона сети. После того, как величина $$NET$$ вычислена, она
модифицируется с помощью
Как показывает уравнение (1), эта функция, называемая сигмоидом, весьма удобна, так как имеет
простую производную, что используется
при реализации
Сигмоид, который иногда называется также логистической или сжимающей функцией, сужает диапазон изменения $$NET$$ так, что значение $$OUT$$ лежит между нулем и единицей. Как указывалось выше, многослойные нейронные сети обладают большей представляющей мощностью, чем однослойные, лишь в случае присутствия нелинейности. Сжимающая функция обеспечивает требуемую нелинейность.
В действительности имеется множество функций, которые могли бы быть
использованы. Для NET близка к нулю) кривая
вход-выход имеет сильный наклон, дающий большое усиление. Когда величина
сигнала становится больше, усиление падает. Таким образом, большие сигналы
воспринимаются сетью без насыщения, а слабые сигналы проходят по сети без
чрезмерного ослабления. Многослойная сеть. Рассмотрим иерархическую
сетевую структуру, в которой связанные между собой нейроны объединены в
несколько слоев (см. рис. 4.2). На возможность построения таких
архитектур указал еще Ф.Розенблатт, однако им не была решена проблема
обучения. Межнейронные синаптические связи сети устроены таким образом,
что каждый нейрон на данном уровне иерархии принимает и обрабатывает
сигналы от каждого нейрона более низкого уровня. Таким образом, в данной
сети имеется выделенное направление распространения нейроимпульсов — от
(рис 4.2) Традиционно рассматривается аналоговая логика, при которой допустимые
состояния синаптических связей определяются произвольными действительными
числами, а степени активности нейронов -
Мы рассмотрим классический вариант многослойной сети с аналоговыми
В литературе нет единого мнения относительно того, что именно считать числом слоев в таких сетях. Одни авторы используют число слоев нейронов (включая несуммирующий входной слой), другие — число слоев весов. Так как последнее определение - функционально описательное, то оно будет использовано и нами. Согласно этому определению, сеть на рис. 4.2 рассматривается как двухслойная. Нейрон объединен с множеством весов, присоединенных к его входу. Таким образом, веса первого слоя оканчиваются на нейронах первого слоя. Вход распределительного слоя считается нулевым слоем.
Обзор обучения. Целью обучения сети является такая подстройка ее весов, чтобы приложение некоторого множества входов приводило к требуемому множеству выходов. Для краткости эти множества входов и выходов будут называться векторами. При обучении предполагается, что для каждого входного вектора существует парный ему целевой вектор, задающий требуемый выход. Вместе они называются обучающей парой. Как правило, сеть обучается на многих парах. Например, входная часть обучающей пары может состоять из набора нулей и единиц, представляющего двоичный образ некоторой буквы алфавита. На рис. 4.3 показано множество входов для буквы "А", нанесенной на сетке. Если через квадрат проходит линия, то соответствующий нейронный вход равен единице, в противном случае он равен нулю. Выход может быть числом, представляющим букву "А", или другим набором из нулей и единиц, который может быть использован для получения выходного образа. При необходимости распознавать с помощью сети все буквы латинского алфавита, потребовалось бы 26 обучающих пар. Такая группа обучающих пар называется обучающим множеством.
(рис 4.3) Перед началом обучения всем весам должны быть присвоены небольшие начальные значения, выбранные случайным образом. Это гарантирует, что в сети не произойдет насыщения большими значениями весов, и предотвращает ряд других некорректных случаев. Например, если всем весам придать одинаковые начальные значения, а для требуемого функционирования нужны неравные значения, то сеть не сможет обучиться.
Обучение
Операции, выполняемые шагами 1 и 2, сходны с теми, которые выполняются при функционировании уже обученной сети, — подается входной вектор и вычисляется получающийся выход. Вычисления выполняются послойно. На рис. 4.2 сначала вычисляются выходы нейронов слоя $$j$$, затем они используются в качестве входов слоя $$k$$, после чего вычисляются выходы нейронов слоя $$k$$, которые и образуют выходной вектор сети.
На шаге 3 каждый из выходов сети, которые на рис. 4.2 обозначены $$OUT$$, вычитается из соответствующей компоненты целевого вектора, чтобы получить значение ошибки. Эта ошибка используется на шаге 4 для коррекции весов сети, причем знак и величина изменений весов определяются алгоритмом обучения (см. ниже).
После достаточного числа повторений этих четырех шагов разность между действительными и целевыми выходами должна уменьшиться до приемлемой величины: при этом говорят, что сеть обучилась. Теперь сеть используется для распознавания, и веса не изменяются.
На шаги 1 и 2 можно смотреть как на "проход вперед", так как сигнал распространяется по сети от входа к выходу. Шаги 3, 4 составляют "обратный проход", здесь вычисляемый сигнал ошибки распространяется обратно по сети и используется для подстройки весов. Эти два прохода теперь будут детализированы и записаны как математические выражения.
Проход вперед. Шаги 1 и 2 могут быть выражены в векторной форме следующим образом: подается входной вектор $$X$$ и на выходе получается вектор $$Y.$$ Векторная пара вход — цель $$X$$ и $$Y$$ берется из обучающего множества. Вычисления проводятся над вектором $$X$$, чтобы получить выходной вектор $$Y.$$
Как мы видели, вычисления в многослойных сетях выполняются слой за слоем, начиная с ближайшего к входу. Величина $$NET$$ каждого нейрона первого слоя вычисляется как взвешенная сумма входов нейрона. Затем активационная функция $$F$$ "сжимает" $$NET$$ и дает величину $$OUT$$ для каждого нейрона в этом слое. Когда множество выходов слоя получено, оно является входным множеством для следующего слоя. Процесс повторяется слой за слоем, пока не будет получено заключительное множество выходов сети.
Этот процесс может быть выражен в сжатой форме с помощью векторной нотации. Веса между нейронами будем рассматривать как матрицу $$W.$$ Например, вес от нейрона 8 в слое 2 к нейрону 5 слоя 3 обозначается $$w_{8,5}.$$ Тогда $$NET$$ -вектор слоя $$N$$ может быть выражен не как сумма произведений, а как произведение $$X$$ и $$W.$$ В векторном обозначении $$N = XW.$$ Покомпонентным применением функции $$F$$ к $$NET$$ -вектору $$N$$ получаем выходной вектор $$О.$$ Таким образом, для данного слоя вычислительный процесс описывается следующим выражением:
$$O=F(XW).$$Выходной вектор одного слоя является входным вектором для следующего, поэтому вычисление выходов последнего слоя требует применения уравнения (3) к каждому слою от входа сети к ее выходу.
Обратный проход. Подстройка весов выходного слоя. Так
как для каждого нейрона
Рассмотрим процесс обучения для одного веса от нейрона $$p$$ в скрытом слое $$j$$ к нейрону $$q$$ в выходном слое $$k.$$ Выход нейрона слоя $$k$$, вычитаемый из целевого значения (Target), дает сигнал ошибки. Он умножается на производную сжимающей функции $$[OUT(1 - OUT)]$$, вычисленную для этого нейрона слоя $$k$$, давая, таким образом, величину $$\delta.$$
$$\delta=OUT (1-OUT)(Target-OUT).$$Затем $$\delta$$ умножается на величину $$OUT$$ нейрона $$j$$, из которого выходит рассматриваемый вес. Это произведение, в свою очередь, умножается на коэффициент скорости обучения $$\eta$$ (обычно от 0,01 до 1,0), и результат прибавляется к весу. Такая же процедура выполняется для каждого веса от нейрона скрытого слоя к нейрону в выходном слое.
Следующие уравнения иллюстрируют это вычисление:
$$\Delta w_{pq,k}=\eta \delta_{q,k}OUT_{pj},$$ $$w_{pq,k}(n+1)=w_{pq,k}(n)+\Delta w_{pq,k},$$где $$w_{pq,k}(n)$$ — величина веса от нейрона $$p$$ в скрытом слое $$k$$ к нейрону $$q$$ в выходном слое на шаге $$n$$ (до коррекции); отметим, что индекс $$k$$ относится к слою, в котором заканчивается данный вес (т. е. к слою, с которым он объединен); $$w_{pq,k}(n+1)$$ — величина веса на шаге $$n + 1$$ (после коррекции); $$\delta_{q,k}$$ — величина $$\delta$$ для нейрона $$q$$, в выходном слое $$k$$ ; $$OUT_{p,j}$$ — величина $$OUT$$ для нейрона $$p$$ в скрытом слое $$j.$$
Подстройка весов
скрытого слоя. Рассмотрим один нейрон в
скрытом слое, предшествующем выходному слою. При проходе вперед этот
нейрон передает свой выходной сигнал нейронам в выходном слое через
соединяющие их веса. Во время обучения эти веса функционируют в
обратном порядке, пропуская величину $$\delta$$ от
Когда значение $$\delta$$ получено, веса, питающие первый скрытый уровень, могут быть подкорректированы с помощью уравнений (5) и (6), где индексы модифицируются в соответствии со слоем.
(рис 4.4) Для каждого нейрона в данном скрытом слое должно быть вычислено $$\delta$$ и подстроены все веса, ассоциированные с этим слоем. Этот процесс повторяется слой за слоем по направлению к входу, пока все веса не будут подкорректированы.
С помощью векторных обозначений операция обратного распространения ошибки
может быть записана значительно компактнее. Обозначим множество величин $$\delta$$
Добавление
нейронного смещения. Во многих случаях желательно наделять каждый
нейрон обучаемым смещением. Это позволяет сдвигать начало отсчета
логистической функции, давая эффект, аналогичный
подстройке порога
Импульс. Существует метод
ускорения обучения для
где $$\alpha$$ — коэффициент импульса, который обычно устанавливается около 0,9.
Используя метод импульса, сеть стремится идти по дну "узких оврагов" поверхности ошибки (если таковые имеются), а не двигаться "от склона к склону". Этот метод, по-видимому, хорошо работает на некоторых задачах, но дает слабый или даже отрицательный эффект на других.
Существует сходный метод, основанный на экспоненциальном сглаживании, который может иметь преимущество в ряде приложений.
$$\Delta w_{pq,k}(n+1)=(1-\alpha)\delta_{q,k}OUT_{p,j}+\alpha\Delta w_{pq,k}(n).$$Затем вычисляется изменение веса
$$w_{pq,k}(n+1)=w_{pq,k}(n)+\eta\Delta w_{pq,k}(n+1),$$где $$\alpha$$ — коэффициент сглаживания, варьируемый в диапазоне
от 0,0
до 1,0. Если $$\alpha$$ равен 1,0, то новая коррекция игнорируется и
повторяется предыдущая. В области между 0 и 1 коррекция веса сглаживается
величиной, пропорциональной $$\alpha.$$ По-прежнему, $$\eta$$ является коэффициентом скорости обучения, служащим для
управления
Многими исследователями были предложены методы улучшения и
обобщения описанного выше основного
Метод ускорения
Метод улучшения характеристик обучения
С помощью таких простых средств время
Методика обратного распространения применима и к
Обратное распространение было применено в широкой сфере прикладных исследований. Некоторые из них описываются здесь, чтобы продемонстрировать богатые возможности этого метода.
Фирма NEC в Японии объявила недавно, что обратное распространение
было ею использовано для визуального распознавания букв, причем точность
превысила 99%. Это улучшение было достигнуто с помощью комбинации
обычных алгоритмов с
Достигнут впечатляющий успех с Net-Talk системой, которая превращает печатный английский текст в высококачественную речь. Магнитофонная запись процесса обучения сильно напоминает звуки голоса ребенка на разных этапах обучения речи.
Обратное распространение также использовалось в машинном распознавании
рукописных английских слов. Буквы, нормализованные по размеру,
наносились на сетку, и брались проекции линий, пересекающих квадраты
сетки. Эти проекции служили затем входами для
Обратное распространение успешно применяется при сжатии изображений, когда образы представляются одним битом на пиксель, что явилось восьмикратным улучшением по сравнению с входными данными.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.