Нейронные сети прямого распространения (FNN): принцип работы, обучение с обратным распространением ошибки, история развития и применение в машинном обучении.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Одна из двух основных типов искусственных нейронных сетей.
One of two broad types of artificial neural network
Передовая нейронная сеть (FNN) – это один из двух основных типов искусственных нейронных сетей, характеризующийся направлением потока информации между слоями. Этот поток однонаправленный, то есть информация в модели движется только в одном направлении – вперед – от входных узлов, через скрытые узлы (при наличии) и к выходным узлам, без каких-либо циклов или петель, которые обеспечивают двунаправленный поток. Современные передовые сети обучаются с использованием метода обратного распространения ошибки и в разговорной речи часто называются "классическими" нейронными сетями.
A feedforward neural network (FNN) is one of the two broad types of artificial neural network, characterized by direction of the flow of information between its layers. Its flow is uni directional, meaning that the information in the model flows in only one direction—forward—from the input nodes, through the hidden nodes (if any) and to the output nodes, without any cycles or loops, which have a bi directional flow. Modern feedforward networks are trained using the backpropagation method and are colloquially referred to as the "vanilla" neural networks.
Хронология
В 1958 году Фрэнк Розенблатт в своей книге Perceptron представил слоистую сеть перцептронов, состоящую из входного слоя, скрытого слоя со случайными весами, которые не обучались, и выходного слоя с обучаемыми связями. Ученик Амари, Сайто, проводил компьютерные эксперименты с этой экстремальной обучающей машиной, используя пятислойную сеть прямого распространения с двумя обучающимися слоями. В 1970 году финский исследователь Сеппо Линнайнма впервые опубликовал современный метод обратного распространения ошибки – эффективное применение обучения с учителем, основанное на правиле цепочки, однако он не знал, как его реализовать.
In 1958, a layered network of perceptrons, consisting of an input layer, a hidden layer with randomized weights that did not learn, and an output layer with learning connections, was introduced already by Frank Rosenblatt in his book Perceptron. This extreme learning machine Amari's student Saito conducted the computer experiments, using a five layered feedforward network with two learning layers. In 1970, modern backpropagation method, an efficient application of a chain rule based supervised learning, was for the first time published by the Finnish researcher Seppo Linnainmaa. but he did not know how to implement it,
В 1990-х годах Владимир Вапник и его коллеги разработали (значительно более простой) альтернативный подход к использованию нейронных сетей, хотя и связанный с ними – метод опорных векторов. Помимо выполнения линейной классификации, они смогли эффективно выполнять нелинейную классификацию, используя так называемый «трюк с ядром» и пространства признаков высокой размерности. В 2003 году интерес к сетям обратного распространения возродился благодаря успехам глубокого обучения в области языкового моделирования, достигнутым Йошуа Бенгио и его соавторами. В 2017 году были представлены современные архитектуры трансформеров.
In 1990s, an (much simpler) alternative to using neural networks, although still related support vector machine approach was developed by Vladimir Vapnik and his colleagues. In addition to performing linear classification, they were able to efficiently perform a non linear classification using what is called the kernel trick, using high dimensional feature spaces. In 2003, interest in backpropagation networks returned due to the successes of deep learning being applied to language modelling by Yoshua Bengio with co authors. In 2017, modern transformer architectures were introduced.
Линейная нейронная сеть
Самый простой тип прямой сети (feedforward neural network) — это линейная сеть, состоящая из одного слоя выходных узлов; входные данные подаются непосредственно на выходы через ряд весов. В каждом узле вычисляется сумма произведений весов на входные данные. Среднеквадратичная ошибка между этими вычисленными выходами и заданными целевыми значениями минимизируется путем корректировки весов. Этот метод известен более двух столетий как метод наименьших квадратов или линейная регрессия. Он использовался Лежандром (1805) и Гауссом (1795) для нахождения приближенного линейного соответствия набору точек и прогнозирования движения планет.
The simplest kind of feedforward neural network is a linear network, which consists of a single layer of output nodes; the inputs are fed directly to the outputs via a series of weights. The sum of the products of the weights and the inputs is calculated in each node. The mean squared errors between these calculated outputs and a given target values are minimized by creating an adjustment to the weights. This technique has been known for over two centuries as the method of least squares or linear regression. It was used as a means of finding a good rough linear fit to a set of points by Legendre (1805) and Gauss (1795) for the prediction of planetary movement.
Перцептрон
Если используется пороговая функция, то есть линейная функция активации, то результирующая линейная пороговая единица называется перцептроном. (Часто этот термин используется для обозначения одной такой единицы.) Множество параллельных линейных единиц способно аппроксимировать любую непрерывную функцию, отображающую компактный интервал действительных чисел в интервал [−1, 1], несмотря на ограниченную вычислительную мощность отдельной единицы с линейной пороговой функцией. Этот результат можно найти в работе Питера Ауэра, Харальда Бургштейнера и Вольфганга Маасса «Правило обучения для очень простых универсальных аппроксиматоров, состоящих из одного слоя перцептронов». Перцептроны можно обучать с помощью простого алгоритма обучения, обычно называемого дельта-правилом. Он вычисляет разницу между полученным выходным значением и выходными данными из обучающей выборки и использует эту разницу для корректировки весов, тем самым реализуя форму градиентного спуска.
If using a threshold, i. e. a linear activation function, the resulting linear threshold unit is called a perceptron. (Often the term is used to denote just one of these units.) Multiple parallel linear units are able to approximate any continuous function from a compact interval of the real numbers into the interval [−1,1] despite the limited computational power of single unit with a linear threshold function. This result can be found in Peter Auer, Harald Burgsteiner and Wolfgang Maass "A learning rule for very simple universal approximators consisting of a single layer of perceptrons". Perceptrons can be trained by a simple learning algorithm that is usually called the delta rule. It calculates the errors between calculated output and sample output data, and uses this to create an adjustment to the weights, thus implementing a form of gradient descent.
Многослойный перцептрон
Многослойный перцептрон (MLP) – это неточное название современной прямой нейронной сети, состоящей из полностью связанных нейронов (отсюда также используемый синоним – полностью связанная сеть (FCN)), часто с нелинейной функцией активации, организованной как минимум в три слоя и способной различать данные, которые не могут быть разделены линейно.
A multilayer perceptron (MLP) is a misnomer for a modern feedforward artificial neural network, consisting of fully connected neurons (hence the synonym sometimes used of fully connected network (FCN)), often with a nonlinear kind of activation function, organized in at least three layers, notable for being able to distinguish data that is not linearly separable.
Другие сети передачи данных
Примеры других сетей прямого распространения включают в себя свёрточные нейронные сети и сети радиальных базисных функций, которые используют иную функцию активации.
Examples of other feedforward networks include convolutional neural networks and radial basis function networks, which use a different activation function.