От 50-х годов перцепттроны до причудливых вещей мы делаем сегодня

author
4 minutes, 17 seconds Read

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

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

Перцептроны: 40-е годы, 50-е и 60-е годы

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

Данные входные значения, веса и предвзятость, оно создает вывод, который либо 0, либо 1. Соответствующие значения могут быть обнаружены для весов и смещения, которые делают входную работу NAND. Но по причинам всеобъемлющих в статье Ала, для входа в XOR, вы требуете гораздо больше слоев перцептплонов.

В известной статье 1969 года под названием «Перцептроны», Минский и папрт отметили разные условия, при которых Перцептроны не могли предоставлять предпочтительные услуги для определенных проблем. Тем не менее, условия, которые они объяснили, использовали только для использования одного слоя перцептронов. В то время это понято и даже обсуждалось в статье, что, добавляя гораздо больше слоев перцепттра между входами и выходом, называемыми скрытыми слоями, могут быть решены многочисленные те проблемы, в том числе XOR, могут быть решены.

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

Отзывы и сигмоидные нейроны: 80-х

В 1986 году нейронные сети были восстановлены до популярности другого известного бумаги, называемого «изучения внутренних представлений по распространению ошибок» Давида Руммельхарта, Джеффри Хинтон и Р.Ю. Уильямс. В этой статье они опубликовали результаты многочисленных экспериментов, которые имели дело с проблемами Мински, о котором говорилось о однослойных сетянах PercePtron, вырезая многочисленные исследователи в действие.

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

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

И вот, ушел, был тип неврона перцепттра, выпуск которого был линейным, чтобы заменяться нелинейным сигмоидным нейроном, все еще используемым в многочисленных сетях сегодня. Тем не менее, термин многослойной PercePtron (MLP) часто используется сегодня для обозначения не в сети, включая обсуждаемые выше PercePtrons, но к многослойной сети, в которой мы говорим в этом разделе, с ней нелинейных нейронов, таких как сигмоид. Стон, мы знаем.

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

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

Согласование и объединение

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

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

Это 2D-аранжировка прилагает много при попытке обнаружения функций в изображениях, хотя их использование не ограничено изображений. Особенности в картинках занимают пиксели в 2D пространстве, такие как разные части буквы «A» в The diagram. You can see that one of the convolutional neurons is linked to a 3×3 subset of input neurons that contain a white vertical function down the middle, one leg of the ‘A’, in addition to a shorter horizontal function across the top on the правильно. When training on various images, that neuron may become trained to terminate strongest when shown features like that.

But that function may be an outlier case, not fitting well with most of the pictures the neural network would encounter. having a neuron dedicated to an outlier case such as this is called overfitting. One service is to add a pooling layer (see the diagram). The pooling layer pools together several neurons into one neuron. In our diagram, each 2×2 matrix in the convolutional layer is represented by one aspect in the pooling layer. but what value goes in the pooling element?

In our example, of the 4 neurons in the convolutional layer that correspond to that pooling element, two of them have discovered features of white vertical segments with some white across the top. but one of them encounters this function much more often. When that a person encounters a vertical section and fires, it will have a higher value than the other. So we put that higher value in the corresponding pooling element. This is called max pooling, because we take the maximum value of the 4 possible values.

Notice that the pooling layer also reduces the size of the data flowing through the network without losing information, and so it speeds up computation. Max pooling was introduced in 1992 and has been a big part of the success of numerous neural networks.

Going Deep

Deep neural networks and ReLU
A deep neural network is one that has numerous layers. As our own Will Sweatman pointed out in his recent neural networking article, going deep enables for layers nearer to the inputs to discover simple features, just like our white vertical segment, but layers deeper in will combine these features into much more and much more complex shapes, until we arrive at neurons that represent entire objects. In our example when we show it an picture of a car, neurons that match the features in the car terminate strongly, up until lastly the “car” output neuron spits out a 99.2% confidence that we showed it a car.

Many advancements have contributed to the present success of deep neural networks. a few of those are:

the introduction starting in 2010 of the ReLU (Rectified Linear Unit) as an alternative activation function to the sigmoid. See the diagram for ReLU details. The utilize of ReLUs considerably sped up training. disallowing other issues, the much more training you do, the better the results you get. Speeding up training enables you to do more.

the utilize of GPUs (Graphics Processing Units). starting in 2004 and being used to convolutional neural networks in 2006, GPUs were put to utilize doing the matrix multiplication included when multiplying neuron firing values by weight values. This as well speeds up training.

the utilize of convolutional neural networks and other method to reduce the number of connections as you go deeper. Again, this too speeds up training.

the availability of big training datasets with tens and numerous countless data items. among other things, this assists with overfitting (discussed above).

Inception v3 architecture
Deep dream hexacopter
To provide you some concept of just exactly how complex these deep neural networks can get, shown right here is Google’s Inception v3 neural network written in their TensorFlow framework. The very first version of this was the one accountable for Google’s psychedelic deep dreaming. If you look at the legend in the diagram you’ll see some things we’ve discussed, in addition to a few new ones that have made a considerable contribution to the success of neural networks.

The example shown right here started out as a picture of a hexacopter in flight with trees in the background. It was then submitted to the deep dream generator website, which created the picture shown here. Interestingly, it replaced the propellers with birds.

By 2011, convolutional neural networks with max pooling, and running on GPUs had accomplished better-than-human visual pattern recognition on web traffic indications with a recognition rate of 98.98%.

Processing and creating Sequences – LSTMs

The long short Term Memory (LSTM) neural network is a very effective type of Recurrent Neural Networks (RNN). It’s been around since 1995 but has undergone numerous enhancements over the years. These are the networks accountable for the incredible developments in speech recognition, creating captions for images, creating speech and music, and more. While the networks we talked about above were great for seeing a pattern in a fixed size piece of data such as an image, LSTMs are for pattern recognition in a sequence of data or for creating sequences of data. Hence, they do speech recognition, or create sentences.

LSTM neural network and example
Thэй, как правило, изображено в виде ячейки, включая различные типы слоев и математических операций. Обратите внимание, что на диаграмме ячейка указывает на себя, таким образом, название рекуррентной нейронной сети. Это потому, что когда приходит ввод, ячейка создает вывод, но и информация, которая передается в следующий раз ввода. Еще один способ изображения его представляет собой то же самое клетку, но в разных точках во времени – несколько ячеек со стрелками, показывающими поток данных между ними, являются действительно той же той же клеткой с передачей данных, обратно в него. На диаграмме пример – это тот, где мы даем клетку энкодера последовательности слов, по одному за раз, результат в конечном итоге идет к «вектору мыслей». Затем векторы затем питаются ячейкой декодера, которая выводит подходящий ответ, одно слово за раз. Примером имеет функцию Google Wise Reply.

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

Генерация фотографий с Gans

Генеративная состязательная сеть
Возможно, самый последний дизайн нейронной сети, который обеспечивает причудливые результаты, являются действительно двумя сетями, содержащими друг с другом, генеративные состязательные сети (GANS), созданные в 2014 году. Термин, генеративный, подразумевает, что лицевая сеть производит данные (изображения, музыка, речь, речь, ) Это похоже на данные, которые он обучен. Эта генераторная сеть – это сверточная нейронная сеть. Другая сеть называется дискриминатором и обучается, чтобы сказать, является ли картина подлинной или генерируется. Генератор становится все лучше, чтобы обмануть дискриминатор, в то время как дискриминатор становится лучше одурачиваться. Эта состязательная конкуренция создает лучшие результаты, чем имея только генератор.

Partgan’s Bird с текстом
В конце 2016 года одна группа улучшилась на этом еще больше, используя два штабелированных геса. Предоставляло текстовое описание предпочтительного изображения, этап-я GAN создает изображение с низким разрешением, не хватает некоторые детали (например, клюв и глаза на птиц). Эта картина и текстовое описание затем передаются на GAN Stage-II, которые дополнительно усиливают изображение, включая добавление недостающих данных, а также в результате более высокого разрешения, фотореалистичного изображения.

Заключение

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

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *