reklama
reklama
reklama
reklama
reklama
reklama
reklama
© enruta dreamstime.com Technologie | 09 stycznia 2018

Pierwszy uniwersalny standard Neural Network Exchange Format (NNEF) 1.0 dla sieci neuronowej

Khronos Group ogłasza wydanie pierwszego standardu NNEF 1.0 dla sieci neuronowych
Splotowe sieci neuronowe (Convolutional Neural Networks - CNN) są cały czas bardzo kosztowne do zastosowań obliczeniowych, dlatego wielu producentów intensywnie pracuje nad mobilnymi i wbudowanymi układami, które dzięki swojej architekturze przyspieszą wnioskowanie w naturalnych sieciach neuronowych. Ta różnorodność jest świetna do wspierania innowacji, ponieważ różne podejścia przyjęte przez różne struktury umożliwiają dostęp do bardzo szerokiego zakresu możliwości. Wadą tego jest to, że wszystkie te struktury rozwijają się w różnym tempie, bez powszechnego sposobu reprezentowania struktur sieciowych, stosowanych typów danych lub wag w przypadku przeszkolonej sieci. W rzeczywistości nie ma zgody co do tego, jak dane treningowe powinny wyglądać, ani jak są reprezentowane, nawet w podobnych domenach problemów. W wyniku tak szybkiego postępu i braku standardów rynek wbudowanego przetwarzania jest zagrożony wieloma podziałami, które tworzą bariery dla programistów chcących dostosować i przyspieszyć mechanizmy wnioskowania dla wielu platform systemowych. Organizacja Khronos Group, która tworzy otwarte konsorcjum z ponad 100 wiodących firm zajmujących się technologiami wsparcia graficznego, przewidziała tę potrzebę przemysłu. Po rocznej pracy ogłosiła wydanie pierwszego uniwersalnego standardu Neural Network Exchange Format (NNEF) 1.0 dla sieci neuronowej, który będzie działał jako odpowiednik funkcji gęstości prawdopodobieństwa dla sieci neuronowych.


Rysunek 1. Firmy zaangażowane w standard NNEF

Tymczasowa specyfikacja stworzona została do uniwersalnej wymiany wyszkolonych sieci neuronowych pomiędzy strukturami szkoleniowymi (training frameworks) a silnikami wnioskowania. NNEF redukuje fragmentację wdrażania uczenia maszynowego, umożliwiając korzystanie z bogatej gamy narzędzi szkoleniowych i silników wnioskowania wykorzystywanych przez aplikacje na różnorodnych urządzeniach i platformach. Wydanie NNEF 1.0 jako tymczasowej specyfikacji umożliwia wykorzystanie informacji zwrotnych z branży przed powstaniem finalnej wersji.

Obecnie większość narzędzi sieci neuronowych i silników wnioskowania używa zastrzeżonych formatów do opisania wyszkolonych parametrów sieci, co sprawia, że konieczne jest skonstruowanie wielu własnych interfejsów do importowania i eksportowania tak, aby umożliwić wyszkolonej sieci działanie w wielu silnikach wnioskowania.


Rysunek 2. Porównanie obecnej struktury i NNEF

Celem NNEF jest umożliwienie naukowcom i inżynierom przeniesienia w łatwy sposób przeszkolonych sieci z wybranych struktur szkoleniowych do szerokiej gamy silników wnioskowania. Stabilny, elastyczny i rozszerzalny standard, na którym mogą polegać producenci sprzętu, ma kluczowe znaczenie dla powszechnego wdrażania sieci neuronowych na urządzeniach brzegowych. Tymczasowy standard NNEF zawiera zatem pełny opis struktury, operacji i parametrów wyszkolonej sieci neuronowej, niezależnie od narzędzia szkoleniowego użytego do jej stworzenia i silnika wnioskowania użytego do jej wykonania.

NNEF został zaprojektowany w taki sposób, aby był niezawodnie eksportowany i importowany za pomocą narzędzi i silników, takich jak Torch, Caffe, TensorFlow, Theano, Chainer, Caffe2, PyTorch i MXNet. Wstępna specyfikacja NNEF 1.0 obejmuje szeroki zakres przypadków użycia i typów sieci z bogatym zestawem funkcji oraz skalowalną konstrukcją, która zapożyczyła elementy składni z języka programowania Python. NNEF zawiera definicję niestandardowych operacji złożonych, które oferują możliwości dla zaawansowanych optymalizacji sieci. Przyszłe prace będą opierać się na tej architekturze w przewidywalny sposób, tak aby NNEF śledził szybko zmieniającą się dziedzinę uczenia maszynowego, zapewniając jednocześnie stabilną platformę do wdrożenia.


Rysunek 3. Struktura plików NNEF

Khronos zainicjował szereg projektów typu open-source, w tym NNEF syntax parser/validator czy TensorFlow i z zadowoleniem przyjmuje nowych partnerów do społeczności związanej z uczeniem maszynowym, aby uczynić NNEF przydatnym w ich własnych opracowaniach.


Rysunek 4. Struktura projektów typu open-source w połączeniu z plikami NNEF

Ponadto NNEF ściśle współpracuje z grupą roboczą Khronos OpenVX, aby umożliwić przyjmowanie plików NNEF. Wydane w zeszłym roku rozszerzenie OpenVX 1.2 umożliwia działanie jako wieloplatformowy mechanizm wnioskowania, łącząc przetwarzanie obrazu z operacjami głębokiego uczenia na jednym diagramie.
NNEF to uniwersalny standard, na którym oparty będzie cały ekosystem sieci neuronowych. Dzięki niemu naukowcy będą mogli wykorzystać go do przenoszenia sieci pomiędzy strukturami, a programiści do wdrażania sieci w silnikach wnioskowania. Sprytnie rozwiąże oba problemy, tworząc sposób opisywania sieci i ich wag niezależnie od struktur i implementacji.

© NNEF

Komentarze

Zauważ proszę, że komentarze krytyczne są jak najbardziej pożądane, zachęcamy do ich zamieszczania i dalszej dyskusji. Jednak komentarze obraźliwe, rasistowskie czy homofobiczne nie są przez nas akceptowane. Tego typu komentarze będą przez nas usuwane.
reklama
reklama
Załaduj więcej newsów
January 20 2018 13:29 V9.1.4-1