rzeczy się sprażają. Kilka lat temu Google pokazał nam, że sny sieci neuronowych są rzeczy z koszmarów, ale znacznie bardziej ostatnio widzieliśmy ich wykorzystywane do świadczenia ruchów postaci gier, które są nierozróżnialne od ludzi, do wytwarzania zdjęć fotorealistycznych pod warunkiem tylko tekstu Opisy, do oferowania wizji samochodów do samodzielnego napędowego i o wiele więcej.
Bycie w stanie to zrobić to dobrze, a czasami lepiej niż ludzie, jest niedawnym rozwojem. Produkcja zdjęć fotorealistycznych jest tylko kilka miesięcy. Dokładnie jak to wszystko przyszło?
Perceptrony: 40s, 50s i 60.
Perceptron.
Zaczynamy w połowie XX wieku. Jeden wybitny rodzaj wczesnej sieci neuronowej w czasie próbowała naśladować neurony w mózgach biologicznych wykorzystujących syntetyczny neuron zwany perceptronem. Szczegółowo obejmowaliśmy już Perceptrony w serii artykułów przez Al Williams, ale krótko, łatwy wygląda, jak pokazano na diagramie.
Biorąc pod uwagę wartości wejściowe, wagi i stronnicze, tworzy wyjście, które jest albo 0 lub 1. Odpowiednie wartości można odkryć dla ciężarów i stronniczości, które wykonują pracę wejściową NID. Ale z powodów kompleksowych w artykule AL, na wejście do XORE Wymaganie znacznie więcej warstw Perceptronów.
W znanym papierze 1969 o nazwie “Perceptrons”, Minsky i Papert wskazywały różne warunki, w których Perceptrony nie mogły dostarczyć preferowanych usług dla pewnych problemów. Jednak warunki, które wyjaśnili, używane tylko do wykorzystania jednej warstwy perceptronów. Rozumie się w tym czasie, a nawet omówiono w artykule, że dodając znacznie więcej warstw perceptron między wejściami a wyjściem, zwanym ukrytymi warstwami, liczne z tych problemów, w tym XOR, mogą zostać rozwiązane.
Pomimo tej metody wokół problemu ich papier zniechęcił licznych badaczy, a badanie badawcze sieci neuronowej zniknął do tła przez dekadę.
Backpropagagation and Sigmoid Neurons: The 80s
W 1986 r. Sieci neuronowi zostały przywrócone na popularność przez inny znany papier o nazwie “Uczenie się przedstawień wnętrz przez propagację błędów” David Rummelhart, Geoffrey Hinton i R.j. Williams. W tym dokumencie opublikowali wyniki licznych eksperymentów, które zajmowały się zagadnieniami Minsky, o których mówił o sieciach jednowarstwowych Perceptron, pobudzając wielu badaczy z powrotem do działania.
Ponadto, zgodnie z Hintonem, nadal niezbędną postacią w dziedzinie sieci neuronowych, Rummelhart ponownie odkrył skuteczny algorytm do szkolenia sieci neuronowych. Zawierał propagowanie z tyłu z wyjść do wejść, ustawiając wartości dla wszystkich tych ciężarów wykorzystujących coś zwanego regułą delta.
W pełni powiązana sieć neuronowa i sigmoid
Zestaw obliczeń do ustawiania wyjścia do 0 lub 1 pokazanego na schemacie PERCEPTRON jest nazywany funkcją aktywacji Neuron. Jednak dla algorytmu Rummelharta funkcja aktywacji musiała być jedną, dla której istnieje pochodna, a dla tego wybrali, aby wykorzystać funkcję sigmoidalną (patrz diagram).
I tak, minęło Rodzaj neuronu PercepTron, którego produkcja była liniowa, która ma zostać zastąpiona przez neuron sigmoidalny nieliniowy, nadal wykorzystywany w wielu sieciach dzisiaj. Jednak termin wielowarstwowy Perceptron (MLP) jest często wykorzystywany, aby odnosić się do sieci, w tym Perceptronów omówionych powyżej, ale do sieci wielowarstwowej, o której mówimy w tej sekcji z neuronami nieliniowymi, jak Sigmoid. Jęk, wiemy.
Ponadto, aby programowanie łatwiejsze, stronniczość była własna neuron, zazwyczaj z wartością jednego i z własnymi ciężarami. Ta metoda jego wagi, a zatem pośrednio jego wartość, może być przeszkolona wraz z wszystkimi innymi ciężacjami.
I tak do końca lat 80. sieci neuronowe podjęły ich teraz znany kształt, a skuteczny algorytm istniał do ich szkolenia.
Zwojający i łączący
W 1979 roku sieć neuronowa zwana Neocognitron wprowadziła koncepcję warstw konwluntowych, aw 1989 r. Algorytm backpropagation został dostosowany do szkolenia tych warstw konwluntowych.
Rozwiązywane sieci neuronowe i łączenie
Jak wygląda warstwa nawrócenia? W sieciach rozmawialiśmy powyżej, każdy wejście Neuron ma połączenie z każdym ukrytym neuronem. Warstwy takie są nazywane całkowicie połączonymi warstwami. Ale z warstwą konwluntowej każdy neuron w warstwie konwluntowej łączy się tylko do podzbioru neuronów wejściowych. a te podzbiory zazwyczaj nakrywają się zarówno poziomo, jak i pionowo. Na schemacie każdy neuron w warstwie konwolutionej jest połączona z matrycą 3 × 3 neuronów wejściowych, oznaczonych kolorami dla jasności, a te macierze nakładają się po drugiej.
Ten układ 2D pomaga świetną ofertą podczas próby odkrywania funkcji w obrazach, choć ich wykorzystanie nie jest ograniczone do obrazów. Cechy na zdjęciach zajmują piksele w przestrzeni 2D, jak różne części litery “A” w 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 prawidłowy. 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.
Iść głębiej
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.Generalnie przedstawiono jako komórkę, w tym różne rodzaje warstw i operacji matematycznych. Zauważ, że na diagramie pojawia się komórka, a więc nazwa nawracająca sieć neuralna. To dlatego, że przybywa wejście, komórka tworzy wyjście, ale także informacje, które są przekazywane na następne wejście wejściowe. Inną metodą przedstawiania go jest pokazując dokładną cerę, ale w różnych punktach w czasie – kilka komórek ze strzałkami pokazującymi przepływ danych między nimi są naprawdę dokładną dokładną celem z przesyłaniem danych z powrotem do niego. Na diagramie jest przykładem, w którym dajemy komórek enkodera sekwencję słów, po jednym na raz, wynik ostatecznie udał się do “myśli”. Ten wektor podaje następnie komórkę dekodera, która wytwarza odpowiednią odpowiedź, jedno słowo na raz. Przykład ma funkcję Mądra odpowiedzi Google.
LSTMS można jednak wykorzystywać do analizowania zdjęć statycznych oraz z przewagą w stosunku do innych rodzajów sieci, które do tej pory widzieliśmy. Jeśli spojrzysz na obraz statyczny, w tym piłkę plażową, jesteś znacznie bardziej prawdopodobny, aby wybrać to piłkę plażową, a nie w piłce koszykową, jeśli widzisz zdjęcie jako tylko jedną ramkę wideo o plaży impreza. LSTM widział wszystkie ramy świętowania plażowego prowadzącego aż do obecnej ramy piłki plażowej i wykorzystać to, co jest wcześniej widziane, aby dokonać oceny o rodzaju piłki.
Generowanie zdjęć z Ganami
Generatywna sieć przeciwpożarowa
Być może najnowszą projektowaniem sieci neuronowej, który zapewnia dziwaczne wyniki, są prawdziwie dwoma sieciami w stosunku do siebie, generatywnych sieciach adversarialnych (GANS), utworzonych w 2014 r. Termin, generatywnie, sugeruje, że sieć osoba produkuje dane (obrazy, muzyka, mowa ) To podobne do danych, na których jest przeszkolony. Ta sieć generatorów jest konwluntą neuronową siecią. Druga sieć nazywana jest dyskryminatorem i jest szkolona, aby określić, czy obraz jest autentyczny lub generowany. Generator jest lepszy przy oszukaniu dyskryminatora, podczas gdy dyskryminator jest lepszy, nie jest oszukany. Ta konkurencja przeciwpożarowa stwarza lepsze wyniki niż tylko generator.
Ptak Stackgan z tekstem
Pod koniec 2016 r. Jedna grupa poprawiła się na tym jeszcze bardziej poprzez wykorzystanie dwóch ułożonych ganów. Dostarczył opis preferowanego obrazu, scena-i GAN tworzy obraz niskiej rozdzielczości, brakuje jej szczegółów (np. Belfer i oczy na ptaki). Ten obraz i opis tekstowy są następnie przekazywane do gana Stage-II, który bardziej poprawia obraz, w tym dodając brakujące szczegóły, a wynikają z wyższej rozdzielczości, fotorealistycznego obrazu.
Wniosek
I jest liczne znacznie bardziej dziwaczne wyniki objawione co tydzień. Badanie badań sieci neuronowych znajduje się w miejscu, w którym, podobnie jak badania naukowe, tak wiele jest zrobione, że trudno jest nadążyć. Jeśli jesteś świadomy innych fascynujących zmian, których nie obejmowałem, proszę zrozumieć w poniższych komentarzach.